Das Dateisystem einhängen, testen und aushängen
In diesem Schritt lernen Sie, wie Sie Ihr neu formatiertes Dateisystem für das Betriebssystem zugänglich machen. Dieser Vorgang wird "Mounten" (Einhängen) genannt. Dabei wird das Dateisystem eines Geräts (wie /dev/sdb1) mit einem bestimmten Verzeichnis im Dateisystembaum verknüpft, dem sogenannten "Mountpoint" (Einhängepunkt). Sobald es eingehängt ist, können Sie mit der Partition wie mit jedem anderen Verzeichnis interagieren.
Zuerst müssen Sie einen Mountpoint erstellen. Dies ist einfach ein leeres Verzeichnis. Es ist üblich, temporäre Mountpoints unter dem Verzeichnis /mnt zu erstellen. Erstellen wir ein Verzeichnis namens /mnt/data. Da /mnt ein Systemverzeichnis ist, benötigen Sie sudo.
sudo mkdir /mnt/data
Verwenden Sie nun den Befehl mount, um die Partition /dev/sdb1 an das Verzeichnis /mnt/data zu binden.
sudo mount /dev/sdb1 /mnt/data
Um zu überprüfen, ob das Dateisystem eingehängt ist, kontrollieren wir zunächst den Mount-Status. Wir verwenden mehrere Befehle zur Verifizierung:
## Prüfen, ob das Verzeichnis ein Mountpoint ist
mountpoint /mnt/data
Wenn das Mounten erfolgreich war, sollten Sie Folgendes sehen:
/mnt/data is a mountpoint
Prüfen wir nun die Festplattenbelegung mit df. Aufgrund des Loop-Geräte-Setups erscheint die Partition möglicherweise mit ihrem echten Gerätenamen anstelle des symbolischen Links:
df -h /mnt/data
Sie sollten einen Eintrag sehen, der das eingehängte Dateisystem anzeigt:
Filesystem Size Used Avail Use% Mounted on
/dev/loop13p1 488M 2.6M 459M 1% /mnt/data
Sie können dies auch mit dem Befehl mount verifizieren:
mount | grep /mnt/data
Dies sollte Folgendes ausgeben:
/dev/loop13p1 on /mnt/data type ext4 (rw,relatime)
Testen wir nun, ob wir Daten auf unser neues Dateisystem schreiben können. Überprüfen wir zunächst die aktuellen Besitzer und Berechtigungen des Mountpoints:
ls -ld /mnt/data
Sie sollten etwas Ähnliches wie dies sehen:
drwxr-xr-x 3 root root 4096 Dec 12 10:00 /mnt/data
Versuchen Sie nun, eine Datei im Mountpoint zu erstellen:
touch /mnt/data/testfile
Dieser Befehl wird wahrscheinlich mit der Fehlermeldung "Permission denied" (Berechtigung verweigert) fehlschlagen. Das liegt daran, dass das Stammverzeichnis des eingehängten Dateisystems dem Benutzer root gehört. Um dies zu beheben, ändern Sie den Besitzer des Mountpoints auf Ihren aktuellen Benutzer labex:
sudo chown labex:labex /mnt/data
Versuchen Sie nun erneut, die Datei zu erstellen:
touch /mnt/data/testfile
Diesmal sollte der Befehl erfolgreich sein. Überprüfen Sie, ob die Datei erstellt wurde:
ls -l /mnt/data
Sie sollten Folgendes sehen:
total 16
drwx------ 2 root root 16384 Dec 12 10:00 lost+found
-rw-r--r-- 1 labex labex 0 Dec 12 10:05 testfile
Das Verzeichnis lost+found ist ein Standardmerkmal von ext4-Dateisystemen und wird zur Wiederherstellung von Dateien im Falle einer Dateisystembeschädigung verwendet.
Wenn Sie die Arbeit mit dem Dateisystem beendet haben, sollten Sie es mit dem Befehl umount aushängen. Beachten Sie, dass Sie ein Dateisystem nicht aushängen können, wenn es gerade verwendet wird – zum Beispiel, wenn Ihr aktuelles Arbeitsverzeichnis innerhalb des Mountpoints liegt. Sehen wir uns das in der Praxis an.
Wechseln Sie zuerst in das Verzeichnis /mnt/data:
cd /mnt/data
Versuchen Sie nun, es auszuhängen. Sie können ein Dateisystem entweder über seinen Gerätenamen oder seinen Mountpoint ansprechen.
sudo umount /mnt/data
Sie erhalten eine Fehlermeldung, dass das Ziel beschäftigt ist.
umount: /mnt/data: target is busy.
Um es erfolgreich auszuhängen, müssen Sie zuerst das Verzeichnis verlassen. Kehren wir in Ihr Home-Verzeichnis zurück.
cd ~
Führen Sie nun den Befehl umount erneut aus.
sudo umount /mnt/data
Der Befehl sollte ohne Ausgabe ausgeführt werden. Sie können mit dem Befehl mountpoint verifizieren, dass es nicht mehr eingehängt ist:
mountpoint /mnt/data
Sie sollten sehen:
/mnt/data is not a mountpoint
Schließlich können Sie aufräumen, indem Sie das Mountpoint-Verzeichnis entfernen:
sudo rmdir /mnt/data
Hinweis zur Fehlerbehebung: Falls der mount-Befehl nicht funktioniert, können Sie versuchen, den tatsächlichen Namen des Loop-Geräts anstelle des symbolischen Links zu verwenden:
## Den tatsächlichen Gerätenamen finden
ACTUAL_DEVICE=$(readlink -f /dev/sdb1)
echo "Actual device: $ACTUAL_DEVICE"
## Mit dem tatsächlichen Gerätenamen einhängen
sudo mkdir /mnt/data
sudo mount $ACTUAL_DEVICE /mnt/data