Albert Einstein Zitat
Wahnsinn: Immer wieder dasselbe tun und unterschiedliche Ergebnisse erwarten
Oft-Zeiten, Linux macht mich verrückt , weil ich die gleiche Sache immer und immer wieder mache und immer unterschiedliche Ergebnisse von Box zu Box. (Siehe meine vorherige Frage ).
Für mich besteht die größte Verwirrung darin, einen Computer zu übernehmen, den jemand anderes installiert hat (wie dies bei der Anmeldung bei einem Webhosting-Unternehmen der Fall ist). Sie wissen einfach nicht, womit Sie es zu tun haben.
Gibt es eine Art cleveres Diff-Tool , das ich unter einer Linux-Installation (Ubuntu) ausführen kann, um mir einen Überblick darüber zu geben, wie dieser Computer von der Standardinstallation abgewichen ist?
dh etwas, das mir eine Liste der Befehle zeigen kann, die sich überraschend verhalten werden, wodurch ein Versuch-und-Irrtum-Ansatz vermieden wird.
Antworten:
Immer wenn ich ein gutes Referenzsystem habe und ein schlechtes, versuche ich, sie mit vimdiff zu vergleichen. Was ich vergleiche, hängt vom Problem ab, z
1) Beim Vergleich von Servern auf Paketebene erstelle ich sortierte Paketlisten auf jedem Server, sende die Ergebnisse an Dateien und verteile sie, z
Auf Server1:
Auf Server2:
Kopieren Sie beide Dateien auf denselben Computer und diff (oder vimdiff) sie.
2) Erstellen Sie eine Liste der ausgeführten Dienste wie in Beispiel 1
... etc. und vimdiff die.
3) Wenn Sie beispielsweise inkonsistente Konfigurationen mit Apache beheben, erstellen Sie Kopien der Konfigurationsdateien und vimdiff diese usw.
quelle
/etc
Versionskontrolle zu stellen, damit Sie den Überblick behalten, was gerade passiert.etckeeper
werde das für dich tun.Die meisten Unterschiede zwischen zwei Installationen derselben Distribution bestehen darin
/etc
. Kopieren Sie den Inhalt/etc
von einem Computer in ein temporäres Verzeichnis auf dem anderen und führen Sie ihn ausWenn Sie eine Maschine mit einer Standardinstallation vergleichen möchten, erhalten Sie eine Kopie einer neuen Standardinstallation (möglicherweise in einer virtuellen Maschine).
Wenn Sie eine Maschine von Anfang an steuern können , müssen Sie etckeeper installieren , um die
/etc
Versionskontrolle zu gewährleisten . Dann können Sie genau sehen, was sich geändert hat.Natürlich wird es viele Unterschiede geben. Wenn Sie noch keine Vorstellung davon haben, wo Sie suchen sollen, ist dies der falsche Ansatz, um einen bestimmten Unterschied im Verhalten zu untersuchen. Angenommen, der Befehl
adduser
verhält sich auf zwei Computern unterschiedlich. Dann ist der beste Ansatz zu sehen, wasadduser
tut; Führen Sie es auf beiden Computern aus und vergleichen Sie es. Wenn es eine Option gibt, die besagt, dass es ausführlicher sein soll (adduser
nicht), verwenden Sie es. Führen Sie das Programm radikaler aus , zum zu sehen, auf welche Dateien
adduser
zugegriffen wird.quelle
Um auf eine frühere Frage zurückzukommen, muss Ihr geschicktes Tool, das für mich nach einer guten Idee klingt, aber ich habe noch nie von einem solchen Tier gehört, Dinge wie den Typ und die Größe des Dateisystems überprüfen.
Ein Beispiel aus dem wirklichen Leben, das mir im Jahr 2002 passiert ist: Zwei Personen haben SuSE 7.3-Systeme auf zwei benachbarten Rack-Servern installiert. Sie haben sich viel Mühe gegeben, um die Pakete auf beiden Servern genau gleich zu machen. Kurze Zeit später hatten wir Probleme mit Software in der Entwicklung. Es ging um das ext3-Dateisystem auf einem Server, Reiserfs auf dem anderen. Ein einfaches "ls" in Reiserfs gibt Dateinamen in lexikalischer Reihenfolge an, jedoch nicht in ext3. Ein Programm ist bei Dateinamen fehlgeschlagen.
quelle
Für Dateien, Benutzer, Gruppen, Pakete, Dienste usw. habe ich http://www.scriptrock.com verwendet . Es ist für einige Server kostenlos und bietet Ihnen einen schönen visuellen Vergleich der Unterschiede zwischen den Servern. Sehr praktisch für Drift
quelle