Hin und wieder muss ich eine Software aktualisieren, die auf einem unserer Testserver bei der Arbeit ausgeführt wird (meistens Debian). Was mich fast jedes Mal wirklich verwirrt, ist die Tatsache, dass es nicht nur einen Weg gibt, Software zu installieren. Heute musste ich Coffeescript aktualisieren. Ich wusste nicht, wie es ursprünglich installiert wurde und daher nicht, wie ich es am besten aktualisieren kann.
Es könnte mit apt oder manuell installiert worden sein, indem das github-Projekt geklont und alleine oder über den Paketmanager npm von nodejs erstellt wurde. Nachdem ich damit zu kämpfen hatte und alle Coffeescript-bezogenen Dateien und Verzeichnisse manuell weggeworfen hatte, gelang es mir, eine Neuinstallation durchzuführen. Aber dann wollte ich einen Coffeescript-Befehl verwenden, der die NodeJS 0.6 und 0.4 benötigt.
Also, lass die Spiele wieder beginnen!
Wurde nodejs manuell installiert? Oder als Paket? Oder wurde es von Gott dorthin gebracht? Ich weiß es nicht.
Ich frage mich also, ob es eine einfache Strategie gibt, installierte Software zu aktualisieren, wenn Sie nicht wirklich wissen, wie sie ursprünglich installiert wurde. Was sind hier die besten Ansätze?
Antworten:
Es gibt eine einfache Regel, die Sie befolgen sollten, um die meisten Fälle zu lösen:
Wenn sich eine Datei in dem vom Paketmanager verwalteten Bereich befindet, wissen Sie auf diese Weise, dass sie aus einem Paket stammt. Wenn nicht, wissen Sie, dass Sie es manuell installiert haben.
Sie sollten sich nach Möglichkeit an die von Ihrer Distribution bereitgestellten Pakete halten. Installieren Sie Pakete von Drittanbietern nur, wenn Sie einen dokumentierten Bedarf an Funktionen haben, die nicht von der Distribution bereitgestellt werden. "Ich möchte die neueste Version haben" ist keine gültige Begründung. Wenn Sie Pakete von Drittanbietern installieren, notieren Sie sich, woher Sie sie haben, und archivieren Sie die Pakete (
.rpm
oder.deb
Dateien) irgendwo. Privilegierte oder leckere Quellen für zufällige Web-Downloads.Verwenden Sie stow oder xstow für die Programme, die Sie manuell installieren.
Verwenden Sie etckeeper , um die
/etc
Versionskontrolle zu behalten . Übernehmen Sie bei jeder Änderung eine aussagekräftige Nachricht.Wenn Sie in eine Situation geraten sind, in der Sie Dinge auf schmutzige Weise getan haben und den Überblick verloren haben, woher eine Software stammt:
quelle
Ich kann Ihnen vorschlagen, die
puppet
zum Verfolgen der installierten Software unter Linux zu verwenden.Puppet, eine automatisierte Verwaltungs-Engine für Ihre * nix-Systeme, führt Verwaltungsaufgaben (z. B. Hinzufügen von Benutzern, Installieren von Paketen und Aktualisieren von Serverkonfigurationen) basierend auf einer zentralisierten Spezifikation aus.
Sie können auf den Link verweisen
quelle
Wenn Sie ein Paket mit apt-get installieren, werden alle abhängigen Pakete von selbst installiert, da apt-get alle Abhängigkeiten auflöst.
In meinem Fall versuche ich, jedes Paket über die Befehlszeile mit apt-get zu installieren, sofern sich das Paket in den Ubuntu-Repositorys befindet. Wenn es nicht in ihrem Repository vorhanden ist, müssen Sie das Installationshandbuch dieses Dienstprogramms lesen und es basierend darauf installieren, ob das Dienstprogramm Makefile oder etwas anderes verwendet.
quelle