[[Vorlage(Getestet, general)]] [[Vorlage(Fortgeschritten)]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] [:sudo:mit Root-Rechten arbeiten] }}} [[Inhaltsverzeichnis()]] 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 [:ext:ext4]-Format steht zur Verfügung. Wenn dies nicht der Fall ist, muss man zunächst eine solche [:Partitionierung: Partition erstellen]. {{{#!vorlage Hinweis Man kann hier statt [:ext:] auch ein anderes Linux-Dateisystem benutzen, welches [:Rechte:] unterstützt. FAT32 und NTFS sind damit explizit ausgeschlossen. }}} = Vorgehensweise = Als erstes sollte man ein [:Sicherheit: 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 {{{#!vorlage 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 == {{{#!vorlage 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 ([:GNOME:], [:KDE:], [:Xfce:] etc.) abmelden, und mit [[Vorlage(Tasten, Strg+Alt+F3)]] zu einer Virtuelle-Konsole wechseln, siehe [:Terminal/#Virtuelle-Konsole:] [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 {{{#!vorlage Befehl sudo -s cd / }}} == Neue Partition einhängen == Mit {{{#!vorlage Befehl 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 {{{#!vorlage Befehl 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. {{{#!vorlage Befehl # 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 -avxH --progress /home/ /mnt/tmp }}} {{{#!vorlage Hinweis Bei dem Aufruf von `rsync` '''muss''' darauf geachtet werden, dass das Zeichen '''/''' (Slash/Schrägstrich) am Ende von `/home`[mark]'''`/`'''[/mark] steht, ansonsten wird nicht nur der Inhalt des Ordners kopiert, sondern der Ordner kopiert sich selber, dies kann unerwünschte Auswirkungen beim Kopieren haben! }}} {{{#!vorlage Befehl # 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: {{{#!vorlage Befehl mount /dev/sda5 /home }}} {{{#!vorlage 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 {{{#!vorlage Befehl 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 ext4 (rw) }}} == Neue Home-Partition verwenden == Nun kann das alte '''/home'''-Verzeichnis gelöscht werden: {{{#!vorlage Befehl 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 [:blkid:] bestimmt werden. {{{#!vorlage Befehl blkid }}} {{{ [...] /dev/sda5: UUID="f72aac23-092f-4484-b35c-f222c106d716" TYPE="ext4" [...] }}} 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 ext4 defaults 0 2 }}} Dieser Schritt kann auch schon ausgeführt werden, bevor man sich auf die Konsolenebene begibt und das Home-Verzeichnis umzieht. Da '''/etc/fstab''' bei jedem Systemstart neu eingelesen wird, kann man sie problemlos aus dem laufenden System editieren. Man öffnet die Datei '''fstab''' in einem Editor mit Root-Rechten[2][3] und legt den Eintrag für die neue Home-Partition an. Danach macht man die Abfrage der UUID im Terminal (Befehl: `sudo blkid`) und fügt sie in die Datei fstab, an der passenden Stelle des neuen Eintrags für die `/home`, ein. fstab speichern und schließen. Hat man /home umgezogen und den Inhalt des Home-Verzeichnisses gelöscht, befindet sich der Eintrag der neuen /home schon in der fstab und das System kann neu gestartet werden. == 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`: {{{#!vorlage Befehl 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. {{{#!vorlage Befehl 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''' und '''sudo blkid''' die UUID der neuen Partition herausfinden. Diese kann dann kopiert und mittels normalem Texteditor der fstab-kopie hinzugefügt werden. Von der konsole ohne grafische Oberfläche aus gibt man dann nach einander die folgenden Befehle ein. zum löschen der fstab: {{{#!vorlage Befehl rm /etc/fstab }}} Davon ausgehend, dass der Benutzername '''max''' ist: {{{#!vorlage Befehl cp /home/max/fstab /etc/fstab }}} um die Kopie, die nun um die neue Partition erweitert wurde an den richtigen Ort zu platzieren. Zum Schluss zum Überprüfen: {{{#!vorlage Befehl cat /etc/fstab }}} 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 Artikel [:Homeverzeichnis#Homeverzeichnis-aendern:]. # tag: System