De temps en temps, j'ai besoin de mettre à jour un logiciel fonctionnant sur l'un de nos serveurs de test au travail (principalement Debian). Ce qui me déroute presque à chaque fois, c'est qu'il n'y a pas qu'une seule façon d'installer un logiciel. Aujourd'hui, j'avais besoin de mettre à niveau Coffeescript. Je ne savais pas comment il avait été installé au départ et donc pas comment le mettre à jour de la meilleure façon.
Il aurait pu être installé avec apt ou manuellement en clonant le projet github et en le construisant moi-même ou via le gestionnaire de paquets nodejs npm. Après avoir lutté avec cela et jeté manuellement tous les fichiers et répertoires liés à coffeescript, j'ai réussi à faire une nouvelle installation. Mais ensuite, je voulais utiliser une commande coffeescript qui avait besoin que nodejs 0.6 et 0.4 soit installé.
Alors, laissez les jeux recommencer!
Nodejs a-t-il été installé manuellement? Ou en paquet? Ou a-t-il été mis là par Dieu? Je ne sais pas.
Je me demande donc s'il existe une stratégie simple pour mettre à jour le logiciel installé lorsque vous ne savez pas vraiment comment il a été initialement installé? Quelles sont les meilleures approches ici?
Réponses:
Il y a une règle simple que vous devez suivre, qui résoudra la plupart des cas:
De cette façon, si un fichier se trouve dans la zone gérée par le gestionnaire de packages, vous savez qu'il provient d'un package. Si ce n'est pas le cas, vous savez que vous l'avez installé manuellement.
Vous devriez vous en tenir aux packages fournis par votre distribution chaque fois que possible. N'installez des packages tiers que si vous avez un besoin documenté de fonctionnalités non fournies par la distribution. «Je veux avoir la dernière version» n'est pas une justification valable. Si vous installez des packages tiers, notez où vous les avez obtenus et archivez les packages (
.rpm
ou.deb
fichiers) quelque part. Privilégiez les sources apt ou yum sur des téléchargements Web aléatoires.Utilisez stow ou xstow pour les programmes que vous installez manuellement.
Utilisez etckeeper pour rester
/etc
sous contrôle de version . Engagez-vous chaque fois que vous apportez une modification, avec un message significatif.Si vous avez rencontré une situation où vous avez fait les choses de façon sale et avez perdu la trace de l'origine d'un logiciel:
la source
Je peux vous suggérer d'utiliser le
puppet
pour suivre le logiciel installé sous Linux.Puppet, un moteur d'administration automatisé pour vos systèmes * nix, effectue des tâches administratives (telles que l'ajout d'utilisateurs, l'installation de packages et la mise à jour des configurations de serveur) sur la base d'une spécification centralisée.
Vous pouvez renvoyer le lien
la source
Si vous installez un package à l'aide d'apt-get, tous les packages dépendants seront installés par eux-mêmes car apt-get résout toutes les dépendances.
Dans mon cas, j'essaie d'installer chaque paquet par ligne de commande en utilisant apt-get dans la mesure où le paquet est là dans les référentiels Ubuntu. S'il n'est pas présent dans leur référentiel, vous devez lire le manuel d'installation de cet utilitaire et l'installer selon que l'utilitaire utilise Makefile ou autre chose.
la source