Warum Links in der Systemadministration nutzen?
Du solltest Links kennen, um Speicherplatz effizient zu nutzen, Dateizugriffe zu organisieren und Backups oder Systemwartung zu optimieren, ohne unnötige Duplikate zu erzeugen. Hard-Links eignen sich für identische Dateiinhalte auf demselben Dateisystem (z.B. Logs mit mehreren Zugriffspunkten), Soft-Links für flexible Pfadverweise auch über Dateisystemgrenzen (z.B. Konfigurationsdateien bei Migrationen), Kopien (cp) für unabhängige Duplikate (z.B. Backups).
Links mit ls -l erkennen
Links können anhand ihrer markierung vor den Berechtigungen mit ls -l erkannt werden. l steht wie man erahnen kann für Links. Wenn man die Inodes einsehen will geht das mit der Option -i.
$ ls -l
lrwxrwxrwx. 1 andy andy 11 18. Dez 10:19 linkname -> /etc/passwd
# Einsehen der Inodes
$ ls -li
2092875 lrwxrwxrwx. 1 andy andy 11 18. Dez 10:19 linkname -> /etc/passwd
Hard Links erstellen
Hard Links verweisen direkt auf denselben Inode – Änderungen der Links ändern die verlinkte Datei. Diese Funktionsweise versteht man wenn man weiß, dass Verzeichnisse Dateien sind welche Name der enthaltenen Dateien in führen, die wiederum Inodes zugeordnet sind. Somit können mehrere Namen auf einen Inode zeigen. Da eine Inode-Nummer auf verschieden Partitionen vorkommen kann, kann keine eindeutige Zuordnung erfolgen, was wie oben erwähnt dazu führt, dass nicht über Dateisysteme mit Hard-Links verknüpft werden kann.
ln datei hardlinkerstellt einen Hard Link; beide teilen Inode, Größe und Inhalt – prüfe mitls -li.
ln datei.txt hardlink.txt
ls -li datei.txt hardlink.txt
Verwende sie für Speicherspareffizienz bei großen, unveränderlichen Daten wie Binärdateien.
Soft Links erstellen
Soft Links sind Verknüpfungen zu Pfaden, die ungültig werden, wenn das Ziel fehlt.
ln -s ziel softlinkerstellt einen symbolischen Link; ideal für Verzeichnisse oder Pfadänderungen.
ln -s /etc/passwd symlink.txt
# Wenn ein Link bereits existiert kann im Force-Mode mit -f der Link überschrieben werden
ln -sf /etc/passwd symlink.txt
ls -l symlink.txt
Nutze sie für flexible Strukturen wie NFS-Mounts oder Paket-Upgrades.
Vergleich: Links vs. Kopien
| Methode | Speicherbedarf | Verhalten bei Änderung | Grenzen |
|---|---|---|---|
| Hard Link | Kein Extra | Synchron | Gleiches Dateisystem |
| Soft Link | Minimal | Kann brechen | Über FS-Grenzen möglich |
| Kopie (cp) | Vollständig | Unabhängig | Keine |
Nutze Hard Links für Daten-Duplikate, Soft Links für Umleitungen und cp für Isolation.
Link-Farmen mit cp-Optionen anlegen
Mit dem Kommando cp -l kannst du eine sogenannte Link-Farm erstellen, bei der die angegebenen Dateien nicht tatsächlich kopiert werden, sondern stattdessen harte Links auf die Originaldateien angelegt werden. Das bedeutet, dass alle Dateien physisch nur einmal auf der Festplatte gespeichert bleiben und somit nur einen einzigen Platzverbrauch haben, was besonders bei großen Dateihierarchien vorteilhaft ist.
In Analogie zu cp -l erstellt cp -s Link-Farmen mit symbolischen Links, die jedoch nicht so effizient sind wie harte Links, da sie Pfadabhängigkeiten haben und bei gelöschten Originalen ungültig werden. cp -a kopiert komplette Dateihierarchien erhalten, inklusive symbolischer Links als solche, was für genaue Abbilder ideal ist. Mit cp -L werden symbolische Links beim Kopieren durch die tatsächlichen Zieldateien ersetzt, während cp -P genau das verhindert und die Links beibehält.
cp -l /pfad/zur/original/datei /ziel/linkfarm/
cp -s /pfad/zur/original/datei /ziel/symlinkfarm/
cp -a /quelle/ /ziel/ # Archivkopie mit Links
cp -L /quelle/ /ziel/ # Dereferenzierte Kopie
cp -P /quelle/ /ziel/ # Links dereferenzieren verhindern
Zusammenfassung
Lerne ln definitiv um Hard- und Soft-Links zu beherschen. Sie sind sowohl im RHCSA als auch im LPIC-1 prüfungsrelevant. Hard Links teilen Inodes (speichersparend), Soft Links Pfade (flexibel). Wähle je nach Einsatz: Effizienz oder Unabhängigkeit.
Link-Farmen mit cp -l sparen Platz bei identischen Dateien, eignen sich super für datierte Backups, erfordern aber Vorsicht bei Änderungen, da harte Links zum Original verweisen – kopiere oder nutze smarte Editoren. Symbolische Varianten via cp -s sind flexibler, aber weniger robust, und Optionen wie cp -a, -L oder -P passen das Kopieren von Hierarchien präzise an deine Bedürfnisse an.
Schreibe einen Kommentar