2 Filesysteme miteinander vergleichen

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
wihe
Beiträge: 8
Registriert: 14.01.2013 14:12:03

2 Filesysteme miteinander vergleichen

Beitrag von wihe » 14.01.2013 14:19:32

Hallo alle zusammen,

ich habe 2 Systeme mit versch. Hardware (virtuelle Maschinen). Auf der einen klappt die Installation der Software (Leistungsfähiger), auf der anderen nicht.
Ich will nun herausfinden, warum die Installation abbricht und an welcher Stelle. Dazu will ich beide Systeme miteinander vergleichen, auf Software-Ebene.
Dazu meinte ein Kollege rsync könnte eine checksumme über das ganze filesystem bilden und mit der checksumme über das ander filesystem vergleichen; wenn diese dann differiert, würde rsync auch die Unterschiede angeben.
Leider klappt das bei mir nicht so, wie ich mir das vorstelle.
Hat jemand Ahnung von rsync oder eine andere Idee, beide Systeme miteinander zu vergleichen?

Bitte keine Antworten wie "Die manpage hilft weiter", aus der werde ich auch nicht wirklich schlauer. ;)

Danke im voraus :)

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: 2 Filesysteme miteinander vergleichen

Beitrag von Cae » 14.01.2013 14:42:26

wihe hat geschrieben:Hat jemand Ahnung von rsync
Beeep, Metafrage! Nenne deinen Aufruf und was dann (nicht) passiert.

Ich wuerde ebenfalls rsync empfehlen. Du mountest beide FS' irgendwo hin und rsync'st das eine auf das andere. Dabei verwendest du die Flags -cnv, um grundsaetzlich Pruefsummen zu verwenden, nichts zu schreiben und ausfuehrlichen Output zu erhalten. Die Flags sind genauer in der Manpage beschrieben :P. Damit solltest du einen Vorgeschmack bekommen.

Sonst gibt es noch diff -R, was aber richtig viel Output geben koennte.

In beiden Faellen arbeitest du mit den Dateien innerhalb der (read-only) gemounteten Dateisysteme. Die Dateisysteme oder Partitionen selbst zu vergleichen duerfte keinen Sinn ergeben, weil der Bezug zu den letztendlichen Nutzdaten (Dateiinhalte) kaum gegeben ist. Gehen wuerde das in einer Bash mit

Code: Alles auswählen

# diff <(hd -v /dev/sda1) <(hd -v /dev/sdb1)
fuer /dev/sd{a,b}1.

Willkommen im Forum!

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

wihe
Beiträge: 8
Registriert: 14.01.2013 14:12:03

Re: 2 Filesysteme miteinander vergleichen

Beitrag von wihe » 14.01.2013 14:52:49

Erstmal danke.
Aber mit -cnv bekomme ich weder eine checksumme noch einen "vernünftigen output".
Er gibt mir lediglich die Gesamtgröße aller Daten an, die sich in dem Verzeichnis befinden.

Und was meintest du mit "irgendwo hin mounten" ?

Danke wieder im voraus ;)

uname
Beiträge: 12468
Registriert: 03.06.2008 09:33:02

Re: 2 Filesysteme miteinander vergleichen

Beitrag von uname » 14.01.2013 14:57:17

Ich denke der Ansatz ist falsch. Löse doch das eigentliche Problem. Welches Programm willst du überhaupt installieren und vor allem woher (Debian-Paket oder sonstwas).

wihe
Beiträge: 8
Registriert: 14.01.2013 14:12:03

Re: 2 Filesysteme miteinander vergleichen

Beitrag von wihe » 14.01.2013 15:00:47

Das Programm lässt dich ja auf dem Leistungsfähigeren System installieren, das ist ja nicht das Problem.
Ich will wissen, warum es auf dem schwächeren nicht läuft.

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: 2 Filesysteme miteinander vergleichen

Beitrag von Cae » 14.01.2013 15:02:26

rsync will Quelle und Ziel haben, sonst verhaelt es sich nicht viel anders als ls. Ich stelle mir etwas vor wie

Code: Alles auswählen

# mkdir /media/vm0 /media/vm1
# mount /dev/sda1 /media/vm0                                     # "irgendwo hin mounten"
# mount /dev/sdb1 /media/vm1                                     # "irgendwo hin mounten"
# rsync -nvc /media/vm0/ /media/vm1/ >log 2>&1; less log
# diff -R /media/vm0/ /media/vm1/ >differences; less differences # alternativ
Wenn du einen echten Diff haben willst, musst du auch diff nehmen.

Falls dein Problem schon darin besteht, die Dateisysteme zu mounten, weil die Images noch die Partitionstabelle enthalten, schau' nach mount -o offset=. Falls sie im LVM liegen oder per iSCSI ausgeliefert werden, ist dies nicht noetig.

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

wihe
Beiträge: 8
Registriert: 14.01.2013 14:12:03

Re: 2 Filesysteme miteinander vergleichen

Beitrag von wihe » 14.01.2013 16:00:21

Danke für deine Antwort.
Ich hab jetzt das Problem, dass er mir sagt "specify the filesystem" aber dafür finde ich keinen passenden Parameter.
Theoretisch finde ich die Idee aber recht gut.
Aber trotzdem ändern sich ja auch auf Festplatte ständig die Daten. Wie soll ich die dann sinnvoll vergleichen können?

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: 2 Filesysteme miteinander vergleichen

Beitrag von Cae » 14.01.2013 16:16:24

wihe hat geschrieben:Ich hab jetzt das Problem, dass er mir sagt "specify the filesystem" aber dafür finde ich keinen passenden Parameter.
Demnach hast du mount vermutlich ein Image inklusive MBR vorgesetzt. Schreib' mal hin, was du auf der Kommandozeile getippt hast.
wihe hat geschrieben:Aber trotzdem ändern sich ja auch auf Festplatte ständig die Daten. Wie soll ich die dann sinnvoll vergleichen können?
Mit einem Snapshot. Nie am aktiven Image arbeiten, schon gar nicht ohne mount -r. Wenn du endlich mal verraten wuerdest, was du da getrieben hast und was fuer ein Umfeld das ist (z.B. LVM ja/nein), koennte man da auch spezifischere Aussagen machen koennen.

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

wihe
Beiträge: 8
Registriert: 14.01.2013 14:12:03

Re: 2 Filesysteme miteinander vergleichen

Beitrag von wihe » 14.01.2013 16:38:39

Code: Alles auswählen

mount /dev/sda1 /media/vm0
Habe ich mal (frei nach der Anleitung) eingetippt.

Was treibe ich:
Ich habe 2 Testsysteme mit 2 filesystemen, die ich miteinander vergleichen will. Bzw ich will herausfinden, wie sich die beiden Systeme unterscheiden. (Dateien, Ordner)
Ich habe ein blankes Debian squeeze. KA ob das LVM läuft oder nicht, sry.
Und ich muss am aktiven Image arbeiten, habe aber noch einen clone zur Sicherheit davon.

Colttt
Beiträge: 3012
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: 2 Filesysteme miteinander vergleichen

Beitrag von Colttt » 14.01.2013 17:30:43

wihe hat geschrieben:Ich will wissen, warum es auf dem schwächeren nicht läuft.
gibt es denn fehlermeldungen oder sonst etwas wenn du versuchst es zu installieren? Und was ist es für ein Prgrammm.
Debian-Nutzer :D

ZABBIX Certified Specialist

DeletedUserReAsG

Re: 2 Filesysteme miteinander vergleichen

Beitrag von DeletedUserReAsG » 14.01.2013 19:21:20

Ich stimme uname zu: dein Ansatz ist falsch. Fehlermeldung lesen und dort aufgezeigte(n) Fehler beheben wäre einer der richtigen Wege.

FS-Vergleiche könnten dir unter idealen Bedingungen (FS waren bis zum Installationsversuch identisch) auch nur sagen, an welcher Stelle die Paketverwaltung/der Installer/das Script/… (du verrätst ja nicht, worum es eigentlich geht) aufgegeben hat. Daraus auf eine Ursache schließen zu wollen erfordert wahrscheinlich eine Glaskugel der neueren Generation. Und die sind teuer.

cu,
niemand

wihe
Beiträge: 8
Registriert: 14.01.2013 14:12:03

Re: 2 Filesysteme miteinander vergleichen

Beitrag von wihe » 15.01.2013 09:28:39

Ok, also dann die komplette story:
Ich habe die Aufgabe, Zenoss 4.2.0 (es gibt kein Debian-Package dafür) auf Debian 6 zum laufen zu bringen.
Ich habe mir nun eine Anleitung genommen, die für eine Ubuntu-Installation geschrieben wurde, die aber funktionieren müsste, da es sich eigentlich nur um das erstellen von Usern und die Installation einiger packages handelt. (Dazu muss ich auch experimental und unstable Pakete nutzen).
Auf manchen Maschinen bricht er eben mit einem Java-compilation-error ab, auf manchen nicht.
Den Fehler zu lokalisieren und zu beheben klappt nur bedingt, da ich Java-compilter installiert habe und die auch mitlaufen bei der Installation.
Deshalb war jetzt die Idee, eben zu schauen, an welchen Stellen, sich die systeme unterscheiden (egal ob Soft- oder Hardware).
Und nein den Fehler kann ich jetzt im Moment nicht reproduzieren, um den exakten fehlercode zu posten.

uname
Beiträge: 12468
Registriert: 03.06.2008 09:33:02

Re: 2 Filesysteme miteinander vergleichen

Beitrag von uname » 15.01.2013 11:19:01

Ich empfehle nun folgenden Ansatz:

System wo die Installation funktioniert, jedoch noch nicht installiert wurde
- Backup erstellen (siehe unten)
- installieren
- Backup erstellen (siehe unten)

System wo die Installation scheitert, jedoch noch nicht installiert wurde
- Backup erstellen (siehe unten)
- installieren
- Backup erstellen (siehe unten)


Backup erstellen:
Ich erstelle Backpus mit meinem Script http://wiki.ubuntuusers.de/Skripte/Backup_mit_RSYNC . Gerne kannst du ein anderes Script nehmen oder auch nur die RSYNC-Befehle rausklauen. Wichtig ist vorher zu überlegen welche Ordner "interessant" für die Installation sind wie z.B. /usr, /etc/, /var um einige zu nennen.
Der erste Durchlauf dauert etwas ... was solls. Denk daran Platz z.B. unter /tmp oder sonstwo zu haben
Beim zweiten Durchlauf werden nur Änderungen erfasst. Im Logfile stehen diese Änderungen. Die Abweichung beider Logfiles (funkioniert/funktioniert nicht) könnte Aufschlüsse über das Problem geben, muss es aber nicht.

Alternativen:
Es gibt wohl Audit-Tools, die Änderungen an Dateien erkennen. Ich für meinen Fall nutze jedoch den "RSYNC-Trick" zum Erkennen von Änderungen.

wihe
Beiträge: 8
Registriert: 14.01.2013 14:12:03

Re: 2 Filesysteme miteinander vergleichen

Beitrag von wihe » 15.01.2013 16:18:17

Danke für die Antwort.
Das script sieht echt gut aus, ich werde wohl einen Teil davon benutzen, bzw die RSYNC Befehle.
Wenn ich damit nicht zum gewünschten Ziel komme, gehe ich mal komplett über alles mit deiner Backup Idee drüber.
Leider schreibt die Installation fast überall rein und installaiert auch so eine Menge Programme und Pakete nebenher, deshalb der scan über alles.

uname
Beiträge: 12468
Registriert: 03.06.2008 09:33:02

Re: 2 Filesysteme miteinander vergleichen

Beitrag von uname » 15.01.2013 16:25:22

Eigentlich sollte ein manuell zu installierndes Programm sich eher in /usr/local (oder /opt) breit machen. Mit etwas Glück kann man das konfigurieren. Das ist wichtig, da es sonst das gesamte System z.B. durch Überschreiben von Programmen zerstören kann. Unter /usr/bin kann es dann auch /usr/local/etc oder /usr/local/bin geben.

wihe
Beiträge: 8
Registriert: 14.01.2013 14:12:03

Re: 2 Filesysteme miteinander vergleichen

Beitrag von wihe » 16.01.2013 09:43:23

Es macht sich zwar auch da breit (/usr/local) aber auch im home des users "zenoss" der automatisch erstellt wird.
Sonstige Pfade habe ich noch nicht gefunden.
Leider stehe ich jetzt nach der Installation der VMware-Tools vor einem neuen Problem, was aber wieder eine andere Baustelle ist.
Ergibt mir einen Valueerror: unsupported hash type sha"xxx" aus... mal schauen wie ich das behoben bekomme.

Vielen Dank euch allen trotzdem. :)

Colttt
Beiträge: 3012
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: 2 Filesysteme miteinander vergleichen

Beitrag von Colttt » 16.01.2013 11:54:43

meine mail gelesen?
Debian-Nutzer :D

ZABBIX Certified Specialist

Antworten