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.