/root und /home separieren

Software besorgen und anwenden
Post Reply
Message
Author
StefanO

/root und /home separieren

#1 Post by StefanO »

Hallo,
ich lese immer häufiger, daß die Verzeichnisse /root und /home von der eigentlichen Installation getrennt werden sollen, also möglichst auf einem anderene Laufwerk liegen sollen.

Meine Frage nun, wie bewerkstellige ich sowas genau?

Wenn meine Installation z.B. auf /dev/sda1 liegt, derzeit befinden sich die Verzeichnisse /root und /home da natürlich auch drauf, was muß ich anstellen um diese beiden z.B. auf /dev/sda2 zu bekommen?

Geht so etwas auch bei bestehenden Installationen, z.B. Mint oder Mandriva?

Muß ich die Verzeichnisse koiperen und einen Soft-/Hardlink setzen oder irgendwo in der Konfiguration irgendetwas ändern?

Habe bereits vielfach gesucht aber keine wirklich brauchbare Infos erhalten.
Wer kann mir ein paar Tips geben?

Dank und Gruß
Stefan

User avatar
Lateralus
prolinux-forum-admin
Posts: 1238
Joined: 05. May 2004 7:35

#2 Post by Lateralus »

Die Frage ist nicht ganz klar. Hast du momentan alle Daten auf einer Partition, die die ganze Platte einnimmt, und möchtest sie nun auf zwei Partitionen auf der Platte verteilen oder willst du die home-Daten ganz woanders hinverschieben?

Fall 1:

sda:
Vorher: |===================sda1===================| = /
Nachher: |==========sda1=======|========sda2========| = / , /home

Fall 2:
sda, sdb:
Vorher: |===================sda1===================| = /
Nachher: |===================sda1===================| = /
|===================sdb1===================| = /home

Ich nehme mal Fall 1 an:

Schritt 1: Wichtige Daten sichern!
Schritt 2: Von Notfall-CD booten (z.B: rescueCD: http://www.sysresccd.org/Download)
Schritt 3: Mit gparted:
a) /dev/sda1 verkleinern
b) Partition /dev/sda2 und Dateisystem darauf erstellen.

Schritt 4: Dateien von /dev/sda1 - /home auf /dev/sda2 kopieren.
Schritt 5: /etc/fstab Eintrag für /dev/sda2 erstellen:

Etwas wie:

Code: Select all

/dev/sda2 /home ext3 defaults  0       2
Schritt 6: Neu booten.


Du solltest dir überlegen, ob du das wirklich möchtest. Letztendlich wirst du auf /dev/sda1 keinen Platz mehr haben, aber dafür auf /dev/sda2 oder anders herum. Dann ärgerst du dich, dass du die Partitionen getrennt hast.

Es hat natürlich auch Vorteile: Du kannst über /dev/sda1 ein neues System rüberbügeln, ohne das deine Daten betroffen sind. Du kannst /dev/sda2 restriktiver mounten (noexec) um mehr Sicherheit zu bekommen, etc. Aber wenn du so etwas (Sicherheit) willst, solltest du auch /tmp (und womöglich /var) auf eine eigene Partition legen.

Du gehst so aber immer das Risiko ein, Speicherplatz zu verschwenden. Eine Art Lösung wäre LVM, aber auch das ist nicht wirklich elegant.

Meiner Meinung nach gibt es für solche Probleme nur eine wirklich gute Lösung und die heißt (*flame*) ZFS. Also installier' dir OpenSolaris und find' dich damit ab, dass du keins der Programme hast, die du gerne haben willst. :P

Also nochmal zusammengefasst: Warum willst du eigentlich /home auf einer eigenen Partition haben? Installierst du jede Woche dein Linux-Betriebssystem neu?

StefanO

#3 Post by StefanO »

Hallo Lateralus,
mönsch, was für ne Antwort. :D
Klar, habs doof geschrieben, /dev/sda und /dev/sdb wäre natürlich richtig gewesen um meine Frage richtig zu stellen. Sorry.

Also, ich habe 2 Platten bzw. auch SD Karten im PC. Wenn ich von z.B. einer internen SD Karte boote und anschließend Firefox aufrufe, schläft mir der PC fast ein weil sich eben viel an Datenbewegung in /root bzw. /home (interne SD) tummelt.

Also möchte ich auf einer schnelleren (als der internen) SD Karte oder HD die sich ständig ändernden Daten ablegen. Meine Frage ist also wie ich das in einer bestehenden Installation bewerkstelligen kann.

Außerdem habe ich auch hier im Forum gelesen das das wohl Vorteile mit sich bringen soll - und gute Tips nehme ich natürlich gerne auf.

Und ja, ich wechsel des öfteren die Distribution. Mittlerweile gibt es so viele wirklich sehr gute - da kann man sich kaum bei entscheiden. In dem Punkt ist Windows Linux offensichtlich überlegen. :lol:

Danke und Gruß
Stefan

User avatar
Lateralus
prolinux-forum-admin
Posts: 1238
Joined: 05. May 2004 7:35

#4 Post by Lateralus »

Hi

OK, wenn die Daten auf eine zweite Platte sollen, ist es einfacher:

1. Als root einloggen.
2. Dateisystem auf /dev/sdb1 erstellen (mkfs.ext3 /dev/sdb1, oder ähnliches)
3. /dev/sdb1 mounten: mkdir -p /mnt/newhome; mount /dev/sdb1 /mnt/newhome
3. Dateien verschieben: cd /home; tar -cf - * | tar -xf - -C /mnt/newhome; rm -r /home (vorher gucken, ob alles da ist).
4. /dev/sdb1 auf /home mounten: umount /dev/sdb1; mount /dev/sdb1 /home
5. Eintrag in /etc/fstab anlegen (siehe oben).

Es kann dir natürlich passieren, dass /home beschäftigt ist. Dann hilft vielleicht ein "init 1".

Edit: Wenn es dir auf den Vorteil "Geschwindigkeit" ankommt, wäre es natürlich am besten, wenn du von einer Festplatte bootest...

StefanO

#5 Post by StefanO »

Hallo Lateralus nochmal,
prima, so ungefähr hatte ich mir das vorgestellt.
Aus Sicherheitsgründen würde ich die "Operationen" mit einer LiveCD vornehmen um sicher zu stellen das /home (und ggf. /root und /tmp) nicht frequentiert wird.

Geht das mit /root und ggf. /tmp in gleicher Weise oder gäbe es da technische Vorbehalte?

Das mit dem Booten von Platte ist manchmal gar nicht möglich. Z.B. haben wir in der Famillie hier 3 Netttttbooks die nur über eine interne SSD verfügen. Das Lesen und Booten klappt recht flott, sobald die SSDs Daten entgegen nehmen müssen wirds echt träge. Darum habe ich jeweils eine weitere, erheblich schnellere SD Card eingesteckt - eben für die sich verändernden Daten.

Nochmals Dank und Gruß,
Stefan

Post Reply