Tags

No tags :(

Share it


Artikel für fortgeschrittene Anwender

Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Oft wird der Platz für die Daten zu eng auf der Festplatte. Ein Ausweg ist, die persönlichen Daten der einzelnen Benutzer auf eine extra Partition zu legen. Im Folgenden wird von dieser Situation ausgegangen:

  • Das /home-Verzeichnis liegt auf der Systempartition, es existiert also noch keine Home-Partition.
  • Eine leere Partition im ext3-Format (oder ext4) steht zur Verfügung. Wenn dies nicht der Fall ist, muss man zunächst eine solche Partition erstellen.

 

Hinweis:

Man kann hier statt ext3/ext4 auch ein anderes Linux-Dateisystem benutzen, welches Rechte unterstützt. FAT32 und NTFS sind damit explizit ausgeschlossen.

Vorgehensweise

Als erstes sollte man ein Backup seines /home-Verzeichnisses anlegen; sicher ist sicher. Dann sollte überprüft werden, ob die ausgewählte Partition groß genug ist, um die Benutzerdaten aufnehmen zu können. Den Platz, den das Home-Verzeichnis benötigt, kann man im Terminal [1] mit dem Befehl

du -sh /home

Ausgabe z.B.

2,5G    /home

herausfinden. Die neue Partition muss in diesen Beispiel also mindestens 2,5 Gigabytes groß sein.

Abmelden von der grafischen Benutzeroberfläche

 

Hinweis:

Für alle, die im Umgang mit der Konsole noch nicht so sicher sind, bietet es sich an, die unten folgenden Befehle abzuschreiben oder diese Seite auszudrucken, von jetzt an muss auf der Konsole gearbeitet werden. Es ist nicht möglich, diese Aktion innerhalb der graphischen Umgebung durchzuführen!

Um ungewollte Nebeneffekte zu vermeiden, muss man sich nun aus der grafischen Oberfläche (GNOMEKDEXfce etc.) abmelden, und mit Strg + Alt + F1 von gdm/kdm/etc. zu einer Textkonsole wechseln [1]. Dort meldet man sich mit dem üblichen Benutzernamen und Passwort an. Da alle nun folgenden Befehle root-Rechte erfordern, verleiht man sich diese temporär durch Eingabe von

sudo -s
cd /

Neue Partition einhängen

Mit

fdisk -l

erhält man eine Liste aller vorhandenen Partitionen. Hier merkt man sich die Bezeichnung der neuen Partition, etwa /dev/sda5 und bindet sie mit

mkdir /mnt/tmp
mount /dev/sda5 /mnt/tmp

am Mountpunkt /mnt/tmp ein. Hierbei und bei allen folgenden Befehlen ist natürlich /dev/sda5 durch die korrekte Bezeichnung der neuen Partition zu ersetzen.

Daten kopieren

Mit einem der beiden folgenden Befehle startet man den Kopiervorgang. Dieser Schritt erfordert je nach Größe des Homeverzeichnisses viel Zeit.

# rsync kopiert nicht nur die Daten, sondern überprüft zusätzlich ob die Daten korrekt geschrieben wurden.
# Dies dauert geringfügig länger, garantiert jedoch eine einwandfreie Durchführung des Kopiervorganges.
rsync -avx --progress /home/ /mnt/tmp

Hinweis:

Bei dem Aufruf von rsync muss darauf geachtet werden, dass das Zeichen / (Slash/Schrägstrich) am Ende von /home/ steht, ansonsten wird nicht nur der Inhalt des Ordners kopiert, sondern der Ordner kopiert sich selber, dies kann unerwünschte Auswirkungen beim Kopieren haben!

# Soll es schnell gehen, so kann auf den Standardbefehl cp zurückgegriffen werden. Hier ist allerdings nicht
# garantiert, dass die Daten auch korrekt kopiert wurden.
cp -avx /home/* /mnt/tmp

Danach kann die Partition testweise in das /home-Verzeichnis eingebunden werden:

mount /dev/sda5 /home

Hinweis:

Durch den Mount-Befehl wird der ursprüngliche Inhalt (Original) des /home-Verzeichnisses unsichtbar und es ist nur mehr die neu gemountete Partition (Kopie) sichtbar.

Durch Eingabe von

du -sh /home; mount|grep /home

überprüft man, ob alles geklappt hat. Die Ausgabe sollte etwa so aussehen:

2,5G    /home
/dev/sda5 on /home type ext3 (rw)

Neue Home-Partition verwenden

Nun kann das alte /home-Verzeichnis gelöscht werden:

umount /home
rm -rf /home/*

Wichtig: Die Partition muss vorher defintiv ausgehängt sein. Dies ist der Fall, wenn nach dem umount-Befehl keine Meldungen ausgegeben werden.

Damit die neue Partition beim Systemstart eingebunden wird, ist sie in der Datei /etc/fstab einzutragen. Um dies korrekt zu machen muss die UUID der neuen Partition mit blkidbestimmt werden.

blkid
 
[...]
/dev/sda5: UUID="f72aac23-092f-4484-b35c-f222c106d716" TYPE="ext3" 
[...]

Die so bestimmte Identifikationsnummer der Partition muss nun in die /etc/fstab eingetragen [2] werden. (Siehe oben: Link: Einen Editor öffnen) Die Position innerhalb von fstab ist dabei nicht so wichtig, sinnvoll ist es als letzte Zeile.

# /dev/sda5
UUID=f72aac23-092f-4484-b35c-f222c106d716  /home   ext3   defaults   0 2

Zusatz bei verschlüsseltem Nutzerverzeichnis

Ist nun nach dem Neustart das Homeverzeichnis auf der neuen Partition, wurde jedoch komplett neu und leer angelegt, dann war das alte Benutzerverzeichnis gegebenenfalls softwareseitig verschlüsselt. Entweder man berücksichtigt folgende Schritte gleich nach dem Umzug oder wechselt noch einmal in die Konsole, löscht die neu angelegten Inhalte und erstellt folgende symbolischen Links als Nutzer $USER:

sudo ln -s /home/.ecryptfs/$USER/.Private ~/.Private
sudo ln -s /home/.ecryptfs/$USER/.ecryptfs ~/.ecryptfs
sudo chown $USER:$USER ~

Abschluss

Danach startet man das System neu.

reboot

Tipps

* Für alle, die noch nicht so sicher mit der Konsole sind: Wem das mit dem Löschen aus der Konsole heraus und ohne graphische Oberfläche zu heikel ist, der löscht das alte /home-Verzeichnis einfach erst nach erfolgreichem Neustart. Dies ist jedoch nicht möglich, wenn die Home-Partition eingehängt ist. Also muss von einer Live-CD gebootet werden. Man hängt dann die Systempartition ein und löscht die Inhalte des home-Ordners — aber nicht den Ordner selbst. /home muss nämlich beim Booten als Mountpunkt zur Verfügung stehen.

* Die fstab kann auch von der grafischen Oberfläche aus vom Ordner /etc in das Homeverzeichnis kopiert werden. Danach kann man ein Terminal öffnen und mit sudo fdisk-l undsudo blkid die UUID der neuen Partition herausfinden. Diese kann dann kopiert und mittels normalem Texteditor wie oben beschrieben der fstab-kopie hinzugefügt werden. Von der nicht-grafischen Oberfläche aus gibt man dann nach einander die folgenden Befehle ein.

rm /etc/fstab

zum löschen der fstab

cp /home/IhrBenutzername/fstab /etc/fstab

um die Kopie, die nun um die neue Partition erweitert wurde an den richtigen Ort zu platzieren. und schließlich

more /etc/fstab

um die neue fstab zu überprüfen. Wenn die Ausgabe aussieht, wie erwartet hat alles funktioniert und es geht wie oben beschrieben mit dem Kopieren der Daten weiter. Es geht dann nach dem Löschen vom alten /home-Verzeichnis direkt mit dem reboot weiter. Auf diese Weise muss die ziemlich lange UUID nicht abgeschrieben und anschließend abgetippt werden, da man sie ja markieren, kopieren und schließlich einfügen kann.

Alternative

Möchte man nicht /home/* umziehen, sondern lediglich die Home-Verzeichnisse einzelner Benutzer (z.B. umbenennen), findet man eine entsprechende Anleitung im ArtikelHomeverzeichnis.

 

This site is using SEO Baclinks plugin created by Locco.Ro