Installation mit externer /home Partition

Hallo zusammen,

bis jetzt habe ich openSuSE immer stumpf installiert - soweit so gut.

Ich habe jetzt aber vor, meine /home Verzeichnis auf eine externe Platte/Partition zu bringen. Bis jetzt habe ich nur die externe Platte in ein Dateisystem mit btrfs formatiert.

Kurz gesagt, ich möchte hier keine Fehler bei der Installation machen. Lieber vorher fragen, als nachher versuchen alles zu fixen.

Womöglich könnt ihr mir sagen wie ich im Installer vorgehen muss.

Ich hatte es schon mit verschiedenen Möglichkeit experimentiert, doch kamen dann immer Fehlermeldungen oder das System ist nicht gebootet.

Danke für die Hilfe, mobi

Erstens, es heißt openSUSE (wie alle openSUSE Webseiten deutlich erwähnen.

Während Installatieren kannst du die Einteilung machen wie du willst. Das System ist gar nicht daran inetressiert ob du eine Platte “extern” oder “intern” nennen möchtest. Du kannst auch wählen ob und wie du diese zweite Platte partitionierst oder nicht. Du kannst wählen welches Dateisystem du für /home haben möchtest: Ext4, Xfs oder Btrfs. Alles nach deine Laune und Bedürfnisse.

Du brauchst nicht neu installieren. In /etc/fstab trägst du einfach den UUID der externen Partition ein und startest das System neu. Die Option in Spalte 4 muss eventuell angepasst werden:

**erlangen:~ #** grep /home /etc/fstab  
UUID=0e58bbe5-eff7-4884-bb5d-a0aac3d8a344  **/home**                   btrfs  subvol=/@**/home**                0  0 
**erlangen:~ #**

Hallo @karlmistelberger,

danke für deine Antwort.

die UUID lautet wie folgt:

UUID=94e0dc74-59af-4ff9-9635-d0696619ec17  **/home**                   btrfs  subvol=/@**/home**                0  0

die Blockgeräteattribute der externen Platte lauten:

[FONT=monospace]/dev/nvme2n1p1: LABEL="Home" UUID="5e643507-e26c-4aa3-9184-94abcc4c981b" UUID_SUB="706735a6-e977-4c61-a19c-879a83f7d066" BLOCK_SIZE="4096" TYPE="btrfs" PARTUUID="35ec863a-8bbf-4b9e-b3f3-a955c1f91833"[/FONT]

Der Einhängepunkt der externen Platte lautet:

/run/media/mobi/Home

Ich habe wie folgt die Attribute in fstab eingetragen:


UUID=94e0dc74-59af-4ff9-9635-d0696619ec17  /                       btrfs  defaults                      0  0 
UUID=94e0dc74-59af-4ff9-9635-d0696619ec17  /var                    btrfs  subvol=/@/var                 0  0 
UUID=94e0dc74-59af-4ff9-9635-d0696619ec17  /usr/local              btrfs  subvol=/@/usr/local           0  0 
UUID=94e0dc74-59af-4ff9-9635-d0696619ec17  /srv                    btrfs  subvol=/@/srv                 0  0 
UUID=94e0dc74-59af-4ff9-9635-d0696619ec17  /root                   btrfs  subvol=/@/root                0  0 
UUID=94e0dc74-59af-4ff9-9635-d0696619ec17  /opt                    btrfs  subvol=/@/opt                 0  0 
UUID=5e643507-e26c-4aa3-9184-94abcc4c981b  /home                   btrfs  subvol=/@/run/media/mobi/home    0  0 
UUID=94e0dc74-59af-4ff9-9635-d0696619ec17  /boot/grub2/x86_64-efi  btrfs  subvol=/@/boot/grub2/x86_64-efi  0  0 
UUID=94e0dc74-59af-4ff9-9635-d0696619ec17  /boot/grub2/i386-pc     btrfs  subvol=/@/boot/grub2/i386-pc  0  0 
UUID=94e0dc74-59af-4ff9-9635-d0696619ec17  /.snapshots             btrfs  subvol=/@/.snapshots          0  0

Bei Bootvorgang bleibt openSUSE hängen und ich kann nur in der Bash oprieren.

Wo liegt mein Denkfehler.

Danke, mobi

Vorbemerkung: Meine Backup HDD ist in /etc/fstab eingetragen:

**erlangen:~ #** grep HDD /etc/fstab 
UUID=2260f160-cc05-47cc-9893-cc32c050177d  /**HDD**                    btrfs  user,noauto                   0  0 
**erlangen:~ #**
**erlangen:~ #** mount /HDD  
**erlangen:~ #** findmnt /HDD 
TARGET SOURCE    FSTYPE OPTIONS 
/HDD   /dev/sda1 btrfs  rw,nosuid,nodev,noexec,relatime,space_cache=v2,subvolid=5,subvol=/ 
**erlangen:~ #**

Das Obige funktioniert gleichermaßen mit internen und externen Festplatten. Ob ich die selbe HDD innen oder außen anstecke: das Ergebnis bleibt das gleiche. Das USB Interface ist allerdings ein Flaschenhals und man sollte seine Erwartungen gegenüber SATA auf der Hauptplatine zurückschrauben.

Du könntest also diese Zeile probieren:

UUID=5e643507-e26c-4aa3-9184-94abcc4c981b  /home                   btrfs  subvol=/@/home    0  0 

Die externe Festplatte solltest du vor dem Booten anstecken. Eventuell gibt es sonst eine längere Wartezeit bis zum Timeout.

Hallo karlmistelberger,

alles, was ich versucht hatte, brachte keinen Erfolg. Ich habe mein Vorgehen noch einmal „analysiert“ und anschließend via GParted die entsprechenden Partitionen gelöscht und im Installer via „geführtes Setup" noch einmal neu angelegt.

Jetzt bindet er mir auch /home automatisch mit ein. Mein Fehler war wohl, dass ich separat die Partition auf btrfs formatiert hatte.

Danke für deine Hilfe, mobi

Hierzu möchte ich noch sagen, wenn du mit den Kinkerlitzchen anfängst, ob ich das “U” klein oder großgeschrieben habe, dann solltest du nach Klammer auf auch diese wieder schließen. Dieses ist wirklich Haarspalterei in meinen Augen.

Eine sachliche Antwort wäre hier hilfreicher gewesen, anstelle mit unnötigen Aussagen um die Ecke zu kommen und mir Brocken vor die Füße zu werfen.

So wie karlmistelberger in seinem Thread geschrieben hatte, war es verständlich und hilfreich.

Grüße, mobi

Schön das Karls Hilfe von Nutzen war. Selbst habe ich da weniger verstanden da er angefangen ist mit “Du brauchst nicht neu installieren.”. Selbst hatte ich verstanden das du, nach “bis jetzt habe ich openSuSE immer stumpf installiert - soweit so gut.”, jetzt gerade ein völlige Neuinstallation (vielleicht auf neue Hardware) machen möchstest. Nicht das du eine bestehende Installation abändern möchtest.

Eigentlich fand ich seine Lösung in Post #3 unzulänglich weil das einfach mounten von ein anderes Dateisystem auf /home in ein schon existierendes System, alles was in /home schon da ist unerreichbar macht.

/home ist erst einmal ein leeres Verzeichnis. Durch das mount Kommando füllt es sich:

**erlangen:~ #** journalctl -b -u home* 
Oct 02 23:18:42 erlangen systemd[1]: Mounting /home... 
Oct 02 23:18:42 erlangen systemd[1]: Mounted /home. 
**erlangen:~ #**
**erlangen:~ #** grep /home /etc/fstab  
UUID=0e58bbe5-eff7-4884-bb5d-a0aac3d8a344  **/home**                   btrfs  subvol=/@**/home**                0  0 
**erlangen:~ #**

mobizwerg fragt in post #1, wie er den Eintrag in /etc/fstab ändern muss damit das System statt des Subvolumes auf der internen Platte den auf einer externen Platte verwendet.

Ich habe auf erlangen:

**erlangen:~ #** inxi -Dy132 
**Drives:    Local Storage:****total:** 4.15 TiB **used:** 1.85 TiB (44.5%) 
           **ID-1:** /dev/nvme0n1 **vendor:** Samsung **model:** SSD 970 EVO Plus 2TB **size:** 1.82 TiB 
**           **ID-2:** /dev/sda **type:** USB **vendor:** Samsung **model:** SSD 850 EVO 500G **size:** 465.76 GiB **
           **ID-3:** /dev/sdb **vendor:** Crucial **model:** CT2000BX500SSD1 **size:** 1.82 TiB 
**           **ID-4:** /dev/sdc **type:** USB **vendor:** SanDisk **model:** Extreme **size:** 59.63 GiB **
**erlangen:~ #**

ID 1 und 3 sind per SATA-Kabel an die Hauptplatine angeschlossen. Id 2 und 4 sind per USB Kabel angeschlossen.

**erlangen:~ #** find /sys/ -name delete 
/sys/devices/pci0000:00/0000:00:01.2/0000:04:00.1/ata5/host4/target4:0:0/4:0:0:0/delete 
/sys/devices/pci0000:00/0000:00:01.2/0000:04:00.1/ata3/host2/target2:0:0/2:0:0:0/delete 
**/sys/devices/pci0000:00/0000:00:01.2/0000:04:00.0/usb1/1-2/1-2.4/1-2.4:1.0/host7/target7:0:0/7:0:0:0/delete 
/sys/devices/pci0000:00/0000:00:01.2/0000:04:00.0/usb2/2-4/2-4:1.0/host6/target6:0:0/6:0:0:0/delete **
**erlangen:~ #**
**erlangen:~ #** findmnt /home 
TARGET SOURCE                  FSTYPE OPTIONS 
/home  /dev/nvme0n1p2/@/home] btrfs  rw,relatime,ssd,space_cache=v2,subvolid=262,subvol=/@/home 
**erlangen:~ #** 
**erlangen:~ #** findmnt /dev/sda8 
TARGET  SOURCE             FSTYPE OPTIONS 
/Evo850 /dev/sda8/@/home] btrfs  rw,relatime,space_cache,subvolid=335,subvol=/@/home 
**erlangen:~ #**

Will ich jetzt als /home statt des Subvolume auf der internen NVME-Platte /dev/nvme0n1p2 den von der USB-Platte auf /dev/sda8 verwenden muss ich nur den UUID ändern. Alles andere kann bleiben wie es ist.

Jetzt steckt die Platte wieder im 6700k:

karl@6700K:~> inxi -D 
**Drives:**
  **Local Storage:****total:** 465.76 GiB **used:** 11.02 GiB (2.4%) 
  **ID-1:** /dev/sda **vendor:** Samsung **model:** SSD 850 EVO 500GB **size:** 465.76 GiB 
karl@6700K:~> 



Das glaube ich aber nicht.
Wenn es sich um ein neu installiertes System handelt findet man mindestens /home/<bei-Installation-aufgegebene-Erstbenutzer> und dieses Verzeichnis ist auch nicht leer, aber enthalt von useradd vorgegebene Dateien.
Wenn es sich um ein schon längere Zeit existierendes Ssyetm handelt (wie anscheinend hier), gibt es warscheinlich noch mehr Dateinen da (z.B. von den DE hinzugefügt, aber auch eigene Dateinen wie “Briefe an meine Großmuter”, usw. Und es können inzwischen auch Benutzer hinzugefügt sein mit ein neues Home-Verzeichnis, alles in /home.
Nein, ich galube nicht es da leer ist.

Doch. Im Journal liest man:

**erlangen:~ #** journalctl -b -u root.mount -u home.mount 
Oct 02 23:18:42 erlangen systemd[1]: Mounting /home... 
Oct 02 23:18:42 erlangen systemd[1]: **root.mount: Directory /root to mount over is not empty, mounting anyway.**
Oct 02 23:18:42 erlangen systemd[1]: Mounting /root... 
Oct 02 23:18:42 erlangen systemd[1]: Mounted /home. 
Oct 02 23:18:42 erlangen systemd[1]: Mounted /root. 
**erlangen:~ #**

/root ist nicht leer, /home ist leer.

Du kannst natürlich zeigen auf Host erlangen was du willst, das ist aber zwecklos. Wir reden von ein ganz anderies System von @mobizwerg. Davon habe ich erst gedacht das er um Hilfe fragt für eine Installation.

Dann hat sich gezeigt das er eigentlich fragt um Hilfe um in eine bestehende Installtion /home zu ein separates Dateisystem zu machen.

Ich sage nur das /home eigentlich nie lehr ist. Nicht direct nach Installation, und erst recht nicht wenn das System schon einige Zeit benutzt wird.

Warum du von /root spricht ist mir völlig unklar, Sowohl ich wie @mobizwerg haben /root hier nie erwähnt.