Symlinks sind Dateien, die direkt mit anderen Dateien verknüpft sind. In Linux-Systemen dienen Symlinks als Verknüpfungen.
Der Begriff “Symlink” ist ein Portmanteau aus “symbolisch” und “Link”, das die Nützlichkeit solcher Dateien als symbolische Verweise auf andere Dinge hervorhebt.
Sogenannte “harte” Links fungieren eher als Kopien der Dateien, auf die sie verweisen, als als wörtliche Links. “Weiche” oder symbolische Links zeigen einfach auf ihre Ziele. Das Löschen dieser Links wirkt sich nicht auf die Dateien aus, auf die sie verweisen, und es können so viele Symlinks wie erforderlich erstellt werden. Dies macht sie ideal, um auf Dateien über Dateisysteme und Partitionen hinweg gleichermaßen zu verweisen.
Verwendung von Symlinks
Das Ändern der zugrunde liegenden Struktur eines Dateisystems für eine einzelne Anwendung, um effizienter ausgeführt zu werden, wäre eine ernsthafte Aufgabe. Stattdessen werden häufig Symlinks verwendet, um die Sache zu vereinfachen und künstliche Dateihierarchien zu erstellen, auf die Programme verweisen können, ohne die Speicherorte der Originaldateien zu beeinflussen.
Die Verwendung von Symlinks erleichtert die Anpassung verschiedener Programme, erschwert jedoch auch die Analyse des Dateisystems.
Probleme mit Symlinks
Wenn Symlinks ordnungsgemäß funktionieren, wird ein eindeutiger Pfad zu einer tatsächlich vorhandenen Datei angegeben. Fehlerhafte symbolische Links verweisen jedoch auf Dateien, die nicht vorhanden sind oder gelöscht wurden. Diese symbolischen Verknüpfungen sorgen sowohl für menschliche Benutzer als auch für Programme für Verwirrung, die von ihrer Genauigkeit abhängen.
Wenn Dateien, auf die Symlinks abzielen, ausgetauscht werden, zeigt der Link selbst weiterhin auf die neue Datei und ignoriert deren Inhalt vollständig. Diese Blind-Faith-Funktionalität macht Link-Verkettung und relative Links möglich.
Insbesondere die Verkettung von Verbindungen kann zu zyklischen Verbindungen (Verbindungsschleifen unendlicher Länge) führen, wenn eine Verbindung auf eine zweite Verbindung verweist, die wiederum auf die erste verweist.
Solche Rätsel werden nicht notwendigerweise allein durch menschliches Eingreifen verursacht. Inoptimale Standards für die Gerätemontage und bestimmte automatisierte Prozesse können dazu beitragen, in unglücklicher Menge sogenannte „Dead Links“ zu erstellen. Genau hier setzen Managementtechniken an.
Symlinks verwalten
In Linux-Systemen gibt es eine Vielzahl von Dienstprogrammen, die für die Verarbeitung von Symlinks verfügbar sind. Eine Standardeinbeziehung in Coreutils ist ln
Dies erleichtert die Erstellung solcher Links vom Terminal aus.
Um symbolische Links vollständig verwalten zu können, müssen Sie sie jedoch schnell finden und analysieren können. Eine einfache Befehlszeilenoption, die für diesen Zweck in Betracht gezogen werden sollte, trägt den passenden Namen symlinks
.
Obwohl einige Linux-Distributionen wie Fedora standardmäßig mit diesem Tool geliefert werden, ist dies bei anderen wie Ubuntu nicht der Fall. Um “Symlinks” in Ubuntu zu installieren, öffnen Sie einfach ein Terminalfenster und geben Sie Folgendes ein:
sudo apt install symlinks
Symlinks erstellen
Das Erstellen von Symlinks von Ihrem Terminal aus ist unter Linux einfach. Geben Sie den folgenden Code ein und ändern Sie “original-file.txt” in den Namen und die Dateierweiterung des von Ihnen ausgewählten Ziels. Ändern Sie dann “linkname” in den gewünschten Code.
ln -s original-file.txt linkname

Das ln
Das Dienstprogramm dient zum Erstellen von Links und wird dies tun, wenn Sie es ausführen. Das -s
Der im obigen Befehl enthaltene Link macht den generierten Link symbolisch.
Relative symbolische Links können auch durch Hinzufügen eines erstellt werden -r
auf den gleichen Befehl wie folgt:
ln -rs original-file.txt linkname

Relative Links bleiben unabhängig von Änderungen der Einhängepunkte funktionsfähig.
Symlinks finden
Das oben erwähnte Symlinks-Dienstprogramm bietet uns eine einfache Möglichkeit, symbolische Links in einem bestimmten Verzeichnis zu finden. Der Befehl hierfür lautet wie folgt: (Ändern Sie “Verzeichnisname” in den vollständigen Pfad zu dem Verzeichnis, das Sie durchsuchen möchten.)
symlinks -v directory-name

Hinzufügen eines r
Mit diesem Befehl wird Symlinks angewiesen, Dateien im angegebenen Verzeichnis rekursiv zu überprüfen. Das sieht folgendermaßen aus:
symlinks -rv directory-name

Seien Sie vorsichtig mit der Rekursion, wenn Sie sich Sorgen über Probleme mit zyklischen Links machen. Zyklische Links sind Links, die fälschlicherweise zu sich selbst zurückkehren. Sie können dazu führen, dass das Symlinks-Dienstprogramm hängen bleibt, wenn es versucht, in seine unendliche Struktur zurückzukehren.
Die nicht rekursive Version des oben gezeigten Befehls zeigt einfach an, dass vorhandene zyklische Links “baumeln” oder mit anderen Worten unterbrochen sind. Es ist die Analyse, zu der das Symlinks-Tool in der Lage ist, solche defekten Links tatsächlich zu reparieren.
Symlinks reparieren
Das Korrigieren symbolischer Links in einem bestimmten Verzeichnis ist mit Symlinks relativ einfach. Hier ist der zu verwendende Befehl:
symlinks -cds directory-name

Der obige Befehl führt mehrere Dinge gleichzeitig aus. Es konvertiert alle gefundenen absoluten Links in relative Links, entfernt baumelnde Links und verkürzt “lange” Links (Links mit vielen “../” in ihren Pfaden).
Wenn Sie sich über die möglichen Ergebnisse dieser Operation nicht sicher sind, können Sie testen, was passiert -c
allein würde nichts ändern, indem Folgendes ausgeführt wird:
symlinks -t directory-name

Hoffentlich haben Sie jetzt ein besseres Verständnis dafür, was symbolische Links sind und wie Sie sie effizient verwalten können. Schauen Sie sich den Rest der Funktionen des Symlinks-Dienstprogramms um spezifischere Vorgänge auf Ihrem Dateisystem auszuführen.