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.
Inhaltsverzeichnis
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.