So verwenden Sie Bind-Mounts und Symlinks unter Linux

Es gibt viele alltägliche Dinge unter Linux, von denen viele Benutzer nicht viel halten, die unglaublich nützlich sind. Wenn neue Benutzer lernen, diese banalen, langweiligen kleinen Tricks anzuwenden, werden sie zu besseren Linux-Benutzern. Bind-Mounts und Symlinks unter Linux sind ein Paradebeispiel dafür. In diesem Artikel werden wir genau besprechen, was ein Symlink ist, wie man einen erstellt und wozu er dient. Wir gehen auch darauf ein, wie man Bind-Mounts erstellt, warum sie so nützlich sind, und zeigen Benutzern sogar, wie sie ihre Bind-Mounts mit bindfs aufpeppen können!

SPOILER-WARNUNG: Scrollen Sie nach unten und sehen Sie sich das Video-Tutorial am Ende dieses Artikels an.

Was ist ein Symlink?

Ein Symlink oder „symbolischer Link“ ist ein Verweis auf eine andere Datei oder einen Ordner an einer anderen Stelle im Dateisystem. Beispielsweise lassen die meisten Entwickler, anstatt Bibliotheken auf dem System eines Benutzers zu duplizieren, ihren Code stattdessen symbolische Verknüpfungen zu Bibliotheksordnern und Programmdateien erstellen. Dadurch verfügt das Programm problemlos über alle erforderlichen Tools und Bibliotheksdateien, die es zum Ausführen benötigt, ohne zusätzliche Cruft zu erstellen.

Symlinks werden auch verwendet, wenn Dateien zwischen verschiedenen Partitionen und Laufwerken referenziert werden. Beispiel: Ihre gesamte Musikbibliothek ist auf Festplatte B gespeichert und die Größe der gesamten Bibliothek beträgt 500 GB. Aufgrund ihrer Größe ist es nicht möglich, die Musikbibliothek direkt auf Festplatte A (auch bekannt als Systemlaufwerk) zu verschieben.

Um dieses Problem einfach zu lösen, können Benutzer einen symbolischen Link erstellen und auf jede Datei von Laufwerk B zu Laufwerk A verweisen. Auf diese Weise kann der Musikplayer alle Musikdateien leicht finden und darauf zugreifen.

Verwendung von Symlinks

Symbolische Links können auf zwei Arten verwendet werden: um ein ganzes Verzeichnis oder eine einzelne Datei zu verlinken. So erstellen Sie sie.

Verknüpfen Sie eine Datei per Symlink

Um eine Datei per Symlink zu verknüpfen, öffnen Sie zunächst ein Terminal. Als nächstes cd in das Verzeichnis mit der zu verknüpfenden Datei.

cd ~/path/to/file

Erstellen Sie den symbolischen Link. Denken Sie daran, wohin der Link gehen soll.

ln -s original-file /path/where/link/goes

Symlink einen Ordner

ln -s /path/to/original/folder /path/where/linked/folder/goes

Löschen Sie einen Symlink

cd /path/where/symlink/is
rm symlinkname
unlink symlinkname

Was ist ein Bind-Mount?

Ein bin-mount ist eine Möglichkeit, den Inhalt eines Ordners an einer Stelle im Dateisystem in einem anderen Verzeichnis anzuzeigen. Bind-Mounting klingt sehr nach dem symbolischen Linken eines Ordners, aber es ist etwas ganz anderes. Die Bindungshalterung ist sehr nützlich. Systemadministratoren verwenden diese Methode häufig, um schnell mehr Speicher zu einem Ordner hinzuzufügen, wenn das Dateisystem des Hauptsystems „schreibgeschützt“ ist. Bind-Mounts können auch verwendet werden, um eine Netzwerkfreigabe schnell an ein lokales Verzeichnis zu binden, ohne dass ein Mount-Punkt in der fstab-Datei eingerichtet werden muss usw.

Verwenden von Bind-Mounts mit dem integrierten Linux-Kernel-Befehl

Der Linux-Kernel hat einen eingebauten Bindebefehl. Aus diesem Grund können Benutzer den Inhalt von Verzeichnissen problemlos über das Dateisystem hinweg bereitstellen. Hier ist, wie es geht.

Denken Sie an ein Verzeichnis mit Dateien, die Sie an einem anderen Ort bereitstellen möchten. Wenn Sie den Standort im Auge haben, denken Sie an den Ort, an dem Sie es montieren möchten.

In diesem Beispiel binden wir ein Musikverzeichnis von einer Festplatte an die andere.

sudo mount --bind /mnt/DataDrive/Music /home/user/Music

Unmounten Sie die Bindungshalterung mit:

umount /home/derrik/Music

BindFS

Bevor Sie einen Bind-Mount durchführen, müssen Sie bindfs installieren. Es ist ein Tool, das das Bind-Mounting ermöglicht und zusätzliche Funktionen hinzufügt (Berechtigungseinstellungen, bessere Spiegelung usw.). So erhalten Sie es auf Ihrer Linux-Distribution:

Ubuntu

sudo apt install bindfs

Debian

sudo apt-get install bindfs

Arch-Linux

Bindfs ist leider nicht in den offiziellen Arch-Softwarequellen enthalten. Wenn Benutzer bindfs verwenden möchten, müssen sie es installieren dieses AUR-Paket stattdessen.

Fedora

sudo dnf install bindfs

OpenSUSE

sudo zypper install bindfs

Andere Linuxe

Um bindfs für die Linux-Distribution Ihrer Wahl zu erhalten, sollten Sie zum offiziellen gehen bindfs-Website. Alternativ öffnen Sie den Paketmanager auf Ihrem Linux-PC, suchen Sie nach „bindfs“ und installieren Sie es!

Verwenden von Bindfs für Bind-Mounts

Die Verwendung von bindfs hat seine Vorteile. Der eingebaute Kernel-Bind-Befehl funktioniert im Handumdrehen, aber er ist sehr einfach und erlaubt keine erweiterten Funktionen wie das Einschränken des Zugriffs auf Binds usw. So verwenden Sie bindfs.

Machen Sie einen schreibgeschützten Bind-Mount

bindfs --perms=a-w /path/to/the/original/directory/ /path/to/bind/to/

Machen Sie einen Read/Write-Bind-Mount

bindfs /path/to/the/original/directory /path/to/bind/to

Unmounten Sie ein bindfs-Mount

sudo umount /path/to/bind/

Fazit

Alltägliche Operationen wie symbolische Links und Bind-Mounts sind wahrscheinlich das am wenigsten erforschte Thema unter Linux, da sie ziemlich uninteressant sind und von allgemeinen Benutzern normalerweise nicht verwendet werden. Tatsache ist: Wenn Sie lernen, dass Sie mit symbolischen Links überall schnell und einfach auf Dateien zugreifen können oder dass Bind Mounts es unglaublich einfach machen können, zusätzlichen Speicherplatz anzubringen, wo immer Sie möchten, werden diese Themen viel interessanter.