Einbindung einer Partition
Einbindung (nach Standardinstallation) eines auf separater Platte abgelegten Homeverzeichnisses und Ignorierung der standardmäßigen /home
Danksagung
Nach einer verunglückten Aktion (ich wollte die unter dem Verzeichnis /etc abgelegte Datei 'fstab' ändern, habe aber alle Befehle mit einem vorangestellten 'sudo' ausgeführt, mich also für diese Zeit nicht mit 'sudo su' zum (dauerhaften) Administrator gemacht und damit einiges zerschossen. Ulf hat mir bei der Einbindung meiner M.2-NVMe, die mir schon auf meinem 'alten' Rechner als /home diente, geholfen und auch über diesen Beitrag drübergelesen.
Problem
Nach einem Umzug aller meiner Festplatten von meinem schon etwas betagten PC auf einen leicht neueren, aber dennoch deutlich besseren des Herstellers Lenovo, Typ ThinkStation P500, war durch die standardmäßig ausgeführte Installation auf die Samsung-SSD Evo 860 ein Home-Verzeichnis entstanden, das ich nicht nutzen möchte. Vielmehr möchte ich die Daten des /home auf meiner 1000 GB großen Samsung M.2-SSD NVMe 907 Evo nutzen; die sind da ja schon gespeichert.
Vorab zu erledigen
- erstelle eine Sicherung der Datei 'fstab' (Pfad: /etc/) auf eine externe Platte (nur für alle Fälle)
- sichere Dein /home ebenso auf eine externe Festplatte
- sichere ebenso Dein Root-Verzeichnis (/) auf eine externe Platte
Konsolenbefehl um eingehängte Platten und Ihre Bezeichnung (/dev/sdXY), samt deren Dateisystem zu erkennen
[#] holger@linux:~> fdisk -l
Auszug aus der Befehlsausgabe bezüglich der Tumbleweed-Installation - das ist die erste der beiden SSDs (/dev/sda:
Festplatte /dev/sda: 465,76 GiB, 500107862016 Bytes, 976773168 Sektoren Festplattenmodell: Samsung SSD 860 Einheiten: Sektoren von 1 * 512 = 512 Bytes Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes Festplattenbezeichnungstyp: gpt Festplattenbezeichner: 42892C69-2FAC-4A7A-932C-D0EFDAB74739
Wie man sieht, liegen das Root- und Homeverzeichnis standardmäßig noch auf der zweiten Partition, der /dev/sda2
Gerät Anfang Ende Sektoren Größe Typ /dev/sda1 2048 1050623 1048576 512M EFI-System /dev/sda2 1050624 972578815 971528192 463,3G Linux-Dateisystem [Root- mit Homeverzeichnis] /dev/sda3 972578816 976773134 4194319 2G Linux Swap
und hier noch die (einzige) M.2-NVMe-SSD, - daher /dev/nvme0n1 - , deren Daten als standardmäßiges /home eingebunden werden sollen:
Festplatte /dev/nvme0n1: 931,51 GiB, 1000204886016 Bytes, 1953525168 Sektoren Festplattenmodell: Samsung SSD 970 EVO 1TB Einheiten: Sektoren von 1 * 512 = 512 Bytes Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes Festplattenbezeichnungstyp: gpt Festplattenbezeichner: 7BB9DC1D-D2CA-450C-980A-1A681E6C9225 Gerät Anfang Ende Sektoren Größe Typ /dev/nvme0n1p1 2048 1953525134 1953523087 931,5G Linux-Dateisystem
Diese NVMe hat nur eine Partition (da eine reine Datenplatte) angelegt; ersichtlich an der Bezeichnung /dev/nvme0n1p1
Befehl, um die derzeitige Fstab-Datei im Verzeichnis /etc anzuzeigen (die M.2-NVMe ist noch gar nicht eingetragen)
[$] joe /etc/fstab
Hier die Ausgabe:
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 / btrfs defaults 0 0 UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /var btrfs subvol=/@/var 0 0 UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /usr/local btrfs subvol=/@/usr/local 0 0 UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /srv btrfs subvol=/@/srv 0 0 UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /root btrfs subvol=/@/root 0 0 UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /opt btrfs subvol=/@/opt 0 0 UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /home btrfs subvol=/@/home 0 0 UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /boot/grub2/x86_64-efi btrfs subvol=/@/boot/grub2/x86_64-efi 0 0 UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /boot/grub2/i386-pc btrfs subvol=/@/boot/grub2/i386-pc 0 0 UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /.snapshots btrfs subvol=/@/.snapshots 0 0 UUID=3ff503e4-c0b5-4aa5-b05f-1baae11a05cc swap swap defaults 0 0 UUID=4D34-0A88 /boot/efi vfat utf8 0 2
Eintrag der M.2-NVMe in die Fstab-Datei
Um die UUID einer Festplatte in die Fstab-Datei eintragen zu können, müssen wir sie zunächst einmal kennen ...
Konsolenbefehl zur Abfrage der UUID der NVMe und ihrer (einzigen) Partition
[#] holger@linux:~> blkid /dev/nvme0n1p1 /dev/nvme0n1p1: UUID="fd5c4324-c81e-4a50-8cc4-3bff056a79dd" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="73caaf90-e07a-487e-a65b-7d335bd52a39"
Wichtig ist hier, daß wir ganz gezielt auch die Partition dieser NVMe (oder einer anderen Platte) abfragen. Hätten wir nur die Platte ohne Partition angegeben (/dev/nvme0n1 - ohne den Zusatz 'p1' = Partition 1), wäre uns nicht die UUID, sondern die PARTUUID ausgegeben worden; und die wäre falsch.
Übrigens könnte ich mir auch die UUIDs aller eingehängten Platten ausgeben lassen; in diesem Fall lasse ich die Pfadangabe (/dev/hdXY, bzw. /dev/sdXY, oder /dev/nvme0nXpY) einfach weg und würde (in meinem Fall - mit zwei SSDs, einer NVMe und zwei HDDs) diese Ausgabe erhalten):
[#] holger@linux:~> blkid /dev/sda1: UUID="4D34-0A88" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="84539456-ddc2-45e3-b86a-c0bcbbe6fb4a" /dev/sda2: UUID="339387e9-84da-4bbf-a079-c80d1c9c2676" UUID_SUB="66e5a10d-435c-4851-be42-c67a32668b5d" BLOCK_SIZE="4096" TYPE="btrfs" PARTUUID="fda76e04-d395-46ba-99b4-95e520986b7c" /dev/sda3: UUID="3ff503e4-c0b5-4aa5-b05f-1baae11a05cc" TYPE="swap" PARTUUID="bc44119e-3706-419b-9f22-3271aba1544b" /dev/sdb1: LABEL="Wiederherstellung" BLOCK_SIZE="512" UUID="EEB65AE4B65AACB9" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="3ff1b7ac-2c0b-47eb-ad75-2c598e76bedf" /dev/sdb2: UUID="7461-6130" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="0f372f67-eafd-4304-8646-c4e1ea8dd8cf" /dev/sdb3: PARTLABEL="Microsoft reserved partition" PARTUUID="61cba859-1739-4128-88c1-be5374cc1d2a" /dev/sdb4: BLOCK_SIZE="512" UUID="38EA6AC4EA6A7DCE" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="2074fe84-b054-43eb-a5ff-e17537688194" /dev/sdc1: UUID="93279354-b851-48a3-bddf-1b73fc632b5f" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="6844e9e5-b135-4765-a6e5-3d90e8da396a" /dev/sdd1: UUID="93279354-b851-48a3-bddf-1b73fc632b5f" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="fffeb90e-0725-11eb-818e-ed0fef3c7d45" /dev/nvme0n1p1: UUID="fd5c4324-c81e-4a50-8cc4-3bff056a79dd" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="73caaf90-e07a-487e-a65b-7d335bd52a39"
Nun kennen wir also die UUID unserer NVMe-Partition und nutzen den Joe-Editor, um diese zu bearbeiten.
Öffnen und Bearbeiten der Fstab-Datei (liegt im Verzeichnis /etc) mit dem Joe-Editor
Zunächst machen wir uns für die Dauer der Bearbeitung zum Superuser / Administrator mit dem Befehl:
[$] holger@linux:~> sudo su [sudo] Passwort für root:
und öffnen dann mit dem Joe-Editor die Datei 'fstab'
[#] linux:/home/holger # joe /etc/fstab
Hier die geöffnete Datei:
I /etc/fstab Row 12 Col 1 UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 / btrfs defaults UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /var btrfs subvol=/@/var UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /usr/local btrfs subvol=/@/usr/local UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /srv btrfs subvol=/@/srv UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /root btrfs subvol=/@/root UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /opt btrfs subvol=/@/opt UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /home btrfs subvol=/@/home UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /boot/grub2/x86_64-efi btrfs subvol=/@/boot/grub2/x86_64-efi UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /boot/grub2/i386-pc btrfs subvol=/@/boot/grub2/i386-pc UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /.snapshots btrfs subvol=/@/.snapshots UUID=3ff503e4-c0b5-4aa5-b05f-1baae11a05cc swap swap defaults UUID=4D34-0A88 /boot/efi vfat utf8
Nun navigieren wir mit den Pfeilrichtungstasten ganz links, unterhalb des letzten Eintrages und fügen die UUID der NVMe ein (zuvor durch Markieren mit der Maus in den Zwischenspeicher und dann mittels mittlerem Mausklick an der gewünschten Stelle hineinkopieren). Nun sieht unsere Fstab-Datei folgendermaßen aus:
I /etc/fstab Row 12 Col 1 UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 / btrfs defaults UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /var btrfs subvol=/@/var UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /usr/local btrfs subvol=/@/usr/local UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /srv btrfs subvol=/@/srv UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /root btrfs subvol=/@/root UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /opt btrfs subvol=/@/opt UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /home btrfs subvol=/@/home UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /boot/grub2/x86_64-efi btrfs subvol=/@/boot/grub2/x86_64-efi UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /boot/grub2/i386-pc btrfs subvol=/@/boot/grub2/i386-pc UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /.snapshots btrfs subvol=/@/.snapshots UUID=3ff503e4-c0b5-4aa5-b05f-1baae11a05cc swap swap defaults UUID=4D34-0A88 /boot/efi vfat utf8 UUID=fd5c4324-c81e-4a50-8cc4-3bff056a79dd
Aber halt, da fehlt ja noch was! Wir nehmen eine beliebige Bezeichnung für das /home, welches unter der NVMe genutzt werden soll, z.B. '/home.old', entscheiden uns für ein Dateisystem (in unserem Fall 'ext4' und stellen noch ein 'defaults' hintenan. Diese Daten werden ebenfalls in die nun unterste Zeile eingetragen. Das ist das Resultat:
I /etc/fstab Row 12 Col 1 UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 / btrfs defaults UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /var btrfs subvol=/@/var UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /usr/local btrfs subvol=/@/usr/local UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /srv btrfs subvol=/@/srv UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /root btrfs subvol=/@/root UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /opt btrfs subvol=/@/opt UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /home btrfs subvol=/@/home UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /boot/grub2/x86_64-efi btrfs subvol=/@/boot/grub2/x86_64-efi UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /boot/grub2/i386-pc btrfs subvol=/@/boot/grub2/i386-pc UUID=339387e9-84da-4bbf-a079-c80d1c9c2676 /.snapshots btrfs subvol=/@/.snapshots UUID=3ff503e4-c0b5-4aa5-b05f-1baae11a05cc swap swap defaults UUID=4D34-0A88 /boot/efi vfat utf8 UUID=fd5c4324-c81e-4a50-8cc4-3bff056a79dd /home.old ext4 defaults
Diese Änderungen müssen natürlich auch gespeichert werden. Das geschieht im Joe-Editor mit zwei Tastaturkürzeln, gefolgt von einer Bestätigung oder Verneinung; diese sind:
- Strg+K (Vorbereitung zum Verlassen des Editors)
- q (Quit, also 'Abschluß' / 'quittieren')
Nun erscheint ganz unten im Editor der Text
File /etc/fstab has been modified. Save it (y,n,^C)? und wir bestätigen entweder mit
- y für Ja, wenn wir die Änderung übernehmen wollen, oder
- n für Nein, wenn wir keine Änderungen übernehmen wollen.
Danach ist die Bearbeitung der Datei durch den Editor beendet und wir haben den Editor wieder verlassen, erkenntlich an folgendem Promt:
[#] linux:/home/holger #