2 Filesysteme miteinander vergleichen
2 Filesysteme miteinander vergleichen
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
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
Re: 2 Filesysteme miteinander vergleichen
Beeep, Metafrage! Nenne deinen Aufruf und was dann (nicht) passiert.wihe hat geschrieben:Hat jemand Ahnung von rsync
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 . 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)
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
Re: 2 Filesysteme miteinander vergleichen
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
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
Re: 2 Filesysteme miteinander vergleichen
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).
Re: 2 Filesysteme miteinander vergleichen
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.
Ich will wissen, warum es auf dem schwächeren nicht läuft.
Re: 2 Filesysteme miteinander vergleichen
rsync will Quelle und Ziel haben, sonst verhaelt es sich nicht viel anders als ls. Ich stelle mir etwas vor wieWenn 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
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
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
Re: 2 Filesysteme miteinander vergleichen
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?
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?
Re: 2 Filesysteme miteinander vergleichen
Demnach hast du mount vermutlich ein Image inklusive MBR vorgesetzt. Schreib' mal hin, was du auf der Kommandozeile getippt hast.wihe hat geschrieben:Ich hab jetzt das Problem, dass er mir sagt "specify the filesystem" aber dafür finde ich keinen passenden Parameter.
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.wihe hat geschrieben:Aber trotzdem ändern sich ja auch auf Festplatte ständig die Daten. Wie soll ich die dann sinnvoll vergleichen können?
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
Re: 2 Filesysteme miteinander vergleichen
Code: Alles auswählen
mount /dev/sda1 /media/vm0
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.
Re: 2 Filesysteme miteinander vergleichen
gibt es denn fehlermeldungen oder sonst etwas wenn du versuchst es zu installieren? Und was ist es für ein Prgrammm.wihe hat geschrieben:Ich will wissen, warum es auf dem schwächeren nicht läuft.
Debian-Nutzer
ZABBIX Certified Specialist
ZABBIX Certified Specialist
Re: 2 Filesysteme miteinander vergleichen
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
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
Re: 2 Filesysteme miteinander vergleichen
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.
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.
Re: 2 Filesysteme miteinander vergleichen
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.
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.
Re: 2 Filesysteme miteinander vergleichen
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.
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.
Re: 2 Filesysteme miteinander vergleichen
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.
Re: 2 Filesysteme miteinander vergleichen
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.
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.
Re: 2 Filesysteme miteinander vergleichen
meine mail gelesen?
Debian-Nutzer
ZABBIX Certified Specialist
ZABBIX Certified Specialist