• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Inhalte vom alten Homeverzeichnis in neues kopieren mit rsync.

Hallo, ich möchte einige Verzeichnisse aus /home wie z.B. Dokumente und Downloads von meiner alten Installation von Festplatte 1 auf meine neue Installation auf Festplatte 2 mit rsync kopieren. Die Dateien der alten Installation sollen dabei NICHT gelöscht werden und die Dateiattribute sollen so erhalten bleiben, daß ich den gewohnten Zugriff darauf behalte. Aktuell meldet Dolphin "Der Ordner ist leer", wenn ich mir das alte /home von meiner neuen Installation aus ansehen will.
 
Tja... ehrlich gesagt weiß ich das nicht. Das ist eine ganz normale Leap 15.3 Installation gewesen, ohne irgendwelche manuellen Eingriffe. Seit der Einführung von btrfs habe ich den Überblick über die Partitionen verloren.
 
Das alte /home-Verzeichnis ist noch so auf der alten Platte, wie es vom Installer angelegt wurde. Und nun möchte ich einige Verzeichnisse von dort in das neue /home-Verzeichnis kopieren. Ich habe mir zu diesem Zweck einmal grsync installiert aber da sind so viele Einstellungen möglich, deren Sinn ich teilweise nicht überschaue und das ist mir zu riskant. Deshalb würde ich mich über einen passenden Konsolenbefehl eines Experten freuen.
 
Das alte /home-Verzeichnis ist noch so auf der alten Platte, wie es vom Installer angelegt wurde. Und nun möchte ich einige Verzeichnisse von dort in das neue /home-Verzeichnis kopieren
Warum nicht die alte Festplatte anschließen, mounten und per Dateimanager kopieren?

Denn das neue /home/USERNAMEneu gehört dem USERneu mit der ID xxxxx, das alte /home/USERNAMEalt gehört dem USERalt mit der ID yyyy

So hab ich das immer gehandhabt, angeschlossenen, gemountet und per Dateimanager kopiert, nicht verschoben
 
Die alte Festplatte ist noch angeschlossen. Diese Festplatte kann ich in Dolphin auch mounten. Aber das /home-Verzeichnis ist angeblich leer. Sollte es eine eigene Partition sein, hätte ich eine entsprechende Meldung wie eine Aufforderung zum Mounten erwartet.
Wenn ich mit einem einfachen Kopieren auch die Rechte übernehme und die kopierten Dateien auch verifiziert werden, dann wäre es natürlich damit auch getan.
 

susejunky

Moderator
Teammitglied
Das alte /home-Verzeichnis ist noch so auf der alten Platte, wie es vom Installer angelegt wurde
Wenn das "alte" /home-Verzeichnis ein Subvolumen Deines ehemaligen "/"-Verzeichnisses war (d.h. in Deiner "alten" /etc/fstab findet sich eine Zeile mitUUID=xxxxxx /home btrfs subvol=/@/home) und Du das "alte" Subvolume /home in Deinen aktuellen Verzeichnisbaum eingebunden hast (z.B. unter /mnt/Altes_Home), dann kannst Du mit cd /mnt/Altes_Home in Dein "altes" /home-Verzeichnis wechseln und mit
Code:
cp -a ...
Dateien und/oder Verzeichnisse in Deinen aktuellen Verzeichnisbaum kopieren (siehe man cp für die Option "-a").

Ähnliche Optionen für rsync wären:
Code:
-r ... rekursiv durch Unterverzeichnisse

-l ... kopiere symbolische Links

-H ... erhalte Hard-Links

-o ... erhalte den Besitzer

-g ... erhalte die Gruppe

-p ... erhalte die Zugriffsrechte

-t ... erhalte Änderungszeit

-U ... erhalte Zugriffszeiten

-N ... erhalte Erstellungszeit
oder man rsync für weitere Optionen.

Diese Festplatte kann ich in Dolphin auch mounten.
Wie hast Du das gemacht?
 
Zuletzt bearbeitet:
Wie hast Du das gemacht?
Bei mir erscheinen in Dolphin links 3 Geräte. Die nicht gemounteten Geräte (=Festplatten) haben ein kleines rotes Symbol. Da klicke ich drauf und es wird eine Legitimierung zum Einhängen abgefragt. Nach Eingabe des Passwortes ist sie gemountet. Beim Anklicken von /home passiert das leider nicht.

Ich habe in die fstab der alten Platte geschaut, danach ist /home tatsächlich ein Subvolume. Da muß ich mich wohl mal einlesen was das bedeutet und wie ich den Inhalt in Dolphin angezeigt bekomme.
 

susejunky

Moderator
Teammitglied
Da muß ich mich wohl mal einlesen was das bedeutet und wie ich den Inhalt in Dolphin angezeigt bekomme.
Das ist sicherlich ein guter Ansatz. Wenn ich das richtig in Erinnerung habe, dann unterscheidet sich die btrfs-Nutzung bei openSUSE allerdings in Details von der allgemein üblichen.

Ohne jegliche Garantie auf Erfolg könntest Du versuchen:
Code:
mount -o subvol=/@/home /dev/xxx /mnt/Altes_Home
Dabei muss /dev/xxx durch den Gerätenamen des Geräts ersetzt werden, auf dem sich Deine alte "/" befindet und /mnt/Altes_Home muss vorhanden sein.

Am besten wäre es natürlich, wenn sich jetzt noch ein openSUSE-btrfs-Kundiger hier einbringen würde.
 
Oben