unsere besten emails
Registrierung
Teammitglieder
Zur Startseite
Mitgliederliste
Suche
Kalender
Häufig gestellte Fragen
Zum Portal

Dedies-Board » Linux » FAQs » Verschieben der /home-Partition » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Thema ist geschlossen
Zum Ende der Seite springen Verschieben der /home-Partition
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »

Vimes Vimes ist männlich
Super Moderator


images/avatars/avatar-14.jpg

Dabei seit: 27.03.2005
Beiträge: 1.316

Level: 49 [?]
Erfahrungspunkte: 9.199.388
Nächster Level: 10.000.000

800.612 Erfahrungspunkt(e) für den nächsten Levelanstieg

Verschieben der /home-Partition Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden   Zum Anfang der Seite springen

Vorneweg: Die Idee zu dieser FAQ entstand durch eine Frage von rich20 im Computerproblemboard.

Nachdem ich mich ein wenig verrannt hatte, wurden die letzten Denkfehler durch diese Seite beseitigt:

http://www.gentoo.org/doc/en/articles/partitioning-p1.xml

(Das ganze funktoniert aber völlig unabhängig von gentoo auf eigentlich jedem System, wo man root-Zugriff hat)

Zunächst die obligatorische Warnung, wenn man an seinem System herumspielen möchte:

Es wird dringend empfohlen, zumindest die wichtigen Daten zu sichern. Ein Image wäre nicht verkehrt.

Formatierungen im Dokument:
Befehle schreibe ich immer so:
discworld ~ $BEFEHL wobei BEFEHL die eigentliche Eingabe ist.

STRG-c zum Beispiel heißt, daß die Taste STRG gedrückt und gehalten und dann c gedrückt wird; anschließend beides loslassen.

In dieser FAQ werden alle Befehle als root durchgeführt; Ubuntu-Nutzer werden deshalb zu sudo greifen müssen. Der Bequemlichkeit halber schreibe ich das nicht jeweils dazu. Die allermeisten Befehle hier funktionieren schlicht nicht, wenn man sie als Normalbenutzer durchführt.

1. Schritt: Neue Partition auswählen
Die Partition muß angelegt werden, falls sie das noch nicht ist - wie, das überlasse ich Euch. Hier war bereits eine mit 20 GB frei.
Wichtig ist dabei, daß es sich logischerweise nicht um eine NTFS-Partition handeln darf und es keine FAT32-Partition sein sollte, weil FAT32 die unter Linux übliche Rechteverteilung nicht unterstützt.

2. Schritt: Dateisystem anlegen
Vermutlich gibts dafür graphische tools, ich habe das über
discworld ~ $mkfs.ext3 /dev/hda12
gemacht (hda12 ist die Nummer meiner verwendeten Partition)
Diesen Schritt kann man überspringen, wenn man bereits eine vorbereitete Partition hat. Z.B. kann Partitionmagic (Version 8 konnte es zumindest) auch Linux-Partitionen anlegen.

3. Schritt: Neues Dateisystem in /mnt/ mounten
Um /home zu verlegen, müssen effektiv die Daten aus /home auf auf die neue Partition verschoben werden. Dafür muß diese neue Partition zunächst einmal "eingehängt" werden. (Endbenutzerfreundliche Distributionen wie Ubuntu machen das beim Systemstart automatisch, hier müssen wir es aber zu Fuß machen).
discworld ~ $mkdir /mnt/neuepartition
Zunächst wird der neue Ordner erstellt, unter dem die Partition dann eingehängt wird...
discworld ~ $mount /dev/hda12 /mnt/neuepartition
... jetzt wird die Partition tatsächlich eingehängt.

4. Schritt: Single-User-Mode
Jetzt wird's haarig. Es muß auf jeden Fall vermieden werden, daß noch Dateien in /home offen sind. Das geht am besten, indem man in den sog. single-user-mode wechselt. (Anm.: Linux ist, wie die Unixe auch, ein Multiuser-System. Der single-user-mode sorgt dafür, daß sich sonst niemand anmelden kann und auch keine sonstigen Systemzugriffe mehr stattfinden.)

Wer kann, der verlasse jetzt (falls er das nicht schon getan hat) das X-Windows und arbeite mit einer reinen Konsole weiter.
discworld ~ $init 1
(Achtung: ein Leerzeichen zwischen init und 1)
init ist der Befehl zum Wechseln des "run levels" und die 1 zeigt an, daß man in den single-user-mode wechseln möchte.

Jetzt sollte eine schöne Liste vorbeirauschen, was alles abgedreht wird. Hängt das System, einfach STRG-c drücken.

Schritt 5: Kopieren
Jetzt das hier tippen:
discworld ~ $cd /home
Wechselt ins /home-Verzeichnis. Sollte bekannt sein.

discworld ~ $cp -ax * /mnt/neuepartition
Dieser Befehl kopiert alles im /home-Verzeichnis in die neue Partition. Dabei werden alle Dateiattribute (Lese/Schreibberechtigungen usw.) beibehalten.

Schritt 6: /home neue einrichten
Zuerst müssen wir mal wieder aus dem single-user-mode raus.
Laut der Anleitung, die ich letztlich aufgestöbert hatte, hilft hier ein STRG-d weiter, hat es bei mir nicht. In diesem Falle half ein
discworld ~ $init 5
damit das System wieder in den runlevel 5 ging, der normale Betriebsmodus (zumindest hier). (Wir erinnern uns, mit init 1 ging man runter in den single-use-mode)
Ach ja, ich gehe hier davon aus, daß /home bisher auf einer Partition mit dem ganzen Rest (/var, /opt usw.) herumlag. Wer eine eigene /home schon hatte, der kanns einfacher haben. Das kriegt er aber bestimmt selbst raus.

discworld ~ $cd /
Wechsel ins Wurzelverzeichnis / (auch root genannt)

discworld ~ $mv /home /home.old
Zur Sicherheit benennen wir das existierende Verzeichnis um, so daß wir später noch drauf zurückgreifen können...

discworld ~ $mkdir /home
Warum jetzt das? Warum wird dieser Ordner nicht auf der neuen Partition erzeugt? Ganz einfach. Das System sucht auf der root-Partition / nach Einhängepunkten für die sonstigen Partitionen. Hier muß also /home stehen, damit dort die neue Partition gefunden werden kann. Effektiv handelt es sich bei diesem Ordner um eine Art Verlinkung auf die eigentliche Partition. Daher wurde auf der neuen Partition auch kein Ordner /home angelegt. Alle Klarheiten beseitigt...?

discworld ~ $mount /dev/hda12 /home
Jetzt wird die neue Partition unter /home eingehängt.

7. Schritt: die /etc/fstab
Eins fehlt natürlich noch, man muß dem System sagen, wo /home jetzt liegt, damit man beim reboot keine böse Überraschung erlebt.

Also:
discworld ~ $vim /etc/fstab
(mein Lieblingseditor)
und diese Zeile hier einfügen (i zum Bearbeiten drücken):
/dev/hda12 /home ext3 defaults 1 2

(Wer /home bereits auf einer eigenen Partition hatte, der muß lediglich die existierende Zeile anpassen)

Wobei die Partitionsnummer und das verwendete Dateisystem an die eigenen Bedürfnisse angepaßt werden müssen.
Natürlich muß man nicht vim nehmen - nur haben wir gerade kein X-Windows laufen, da fallen graphische Editoren auf die Schnauze.

Wir speichern mit einem eleganten :wq und können rebooten. Beim Neustart wird /home dann ohne jegliche Datenverluste auf der neuen Partition eingehängt.


Was tun, wenn es Probleme gibt?

Bei meinen Tests hatte ich, bis ich mich bequemte, Tante Google um Hilfe zu bitten, beim reboot ständig das Problem, daß /home nicht gefunden werden konnte, weil der "Mountpoint" ungültig war. Das resultierte daraus, daß ich zu blöde war,

a) die Dateien mit der richtigen Option zu kopieren - cp -ax und
b) ich keinen neuen Mountpoint /home angelegt, wohl aber die alte /home in /home_old umbenannt hatte. Das ist, zumindest bei mir, ein beliebter Fehler, den Einhängepunkt (sprich: den neuen Ordner auf /) zu vergessen.
In diesem Falle ging ich kurzerhand als root rein und änderte den Ordnernamen und die fstab entsprechend einfach wieder ab. Dann ein Neustart und das System war wieder funktionstüchtig.

Wer Schwierigkeiten hat, der nehme also einfach als root aus der /etc/fstab die neue Zeile wieder heraus und benenne den Ordner home.old wieder um:
discworld ~ $rm -rf /home
Zuerst den neuen /home-Ordner löschen:

discworld ~ $mv /home.old /home
Jetzt den alten wieder umbenennen von /home.old in /home...

... und fertig ist der Lack.

Das ganze hat hier ca. 10 Minuten gedauert. OK, die Wühlerei war natürlich aufwendiger - aber immer noch weniger aufwendig als eine Neuinstallation.

Zum Schluß noch ein warnendes Wort:

Solange man root ist, empfiehlt es sich dringend, jede Zeile 3 mal zu lesen, ehe man auf Enter drückt.
Wenn man so was hier tippselt:
discworld ~ $rm -rf / home
und dann ENTER drückt, dann verabschiedet sich nicht /home, sondern /, weil zwischen / und home ein Leerzeichen ist und rm sich bei einem Leerzeichen denkt, daß der Befehl dann komplett ist. Damit macht man sein Wurzelverzeichnis unwiderruflich platt und kann schon mal das Image aus dem Schrank kramen.

Viel Spaß beim Ausprobieren!


Und ganz zum Schluß...

Warum überhaupt /home auf eine eigene Partition packen?

- Vereinfacht die Datensicherung
- Dasselbe /home kann für mehrere Distributionen verwendet werden
- Platzbedarf ist leichter kalkulierbar
- Fehler wirken sich nicht auf die gesamte Systempartition aus


Ach ja, da dies eine FAQ ist, schließe ich den Thread. Fragen, Diskussionen, Fehlerhinweise etc. bitte in eigenen Threads lostreten.

MfG
Vimes


__________________
1. Kor 3,11: "Einen anderen Grund kann niemand legen als den, der gelegt ist, welcher ist Jesus Christus."
gnupg-Key-ID: 7C6A8303; Fingerprint: 9D29 C76C 4C7E 4A5C 8915 8686 49DE 7906 7C6A 8303
10.01.2006 16:22 Vimes ist offline E-Mail an Vimes senden Beiträge von Vimes suchen Nehmen Sie Vimes in Ihre Freundesliste auf Fügen Sie Vimes in Ihre Kontaktliste ein YIM-Name von Vimes: jesusrettet
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Thema ist geschlossen
Dedies-Board » Linux » FAQs » Verschieben der /home-Partition

Impressum|Boardregeln


secure-graphic.de
Board Blocks: 368.799 | Spy-/Malware: 5.599 | Bad Bot: 1.542 | Flooder: 281.746 | httpbl: 6.555
CT Security System 10.1.7 © 2006-2024 Security & GraphicArt

Ja, auch Dedies-Board verwendet Cookies. Hier erfahrt ihr alles zum Datenschutz
Verstanden;