Zum Inhalt springen

LPIC101/104.6 - Harte und symbolische Links

Aus Foxwiki

LPIC101/104.6 Harte und symbolische Links - erkennen, anlegen, ändern

Wichtigste Wissensgebiete

  1. Links anlegen
  2. harte und/oder symbolische Links identifizieren
  3. Dateien kopieren vs. verlinken
  4. Links verwenden, um Systemadministrationsaufgaben zu unterstützen

Wichtiger Dateien, Verzeichnisse und Anwendungen

Allgemeines

Wenn es ermöglicht werden soll, auf eine Datei von verschiedenen Verzeichnissen aus zuzugreifen,

  • können Sie auf diese Datei einen Link legen, anstatt die Datei in die verschiedenen Verzeichnisse zu kopieren
  • Das hat im Wesentlichen zwei Vorteile: Einerseits sparen Links Platz auf dem Datenträger,
  • weil eine Datei nicht mehrfach vorhanden sein muss, wenn sie über mehr,als nur einen Pfad bereitgestellt werden soll
  • Andererseits wird die Administration vereinfacht, weil man nicht mehrere Versionen einer Datei pflegen muss

Softlink

LPIC101/104.6 Harte und symbolische Links/Softlink

Hardlink

Bei einem Hardlink handelt es sich eigentlich nur um einen weiteren Verzeichniseintrag für eine existierende Datei

  • Demzufolge belegt er auch keinen eigenen Inode und fast gar keinen Speicherplatz im Dateisystem
  • Daraus ergeben sich völlig andere Eigenschaften im Vergleich zu einem symbolischen Link
  • Hardlinks können nicht auf Verzeichnisse angewandt werden, sondern nur auf Dateien
  • Hardlinks können nicht partitionsübergreifend eingesetzt werden
  • Es gibt keine verwaisten bzw.  gebrochenen Hardlinks
  • Eine Datei wird gelöscht,wenn der letzte Hardlink zu dieser Datei gelöscht wird
  • Die Zieldatei und der Hardlink verwenden eine gemeinsame Zugriffssteuerungsliste (ACL)
  • Ein Hardlink ist im Nachhinein nicht mehr von seiner Zieldatei zu unterscheiden

Wenn Sie das Kommando ln ohne Optionen verwenden, wird ein Hardlink erstellt

  • Die folgenden Kommandos demonstrieren die Eigenarten von Hardlinks
  • Zunächst werden zwei Hardlinks zu einer bestehenden Datei erstellt
  • Das Kommando ls-l zeigt das Ergebnis der Aktion
ln file1 hardlink1
ln file1 hardlink2
ls -l
 total 80
 drwxr-xr-x 2 root root 4096 Jan 2 19:21 
 drwxr-xr-x 24 root root 4096 Jan 2 17:55 
 -rw-r--r-- 3 root root 22271 Jan 2 19:21 file1
 -rw-r--r-- 3 root root 22271 Jan 2 19:21 hardlink1
 -rw-r--r-- 3 root root 22271 Jan 2 19:21 hardlink2

Die drei Dateien sind offensichtlich gleich groß und verfügen auch sonst über dieselben Eigenschaften

  • Mit ls -li soll festgestellt werden, welche Inodes die Dateien jeweils belegen
ls -li
 total 80
 1896834 drwxr-xr-x 2 root root 4096 Jan 2 19:21 
 2 drwxr-xr-x 24 root root 4096 Jan 2 17:55 
 1896921 -rw-r--r-- 3 root root 22271 Jan 2 19:21 file1
 1896921 -rw-r--r-- 3 root root 22271 Jan 2 19:21 hardlink1
 1896921 -rw-r--r-- 3 root root 22271 Jan 2 19:21 hardlink2

Alle drei Dateien verwenden dieselben Inode

  • Wenn Sie das Kommando stat auf eine der drei Dateien anwenden, sehen Sie zwei interessante Details
  • Erstens werden die Hardlinks als reguläre Dateien erkannt, und zweitens erkennt das Programm drei Links

Es wird also auch die ursprüngliche Datei als Link dargestellt

stat hardlink1
 File: `hardlink1'
 Size: 22271 Blocks: 48 IO Block: 4096 regular file
 Device: 302h/770d Inode: 1896921 Links: 3
 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
 Access: 2017-01-02 19:21:30.000000000 +0100
 Modify: 2017-01-02 19:21:30.000000000 +0100
 Change: 2017-01-02 19:21:46.000000000 +0100