So verwenden Sie Bind-Mounts und Symlinks unter Linux

Viele alltägliche Vorgänge unter Linux, die von vielen Nutzern als unbedeutend abgetan werden, sind tatsächlich äußerst nützlich. Wenn neue Benutzer diese vermeintlich banalen Tricks beherrschen, können sie ihre Linux-Kenntnisse erheblich verbessern. Symlinks und Bind-Mounts sind hierfür ein treffendes Beispiel. In diesem Beitrag werden wir detailliert erklären, was ein Symlink ist, wie man ihn erstellt und wozu er dient. Darüber hinaus werden wir uns mit Bind-Mounts beschäftigen, deren Vorteile hervorheben und demonstrieren, wie man sie mit bindfs erweitern kann.

Achtung: Am Ende dieses Artikels befindet sich ein Video-Tutorial.

Was genau ist ein symbolischer Link (Symlink)?

Ein Symlink, auch symbolische Verknüpfung genannt, fungiert als Referenz auf eine andere Datei oder einen Ordner, der sich an einer anderen Stelle im Dateisystem befindet. Anstatt beispielsweise Bibliotheken auf dem System eines Benutzers zu duplizieren, erstellen viele Entwickler symbolische Links zu den entsprechenden Bibliotheksordnern und Programmdateien. Auf diese Weise kann das Programm reibungslos auf alle erforderlichen Tools und Bibliotheksdateien zugreifen, ohne unnötigen Ballast zu erzeugen.

Symlinks werden auch eingesetzt, um auf Dateien zwischen verschiedenen Partitionen und Laufwerken zu verweisen. Nehmen wir an, Ihre gesamte Musikbibliothek mit einer Größe von 500 GB befindet sich auf Festplatte B. Aufgrund ihrer Größe ist es nicht möglich, diese direkt auf Festplatte A (dem Systemlaufwerk) zu verschieben.

Um dieses Problem elegant zu umgehen, kann ein Benutzer einen Symlink erstellen, der von einer beliebigen Datei auf Laufwerk B auf Laufwerk A verweist. So kann der Musikplayer problemlos alle Musikdateien finden und abspielen.

Wie man Symlinks einsetzt

Symbolische Links können auf zwei Arten verwendet werden: um ein gesamtes Verzeichnis oder eine einzelne Datei zu verlinken. Hier zeigen wir, wie man sie erstellt.

Erstellen eines Symlinks für eine Datei

Um eine Datei per Symlink zu verknüpfen, öffnen Sie zuerst ein Terminal. Navigieren Sie dann mit dem Befehl ‚cd‘ zu dem Verzeichnis, in dem sich die zu verknüpfende Datei befindet.

cd ~/pfad/zur/datei

Erstellen Sie nun den symbolischen Link. Beachten Sie dabei, wohin der Link zeigen soll.

ln -s original-datei /pfad/wo/der/link/hin/soll

Erstellen eines Symlinks für einen Ordner

ln -s /pfad/zum/original/ordner /pfad/wo/der/verlinkte/ordner/hin/soll

Löschen eines Symlinks

cd /pfad/wo/der/symlink/ist
rm symlinkname
unlink symlinkname

Was ist ein Bind-Mount?

Ein Bind-Mount ist eine Methode, um den Inhalt eines Ordners an einer bestimmten Stelle im Dateisystem in einem anderen Verzeichnis sichtbar zu machen. Obwohl dies oberflächlich betrachtet der Verlinkung eines Ordners ähnelt, ist die Funktionsweise grundlegend verschieden. Bind-Mounts sind äußerst nützlich. Systemadministratoren nutzen sie häufig, um schnell zusätzlichen Speicherplatz zu einem Ordner hinzuzufügen, insbesondere wenn das Hauptdateisystem schreibgeschützt ist. Sie können auch verwendet werden, um Netzwerklaufwerke ohne die Notwendigkeit, Einträge in der fstab-Datei zu erstellen, lokal einzubinden.

Bind-Mounts mit dem integrierten Linux-Kernel-Befehl nutzen

Der Linux-Kernel verfügt über einen integrierten Befehl für Bind-Mounts. Dies ermöglicht es Nutzern, Verzeichnisinhalte nahtlos im gesamten Dateisystem zu „montieren“. Hier ist die Vorgehensweise:

Betrachten Sie ein Verzeichnis mit Dateien, die Sie an einem anderen Ort bereitstellen möchten. Sobald Sie den ursprünglichen Speicherort kennen, wählen Sie den Zielort für die „Montage“.

In unserem Beispiel binden wir ein Musikverzeichnis von einer Festplatte auf eine andere:

sudo mount --bind /mnt/Datenlaufwerk/Musik /home/benutzer/Musik

Die Bindung wird mit folgendem Befehl wieder aufgehoben:

umount /home/benutzer/Musik

BindFS

Bevor Sie einen Bind-Mount durchführen, sollten Sie bindfs installieren. Dieses Tool erweitert die Funktionalität von Bind-Mounts um zusätzliche Optionen, wie etwa Berechtigungseinstellungen und verbesserte Spiegelung. Hier erfahren Sie, wie Sie es auf verschiedenen Linux-Distributionen installieren:

Ubuntu

sudo apt install bindfs

Debian

sudo apt-get install bindfs

Arch Linux

Bindfs ist leider nicht in den offiziellen Arch-Softwarequellen enthalten. Benutzer können es jedoch über dieses AUR-Paket installieren.

Fedora

sudo dnf install bindfs

OpenSUSE

sudo zypper install bindfs

Andere Linux-Distributionen

Um bindfs auf Ihrer bevorzugten Linux-Distribution zu installieren, besuchen Sie die offizielle bindfs-Website. Alternativ können Sie in Ihrem Paketmanager nach „bindfs“ suchen und es so installieren.

Bind-Mounts mit Bindfs einsetzen

Die Verwendung von bindfs bietet einige Vorteile. Der integrierte Kernel-Bind-Befehl ist zwar schnell, aber sehr einfach und bietet keine erweiterten Funktionen wie die Einschränkung des Zugriffs auf Mounts. Hier erfahren Sie, wie Sie bindfs nutzen:

Erstellen eines schreibgeschützten Bind-Mounts

bindfs --perms=a-w /pfad/zum/original/verzeichnis/ /pfad/wo/gemountet/wird/

Erstellen eines Lese-/Schreib-Bind-Mounts

bindfs /pfad/zum/original/verzeichnis /pfad/wo/gemountet/wird

Aufheben eines bindfs-Mounts

sudo umount /pfad/wo/gemountet/wird/

Fazit

Alltägliche Aktionen wie symbolische Links und Bind-Mounts werden oft unterschätzt, da sie für viele Nutzer auf den ersten Blick nicht sonderlich spannend erscheinen. Die Realität ist jedoch, dass das Wissen um die Möglichkeiten von Symlinks für den schnellen Zugriff auf Dateien und Bind-Mounts für das einfache Hinzufügen von zusätzlichem Speicherplatz den Umgang mit Linux deutlich erleichtern kann und diese Themen dadurch an Relevanz gewinnen.