Das Erscheinen von Ubuntu Karmic Koala habe ich zum Anlass genommen, meinen Rechner komplett neu aufzusetzen, um Balast loszuwerden. Dabei habe ich natürlich vorher ein Backup gemacht, um später wieder auf meine alten Daten und Konfigurationsdateien zugreifen zu können. Doch leider reicht es nicht, die Dateien mit cp oder rsync an die entsprechende Stelle im System zu kopieren, denn oft stimmen die User- und GruppenIDs im neuen System nicht mit dem alten überein, so dass man sie anpassen muss. Folgende Befehle ändern die alte UserID 118 in die neue UserID 114 bzw. die alte GroupID 130 in 122 ab:
sudo chown -R --from=118 114 *
sudo chown -R --from=:130 :122 *
Insgesamt sieht meine Vorgehensweise dann so aus, dass ich im ersten Schritt die Dateien mit rsync in ein temporäres Verzeichnis kopiere, wobei die Berechtigungen auch kopiert werden:
rsync -avHAX --progress /backup/path /tmp/path
Dann passe ich die Berechtigungen an mit obigen Befehlen und verschiebe schließlich das Verzeichnis ans Ziel
mv /tmp/path/* /target/path
Der Zwischenschritt mit dem Verzeichnis /tmp ist nur nötig, wenn man neue und alte Dateien in einem Verzeichnis vermischt.
Den Stress kannst du dir sparen, wenn du ein Archiv cpio/tar benutzt und nicht die uid/gid erhältst, sondern die Namen. (ist glaube sogar der Standardfall)
Hätte ich das bloß vorher gewusst..
Hallo!
Vielen Dank für den Tip! Wie hast du allerdings die UID und GID der alten Dateien herausgefunden? Oder wusstest du sie?
Für die neue Installation hiflt ja „id“ weiter aber wie erhalte ich die alten UIDs und GIDs?
Danke!
Tim
Da ich ein komplettes Backup von meinem System gemacht habe, kann ich einfach in den Dateien /etc/passwd und /etc/group nachschauen, was sich hinter der alten uid bzw. gid verbirgt.