Linuxfrage (Ubuntu), /home

    • Linuxfrage (Ubuntu), /home

      EIne Festplatte lässt sich ja maximal in 4 Partitionen einteilen. Nun habe ich die Platte meines Notebooks in eine WIndows-XP-Partition eingeteilt, eine Swap-Partition, eine / (root halt), und eine /home. Nun möchte ich home löschen bzw auf die rootplatte packen. Wie stelle ich das an?

      Falls wer fragen sollte warum... Ich möchte den restlichen Teil der Platte formatieren und dort Datein lagern auf die beide Systeme zugreifen können (also NTFS).
    • Schon seit sehr langem kann man eine "Extended"-Partition (Bezeichnung laut gparted) anlegen. Diese hält dann als Behälter für praktisch beliebig viele so genannte logische Partitionen (als Gegenstück zu den so genannten primären Partitionen, von denen man nur vier anlegen kann) her.

      Dafür muss man allerdings noch einen Bereich für eine primäre Partition frei haben, sprich: Du kannst bis zu 4 primäre Partitionen oder 3 primäre Partitionen verwenden und eine vierte als Behälter für beliebig viele logische Partitionen.

      Ein wesentlicher Unterschied zwischen einer primären und einer logischen Partition ist jedoch, dass es möglicherweise Probleme geben könnte, wenn man versuchen sollte, ein Betriebssystem, das sich auf einer logischen Partition befindet, zu booten. Zur Sicherheit legt man also Betriebssysteme nur auf primäre Partitionen.

      Relativ häufig sieht man deshalb in der Praxis das Vorgehen, erst einmal nur eine primäre Partition anzulegen (für das Betriebssystem) und dann noch eine Extended-Partition (diese Behälter) für die Daten. Wenn man dann nämlich später noch ein Betriebssystem haben möchte, kann man sich bei Bedarf noch bis zu zwei primäre Partitionen (also auch zwei Betriebssysteme) problemlos dazuinstallieren.

      Ark

      EDIT: Ach, ja, und ich finde es voll bescheuert, dass Windows 7 einem gleich zwei primäre Partitionen reinwürgt, von denen die eine nur ein paar (hundert) MB groß ist. X( Wie schön, dass ich kein Windows 7 benutze. :)
    • Wunderbar. Wie funktioniert das denn im Detail? Weil ich hab ja nun 3 primäre und eine logische Partition (Home is die logische)... Kann ich home irgendwie mit root quasi mergen, und dann home löschen, und dann dort den Container quasi einrichten?
      Falls ja, wie geht das?

      Und home kann übrigens ruhig ganz gelöscht oder neu aufgemacht werden, das hab ich alles schon auf meiner externen gesichert.
    • Kannst du vielleicht einen Screenshot mit gparted machen (so, dass man möglichst viel erkennen kann)? Mir sind deine Ausführungen gerade nämlich nicht ganz klar geworden, da würde so ein Screenshot wahrscheinlich mehr helfen. :)

      Ach, ja, und gib an, welche Partitionen (bezogen auf den Screenshot) unbedingt erhalten bleiben müssen und welche gelöscht werden können.

      Ark
    • Wenn ich deinen Schilderungen richtig folgen konnte, dann kannst du die Partition einfach löschen und neu formatieren. Wenn es keine eigene /home Partition gibt, dann legt das System einfach die Verzeichnisse im /home Ordner auf der / Partition an.
      Du kannst also als Vorbereitung die Daten in deinem /home Ordner auf z.B. /home2 sichern (vorher anlegen), und dann aus der /etc/fstab Datei die zugehörige Zeile löschen (dort sollte irgendwo eine Zeile stehen, in der steht, dass z.B. /dev/sda4 nach /home gemountet wird). Mach vorher sicherheitshalber eine Kopie der Datei... ;)
      Anschließend solltest du dich mit Alt+Strg+F1 per Kommandozeile einloggen und dann mit cd / ins Wurzelverzeichnis wechseln.
      Dann solltest du (wenn du grafisch nicht eingeloggt bist) mit
      umount /home
      Die /home Partition aushängen können.
      Wenn das /home Verzeichnis daraufhin leer ist hat es geklappt und du kannst die Daten von /home2 zurück nach /home verschieben (sollte ruckzuck gehen, da es auf derselben Partition liegt).
      Nach einem Neustart (theoretisch sofort) sollte dann alles passen und du kannst /dev/sda4 (oder wo dein /home liegt) neu formatieren können z.B. mit NTFS oder FAT.
    • Der Screenshot ist sehr hilfreich, danke. :)

      Mir ist nicht ganz klar, warum du /home mit / zusammenführen möchtest, aber okay: Nimm einfach ein Ubuntu-Live-System, mounte dort /dev/sda5 irgendwo hin, z.B. in /mnt/sda5 oder /media (auf keinen Fall bei /home einhängen ;) ). Lösche dann den Inhalt des aktuellen /home-Verzeichnisses (das ist auf derselben Partition wie /, also aufpassen, nicht das falsche "/home" löschen ;) und auch auf die versteckten Dateien achten, die sollte man auch löschen) und kopiere/verschiebe dir dann alle Dateien von /mnt/sda5 dort ins /home, das ja momentan auf derselben Partition ist wie /. Danach ist /mnt/sda5 frei, die Daten nach /home verschoben und du kannst /dev/sda5 mit gparted entfernen.

      Wichtig ist dann noch, was Retr0Virus gesagt hat: lösche den Eintrag aus /etc/fstab, in dem drinsteht, dass /home woanders liegen würde. ;)

      Wenn das so weit erfolgreich abgeschlossen ist, kannst du weiter an den Partitionen rumfummeln. Dazu musst du zunächst einmal mit gparted /dev/sda4 (das ist diese extended-Partition, die ich vorhin ansprach, also dieser Behälter) vergrößern. Wenn du das gemacht hast, wird der zyanfarbene Bereich in gparted größer, und es erscheint darin ein "nicht zugeteilter" Bereich, in dem du deine NTFS-Partition anlegen kannst.

      (Mein Tipp ist übrigens, /dev/sda5 nur zu verkleinern, /dev/sda4 zu vergrößern und darin dann /dev/sda6 mit NTFS anzulegen. Ein Hinweis: Wine benutzt normalerweise ~/.wine. Die Größe dieses Ordners sollte man nicht unterschätzen (sofern man wine verwendet). Aber das ist nur meine Meinung und spielt für den Rest dieses Beitrags keine Rolle.)

      @Retr0Virus: /dev/sda4 wird man nicht mounten können. /home liegt (noch) auf /dev/sda5, /dev/sda4 ist nur die extended-Partition.

      Ark

      EDIT: Kopiere den Inhalt am besten mit cp, sonst zerschießt du dir womöglich Besitzer-/Gruppen/Rechtezuteilungen der Dateien. Skizze für die Kommandozeile:

      EDIT: Okay, in dieser Anleitung fehlt, dass / noch eingehängt werden muss, wenn man das mit einem Live-System macht. Sprich: Mit einem Live-System verlierst du mit diesem Code deine Daten (weil sie nur im Arbeitsspeicher landen!), mit dem richtig installierten System funktioniert diese Anleitung nicht. Wahrscheinlich fehlt aber auch nur ein "mkdir /mnt/sda3 && mount /dev/sda3 /mnt/sda3 && chroot /mnt/sda3" vor Ausführung dieses Codes hier. EDIT2: Okay, vielleicht reicht auch schon (auf dem richtigen System, nicht Live-System!) ein einfaches "cd /", um /home nicht busy sein zu lassen, siehe auch ein EDIT in meinem folgenden Beitrag.

      Quellcode

      1. sudo -i # du solltest root sein, wenn du so was machst!
      2. rm -rf /home
      3. mkdir /mnt/sda5
      4. mount -r /dev/sda5 /mnt/sda5
      5. cp -vax /mnt/sda5/ /home
      6. umount /mnt/sda5
      7. rmdir /mnt/sda5

      Ungetestet, wie immer. ^^; Aber besser nicht machen, wenn du dir nicht sicher bist, was du da tust. (Das muss ich gerade sagen. xD) Besser noch mal nachfragen. (Öhm, @Retr0Virus: ist das so richtig? xD!)

      Danach noch den Eintrag aus /etc/fstab entfernen, und du solltest beim nächsten Booten von Ubuntu dein /home auf /dev/sda3 haben, mitsamt deinen Daten. Danach kannst du dann mit gparted an /dev/sda4, /dev/sda5, /dev/sda6 usw. basteln. Ein Neustart ist zwar nicht erforderlich, du musst also gar nicht den Rechner nach dem Rüberschieben der /home-Dateien neu starten, aber na ja. ^^

      Ark

      Dieser Beitrag wurde bereits 12 mal editiert, zuletzt von Ark ()

    • So, man lernt durch Schweiß, Tränen und Schmerz, und wenn man es nie anpackt, dann lernt man garnichts. Sprich, ich hab mir wohl n bisschen was zerschossen. Aber immerhin im Do-It-Yourself-Style. Damit hab ich aber kein Problem, ich installier Ubuntu eben einfach neu. Die wichtigen Daten sind eh nochmal auf der Externen und zusätzlich Online gespiegelt.

      Trotzdem vielen dank, denn ich bin die anderen Anweisungen mal im Kopf durchgegangen, im Grunde müsstes so funktionieren und /home eben nicht mehr "busy" sein (wenn mans per Terminal unmounten will meckerte das da immer rum).
      Und da ich über USB installeire gehts auch echt fix. Und ich kann beim installieren chatten und surfen. Sooo gut.
    • Original von Carcharoth
      So, man lernt durch Schweiß, Tränen und Schmerz, und wenn man es nie anpackt, dann lernt man garnichts. Sprich, ich hab mir wohl n bisschen was zerschossen. Aber immerhin im Do-It-Yourself-Style. Damit hab ich aber kein Problem, ich installier Ubuntu eben einfach neu. Die wichtigen Daten sind eh nochmal auf der Externen und zusätzlich Online gespiegelt.

      Tut mir Leid, hoffentlich nicht wegen meiner schlecht zusammengefrickelten Anleitung gerade … (OMG, schon 10mal editiert …)

      Original von Carcharoth
      Trotzdem vielen dank, denn ich bin die anderen Anweisungen mal im Kopf durchgegangen, im Grunde müsstes so funktionieren und /home eben nicht mehr "busy" sein (wenn mans per Terminal unmounten will meckerte das da immer rum).

      Wichtig: Unter Ubuntu wird man am einfachsten root mit dem oben gezeigten "sudo -i". Aber bei einem solchen laufenden System (jetzt kein Live-System, sondern eine "richtige" Installation) läuft ja trotzdem noch die Sitzung des normalen Nutzers (also des Nutzers, der sudo -i aufgerufen hat) weiter! Deswegen ist auch /home noch immer busy. Wenn man also so wie hier notwendig auf den Partitionen rumschieben muss, muss man sich wirklich als root anmelden, dann ist nämlich nur /root busy. (Also richtig eine tty-Anmeldung als root ist nötig, das geht bei Ubuntu normalerweise aber nicht! Deshalb siehe nachfolgenden Satz.) Noch sicherer ist es, das ganze mit einem Live-System zu machen, da ist dann garantiert nichts mehr irgendwie busy.

      Ark

      EDIT: Okay, ich habe oben noch etwas geändert (siehe das dort fett Hervorgehobene).
      EDIT: Okay, möglicherweise reicht es aber auch, ein "cd /" als normaler Nutzer zu machen, bevor man "sudo -i" aufruft, um zu verhindern, dass /home busy ist …