Fwd: Unterschiede nach kopieren von /usr aus Root-Partition nach LVM Logical Volume
Thomas Könning
thomas at aiki-tux.de
Di Feb 10 21:14:26 CET 2015
Hallo,
hab die Ursache gefunden.
Die Kopie hatte etwa 350MB mehr als das Original.
Was, soweit ich es verstehe, daran liegt, dass im Original diverse
Hardlinks vorhanden sind.
Genauer gesagt findet der find-Befehl 3471 Dateien, die sich mit
mindestens einer Datei den inode teilen.
Und der einfache cp-Befehl kann scheinbar beim kopieren die Hardlinks
nicht als solche erhalten, sondern erzeugt für jeden Hardlink eine neue
Datei.
Wenn ich es richtig begriffen habe, sollte sich das Problem mit rsync
umgehen lassen.
Ich bin nur noch nicht sicher, welche Parameter-Kombination dafür nötig
ist.
Gruß
Thomas
-------- Weitergeleitete Nachricht --------
Betreff: Unterschiede nach kopieren von /usr aus Root-Partition nach
LVM Logical Volume
Datum: Fri, 06 Feb 2015 07:28:52 +0100
Von: Thomas Könning <thomas at aiki-tux.de>
An: lugrav at lug-owl.de
Hallo,
ich bin gerade dabei, meine Partitionierung auf LVM umzustellen.
Zur Zeit liegt das Verzeichnis /usr im Root-Filesystem.
Im LVM hätte ich dafür gerne eine eigene Partition.
Also habe ich die Daten unter /usr mir folgendem Befehl auf die nach
/mnt gemountete LVM-Partition kopiert:
cp -rp /usr/* /mnt/
Danach habe ich mit find für beide Verzeichnisse eine Liste der Inhalte
erstellt, und diese in eine Datei geschrieben:
find . -exec ls -lbd --full-time {} \;
Diese Liste habe ich dann mittels sed, awk und sort in eine für diff
vergleichbare Form gebracht.
Ich hätte erwartet, dass das Ergebnis des Vergleichs sein würde, dass
beide Verzeichnisse identische Inhalte haben.
Dem ist aber nicht so.
Hier ein Auszug der Ausgabe von diff:
4620c4620
< drwxr-xr-x root root 61440 include
---
> drwxr-xr-x root root 69632 include
46177c46177
< drwxr-xr-x root root 184320 lib
---
> drwxr-xr-x root root 176128 lib
47722c47722
< drwxr-xr-x root root 32768 lib32/wine
---
> drwxr-xr-x root root 36864 lib32/wine
47947c47947
< drwxr-xr-x root root 24576 lib32/wine/fakedlls
---
> drwxr-xr-x root root 20480 lib32/wine/fakedlls
56945c56945
< drwxr-xr-x root root 12288 lib/girepository-1.0
---
> drwxr-xr-x root root 4096 lib/girepository-1.0
diff findet ausschließlich Unterschiede bei Verzeichnissen, und es ist
immer nur der Zahlenwert.
Die Zahl in der Ausgabe ist die Angabe beim ls, die bei Dateien die
Dateigröße angibt.
Ich bin nur nicht sicher, was dieser Wert bei Verzeichnissen bedeutet.
Kann mir jemand erklären, wo die unterschiedlichen Werte bei den beiden
Filesystemen herkommen?
Ich habe Unterschiede der Filesystem-Konfiguration im Verdacht.
Daher habe ich für beide Filesysteme mit diff die Ausgabe von tune2fs -l
verglichen.
Hier die meiner Meinung nach interessanten Unterschiede:
13,17c13,17
< Inode count: 1281120
< Block count: 5121792
< Reserved block count: 51217
< Free blocks: 2595248
< Free inodes: 917991
---
> Inode count: 983040
> Block count: 3932160
> Reserved block count: 196608
> Free blocks: 1544560
> Free inodes: 624876
21c21
< Reserved GDT blocks: 1022
---
> Reserved GDT blocks: 959
24,25c24,25
< Inodes per group: 8160
< Inode blocks per group: 510
---
> Inodes per group: 8192
> Inode blocks per group: 512
Liegt hier die Erklärung für die Unterschiede?
Danke im Voraus.
Gruß
Thomas
Mehr Informationen über die Mailingliste Lugrav