|
|
Zeile 20: |
Zeile 20: |
|
| |
|
| === Softlink === | | === Softlink === |
| Softlinks werden auch als symbolische Links bezeichnet
| | '''[[LPIC101/104.6 Harte und symbolische Links/Softlink]]''' |
| * Ein Softlink ist im Prinzip ein Zeiger, der auf eine Datei zeigt
| |
| * Er belegt nur wenig Speicherplatz auf dem Datenträger, auf dem er angelegt wurde
| |
| * Die Besonderheiten eines Softlinks sind
| |
| * Er kann sowohl auf Dateien als auch auf Verzeichnisse verweisen
| |
| * Er kann auf Dateien und Verzeichnisse einer anderen oder der Partition angewandt werden, auf der er sich selbst befindet
| |
| * Er verwendet die Dateiberechtigungen der Zieldatei und ist deshalb immer mit Lese-, Schreib- und Ausführungsrechten versehen
| |
| * Ein Softlink bleibt bestehen, wenn die Zieldatei gelöscht wird
| |
| * Man bezeichnet einen solchen verwaisten Link auch als gebrochenen Link
| |
| | |
| Die folgenden kommentierten Kommandos demonstrieren das Verhalten von Softlinks
| |
| * Das erste Kommando ln-s erzeugt einen Softlink mit der Bezeichnung
| |
| softlink,der auf die existierende Datei file1 verweist
| |
| * Mit dem zweiten Kommando wird das Ergebnis der Aktion überprüft
| |
| sudo ln -s file1 softlink
| |
| sudo ls -l
| |
| total 44
| |
| drwxr-xr-x 2 root root 4096 Jan 2 18:00
| |
| drwxr-xr-x 24 root root 4096 Jan 2 17:55
| |
| -rw-r--r-- 1 root root 35184 Jan 2 17:55 file1
| |
| lrwxrwxrwx 1 root root 5 Jan 2 18:00 softlink -> file1
| |
| Die erste Spalte der letzten Zeile des Kommandos ls-l zeigt an, dass es sich um einen Link handelt
| |
| * Beachten Sie bitte auch, dass in der Zugriffssteuerungsliste alle Rechte gesetzt sind
| |
| * Wenn Sie nun den Modus dieses Links verändern, ändert sich stattdes-sen der Modus der Zieldatei
| |
| | |
| sudo chmod a+w softlink
| |
| sudo ls -l
| |
| total 44
| |
| drwxr-xr-x 2 root root 4096 Jan 2 18:00
| |
| drwxr-xr-x 24 root root 4096 Jan 2 17:55
| |
| -rw-rw-rw- 1 root root 35184 Jan 2 17:55 file1
| |
| lrwxrwxrwx 1 root root 5 Jan 2 18:00 softlink -> file1
| |
| | |
| Das erste Kommando fügt zu softlink Schreibrechte für alle hinzu
| |
| * Diese Rechte werden aber stattdessen der Datei file1 hinzugefügt,wie Sie sehen.Es gibt mehrere Methoden, sich die Auswirkungen von Links anzusehen
| |
| * Mit dem Kommando ls-li kann z. B. nachgewiesen werden, dass die Zieldatei und der Softlink zwei verschiedene Inodes verwenden
| |
| | |
| sudo ls -li
| |
| total 44
| |
| 1896834 drwxr-xr-x 2 root root 4096 Jan 2 18:00
| |
| 2 drwxr-xr-x 24 root root 4096 Jan 2 17:55
| |
| 1896921 -rw-rw-rw- 1 root root 35184 Jan 2 17:55 file1
| |
| 1896920 lrwxrwxrwx 1 root root 5 Jan 2 18:00 softlink -> file1
| |
| Die Datei file1 verwendet den Inode 1896921, während der Softlink softlink den Inode 1896920 belegt
| |
| * Mit dem Kommando stat kann Ähnliches nachgewiesen werden
| |
| sudo stat softlink
| |
| File: `softlink' -> `file1'
| |
| Size: 5 Blocks: 0 IO Block: 4096 symbolic link
| |
| Device: 302h/770d Inode: 1896920 Links: 1
| |
| Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
| |
| Access: 2017-01-02 18:26:45.000000000 +0100
| |
| Modify: 2017-01-02 18:00:07.000000000 +0100
| |
| Change: 2017-01-02 18:00:07.000000000 +0100
| |
| | |
| In der zweiten Zeile der Kommandoausgabe wird angezeigt, dass es sich um einen symbolischen Link handelt
| |
| * Die Zugriffsrechte sind auch noch einmal deutlich dargestellt
| |
| * Wenden Sie dasselbe Kommando auf die Zieldatei des Links an, ergibt sich folgendes Bild
| |
| sudo stat file1
| |
| File: `file1'
| |
| Size: 35184 Blocks: 72 IO Block: 4096 regular file
| |
| Device: 302h/770d Inode: 1896921 Links: 1
| |
| Access: (0666/-rw-rw-rw-) Uid: ( 0/ root) Gid: ( 0/ root)
| |
| Access: 2017-01-02 17:55:38.000000000 +0100
| |
| Modify: 2017-01-02 17:55:38.000000000 +0100
| |
| Change: 2017-01-02 18:01:03.000000000 +0100
| |
| Die zweite Zeile besagt, dass es sich um eine gewöhnliche Datei handelt
| |
| * Auch hier sieht man deutlich, dass die Zieldatei und der Softlink zwei verschiedene Inodes verwenden
| |
| | |
| Mit den nächsten Kommandos wird demonstriert, was geschieht, wenn Sie die Zieldatei eines symbolischen Links löschen, den Link selbst aber nicht
| |
| sudo rm file1
| |
| | |
| Die Zieldatei ist nun gelöscht
| |
| | |
| sudo ls -l
| |
| total 8
| |
| drwxr-xr-x 2 root root 4096 Jan 2 18:40
| |
| drwxr-xr-x 24 root root 4096 Jan 2 17:55
| |
| lrwxrwxrwx 1 root root 5 Jan 2 18:00 softlink -> file1
| |
| | |
| Der Softlink ist, wie Sie sehen, bestehen geblieben
| |
| * Wenn Sie nun versuchen, über diesen Link auf die nicht mehr existieren
| |
| de Datei zuzugreifen, erhalten Sie jedoch eine Fehlermeldung
| |
| sudo cat softlink
| |
| cat: softlink: No such file or directory
| |
| | |
| Ein typisches Beispiel für die praktische Verwendung von Softlinks sind die Verlinkungen der init-Skripte, die beim Systemstart abgearbeitet werden. »Runlevel wechseln und das System anhalten oder neu starten«, behandelt
| |
| * Sie sehen hier einen Teil der Links, die zum Runlevel 3 eines Systems gehören
| |
| | |
| /etc/rc.d/rc3.d # ls -l
| |
| total 8
| |
| drwxr-xr-x 2 root root 4096 Oct 19 21:53 ./
| |
| drwxr-xr-x 11 root root 4096 Dec 19 11:04 ../
| |
| lrwxrwxrwx 1 root root 7 Jul 20 2017 K03cron -> ../cron*
| |
| lrwxrwxrwx 1 root root 8 Jul 20 2017 K03smbfs -> ../smbfs*
| |
| lrwxrwxrwx 1 root root 6 Jul 20 2017 K05smb -> ../smb*
| |
| lrwxrwxrwx 1 root root 8 Jul 20 2017 K05squid -> ../squid*
| |
|
| |
| * weitere Zeilen wurden entfernt
| |
| [[Datei: Hardlink.png]]
| |
|
| |
|
| === Hardlink === | | === Hardlink === |
LPIC101/104.6 Harte und symbolische Links - erkennen, anlegen, ändern
Wichtigste Wissensgebiete
- Links anlegen
- harte und/oder symbolische Links identifizieren
- Dateien kopieren vs. verlinken
- 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
sudo ln file1 hardlink1
sudo ln file1 hardlink2
sudo 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
sudo 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 ein und de nselben 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
sudo 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