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
Wir mounten unsere hda6-Partition und binden sie als /home in das System ein
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
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
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
Wir mounten die neue Partition mit dem Kommando
mount /dev/hda6 /home_neu
Mit
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
Wir machen /home_neu zu home
Mit einem
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
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
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