19.03.2024, 11:11 UhrDeutsch | English
Hallo Gast [ Registrierung | Anmelden ]

Home-Verzeichnis nachträglich auf eine andere Partition verschieben


Will man das Home-Verzeichnis nachträglich auf einer anderen Partition anlegen, um z. B. die neue Kanotix-Ausgabe auf Platte zu installieren, ohne die alten User-Datenbestände zu überschreiben (z. B. kmail-Mails, channels.conf, etc.), bieten sich mehrere Vorgehensweisen an:

Wir nehmen mal an, das /home-Verzeichnis soll nach hda6 umziehen:

1. Variante

Wir mounten die neue Partition und binden sie als test-Partition ein

mkdir -p /mnt/test
mount /dev/hda6 /mnt/test

Wir kopieren den gesamten Inhalt des zuverschiebenden Home-Verzeichnisses nach test

cp -a -x /home/* /home/.* /mnt/test

Anmerkung: das -x ist dann notwendig, wenn andere Partitionen eingehängt sind!

Wir lösen die test-Partition aus dem Filesystem

umount /mnt/test

Wir mounten unsere hda6-Partition und binden sie als /home in das System ein

mount /dev/hda6 /home

und wir ändern in der /etc/fstab den Eintrag

/dev/hda6 /home reiserfs auto,users,exec 0 2

Falls der Einhängepunkt /home noch nicht angelegt wurde, kann man ihn schnell erstellen mit

mkdir /home

Vorsichtshalber sollten wir noch überprüfen, dass auf der neuen Partition auch nur der user-Ordner angelegt wurde. Im Stammverzeichnis von /dev/hda6? sollte also nur /user stehen und nicht /home/user.

Dank an x-un-i, HamstaMan, Severin, Boregard und Albatros !


2. Variante (von bluelupo)

Wir gehen davon aus, dass die neue Partition erst noch erstellt werden muss.

Als erstes wird die neue Partition (hda6) mit fdisk angelegt. Dazu rufen wir als root in der Konsole

fdisk /dev/hda

auf. Durch Drücken der p-Taste erhalten wir die Partitionstabelle. Die Taste m ruft die Hilfe-Funktion auf. Eine neue Partition wird mit der Taste n angelegt. Folgende Abfrage ist jetzt zu sehen:

Befehl (m für Hilfe): n 
Befehl  Aktion 
   l      Logische Partition (5 oder größer) 
   p      Primäre Partition (1-4)

Mit l legen wir eine log. Partition an. Den ersten Startzylinder können wir übernehmen. Die Größe der neuen Partition geben wir mit +2048M (für 2 Gbyte) an. Wenn alles passt, drücken wir die Taste w um die geänderte Partitionstabelle zu schreiben. Mit q verlassen wir das Programm.

Um die neue Partition nutzen zu können, müssen wir noch ein Filesystem darauf anlegen. reiserfs ist hier die erste Wahl:

mkreiserfs /dev/hda6:code:

Wir erstellen zunächst das Verzeichnis /home_neu mit

mkdir /home_neu

Wir mounten die neue Partition mit dem Kommando

mount /dev/hda6 /home_neu

Mit

df -h

können wir das Ergebnis sehen. Wir verlassen mit init 3 den KDE, um den folgenden Kopiervorgang nicht unnötig zu stören (evtl. offene Files im /home). Nun kopieren wir die Daten aus dem "alten" Home (/home) ins "neue" Home (/home_neu). Man beachte den SPACE zw. den beiden Bindestrichen !

tar -cSpf - /home | tar -xvSpf - -C /home_neu

Danach benennen wir das alte home zur Sicherheit erst mal um zu home_orig

mv /home /home_orig

Wir machen /home_neu zu home

mv /home_neu /home

Mit einem

df -h

sehen wir das neue Home schon mit den kopierten Daten. Jetzt müssen wir noch das neue Home dauerhaft in die /etc/fstab einbinden. Dazu fügen wir die Zeile in /etc/fstab ein

/dev/hda6              /home        reiserfs      defaults,auto                 0  2

Auch bei dieser Variante sollte man noch einmal überprüfen, ob der Einhängepunkt /home auch wirklich angelegt ist und dass auf /dev/hda6 nur der user-Ordner im Stammverzeichnis erstellt wurde ( also /user und nicht /home/user).

Dank an bluelupo


3. Variante

Nachdem ich mit den ersten 2 Varianten mächtige Probleme hatte bzgl. der anschließenden Rechte. habe ich es folgendermaßen durchgeführt (Die Bluelupo Variante führte bei mir automatisch immer dazu, daß nicht nur das user Verzeichnis angelegt wurde, sondern immer /home/user was ja vermieden werden sollte).

Angenommen das neue Homeverzeichnis soll nun auf hdc5 installiert werden. Dann einfach das user-Verzeichnis (nur das!) mit (man befindet sich mit Strg F5 auf einer Konsole und hat als root mit cd /home ins Homeverzeichnis gewechselt.)

tar -cvf /mnt/hdc5/user.tar ./user

auf hdc5 erstellen. Dort mit

tar -xvf user.tar

entpacken. Das user.tar kann später gelöscht werden. Nun wie unter den ersten Varianten schon erwähnt, ist die Zeile in /etc/fstab einzufügen

/dev/hdc5              /home        reiserfs      defaults,auto                 0  2

Die alte Zeile zum Mounten des /dev/hdc5? auskommentieren. Immer noch in der Konsole mit

shutdown -r now

einen Restart machen.

Nun sollte alles wie gewohnt laufen.
Wenn nicht, kein Problem. In eine Konsole wechseln und die ürsprünglichen fstab-Einträge wieder vornehmen. Daher besser erst nur auskommentieren. Wenn es geklappt hat, müssen wir noch den alten user im ürsprünglichen /home löschen.

Das geht jetzt natürlich nicht mehr aus dem laufenden System, da /home ja immer auf die neue Partition verweist. Ich habe den alten user mit Zugriff von der
LiveCD gelöscht.
Das /home Directory aber belassen!! Das ist ja der Mountpunkt für /dev/hdc5.

harry4bo


zurück

XML Revisions of $tag
Seiten-History :: Letzter Editor : RoEn :: Eigentümer : RoEn ::
Powered by pnWikka 1.0
 
 
Deutsch | English
Logos and trademarks are the property of their respective owners, comments are property of their posters, the rest is © 2004 - 2006 by Jörg Schirottke (Kano).
Consult Impressum and Legal Terms for details. Kanotix is Free Software released under the GNU/GPL license.
This CMS is powered by PostNuke, all themes used at this site are released under the GNU/GPL license. designed and hosted by w3you. Our web server is running on Kanotix64-2006.