Dateisystem wechseln

Antworten
Nachricht
Autor
gogo

Dateisystem wechseln

#1 Beitrag von gogo » 30. Jul 2006 21:06

Hi,

ich möchte das Dateisystem meiner Linux-Installation wechseln (die Partition bei der Gelegenheit gleich mit).

Das hier müsst doch eigentlich schon ausreichen ....?!

Code: Alles auswählen

# cd /
# cp --archive * /mnt/new_system/
Habt ihr eine bessere Lösung? Könnte es Probleme geben?

Danke!
gogo

Benutzeravatar
Janka
Beiträge: 3585
Registriert: 11. Feb 2006 19:10

#2 Beitrag von Janka » 30. Jul 2006 21:34

Ja, es kann Probleme geben, denn Dateien mit Hardlinks werden so zu zwei (oder noch mehr) getrennten Dateien.
Solch problematische Kandidaten findet man *vor* dem Kopieren mittels

Code: Alles auswählen

find / ! -type d -links +1
heraus. Dann mittels "ls -i" heraussuchen, welche Dateinamen zur selben Inode gehören, und diese dann in der Kopie mit rm und ln (ohne -s) wieder richtig zusammenbasteln.

Achso: Außerdem kopierst du so wie du es vorgeschlagen hast evtl. vorhandene die .*-Dateien im Hauptverzeichnis nicht mit.

Nachtrag: Der folgende Einzeiler vereinfacht die Suche etwas.

Code: Alles auswählen

find / -xdev ! -type d -links +1 -printf "%i %p\n" | sort
Janka
Zuletzt geändert von Janka am 30. Jul 2006 21:48, insgesamt 2-mal geändert.
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

klopskuchen
prolinux-forum-admin
Beiträge: 1444
Registriert: 26. Jun 2004 21:18
Kontaktdaten:

#3 Beitrag von klopskuchen » 30. Jul 2006 21:36

Befindet sich alles auf einer Partition? Dann geht es mit cp -a /alt /neu schmerzlos.
Auf der neuen Partition muß dann der Eintrag für das root-Dateisystem in der Datei /etc/fstab und die Konfigurationsdatei des Bootloaders angepasst werden. (Wenn du mit lilo bootest, muß der neu geschrieben werden.)

MfG, Klopskuchen

edit
@Janka
Danke für den Hinweis. An so etwas hab ich nie gedacht und ich hab schon einiges zwischen Partitionen umhergeschaufelt. Habs gerade mal probiert, ein Verzeichnis mit einer Datei die zwei Namen (also Links) hat auf eine andere Partition kopiert. Ergebnis: Zwei Links-> eine Inode. Hast du schon andere Ergebnisse bekommen?
When all else fails, read the instructions .

Benutzeravatar
Janka
Beiträge: 3585
Registriert: 11. Feb 2006 19:10

#4 Beitrag von Janka » 30. Jul 2006 21:58

Hm. "Früher ging das nicht"(tm).

Kann sein, dass cp über --preserve=links es inzwischen selbst herausfinden kann, wenn eine normale Datei mehrere Hardlinks hat, und vor allem welche Dateinamen alle dazugehören. Dazu muss cp während des Kopierens selbst Buch über die Inodes der Problemkandidaten führen.

Das klappt demnach auch nur, wenn man alle Dateinamen in einen einzigen cp -a-Lauf erwischt. Also aufpassen!

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Benutzeravatar
Lateralus
prolinux-forum-admin
Beiträge: 1238
Registriert: 05. Mai 2004 7:35

#5 Beitrag von Lateralus » 31. Jul 2006 8:01

Warum nicht ein

Code: Alles auswählen

tar -cO --exclude /mnt/new_system / | tar -x -C /mnt/new_system
(oder so in der Art - hab's jetzt nicht getestet)? Das erledigt sämtliche Probleme mit Links.

gogo

Dateisystem wechseln

#6 Beitrag von gogo » 31. Jul 2006 21:00

Hi,

danke für eure Vorschläge, ich werde es damit versuchen!

Grüße
gogo

petameta
prolinux-forum-admin
Beiträge: 1294
Registriert: 14. Feb 2003 13:19

#7 Beitrag von petameta » 01. Aug 2006 9:32

Ich hatte bei der "cp -a"-Methode noch nie Probleme, obwohl ich schon viele root-Partitionen verschoben habe. Ich werde mir trotzdem den Tip mit tar mal merken, vielen Dank !

Nur ne kleine Anmerkung: Das sollte man nicht im laufenden Betrieb machen, sondern besser von ner Live-CD booten und die alte und neue root-Partition mounten und dann kopieren.

Antworten