Verzeichnis verschieben
Inhaltsverzeichnis
Ziel
Man möchte bei bereits installiertem System ein Verzeichnis (z.B. /usr) auf eine eigene Festplatte bzw. Partition legen. Dafür sollen natürlich alle Dateiattribute erhalten bleiben.
Vorgehen
Um diese Schritte durchführen zu können, muss man root sein.
Zuerst mountet man die freie Partition (z.b. /dev/hdb2) in ein beliebiges freies Verzeichnis, z.B. /mnt und wechselt dann in das Verzeichnis /usr.
# mount /dev/hdb2 /mnt
# cd /usr
Nun kopiert man den Inhalt von /usr nach /mnt. Um die Dateiattribute zu erhalten macht man einen Trick mit dem Programm tar.
tar cSpf - . | (cd /mnt && tar xvSpf - )
Dies kann einige Zeit dauern. Natürlich dürfen in dieser Zeit keine Schreibzugriffe auf /usr stattfinden. Im Zweifelsfall sollte man lieber in den Single-User-Runlevel wechseln.
Danach verschiebt man /usr nach /usrold und mountet anschliessend /dev/hdb2 nach /usr.
# umount /mnt
# mv /usr /usrold
# mount /dev/hdb2 /usr
Man kann nun direkt mit dem System weiterarbeiten.
Zuletzt muss man natürlich die neue Partition in die /etc/fstab eintragen.
/dev/hdb2 /usr ext2 defaults 1 1
Das Verzeichnis /usrold kann man löschen, sobald man sich davon überzeugt hat, dass alles funktioniert.
Folgen
Die Performance des Systems sollte sich durch die Verteilung auf zwei Platten spürbar verbessert haben.
Quelle
- Handbuch SuSE-Linux 6.1, S. 51 f
- man tar