Debian. Spickzettel des Systemadministrators. Simlinks und Hardlinks


Debian.  Spickzettel des Systemadministrators.  Simlinks und Hardlinks
www.debian.org

Artikel Debian. Spickzettel des Systemadministrators. Simlinks und Hardlinks zielt darauf ab, die Konzepte von Hard- und Soft-Links zu beleuchten und über die zugrunde liegenden Inodes zu berichten.


Wenn Sie an Debian und verwandten Anwendungen interessiert sind, empfehle ich, das Debian-Tag in meinem Blog zu lesen.


Debian. Spickzettel des Systemadministrators. Simlinks und Hardlinks

Beginnen wir mit dem Wichtigsten.

Inode

Wenn Sie versuchen zu verstehen, wie ein Dateisystem funktioniert, gelangen Sie zum Konzept eines Inodes (oder Inodes). Diese Struktur speichert Metadaten zu Dateisystemobjekten (seien es Dateien, Verzeichnisse oder etwas anderes). Metadaten enthalten neben dem Namen Informationen über die Größe einer Datei, ihren Eigentümer, Zugriffsrechte und vieles mehr.

Hinweis: Zum besseren Verständnis können wir sagen, dass Inodes Indizes ähnlich sind, aber dies ist ein sehr grober Vergleich, obwohl er häufig verwendet wird, auch in der offiziellen Dokumentation.

Ext4 weist beim Erstellen eines Dateisystems einen festen Inodes-Wert zu, der ungefähr 1% der Volume-Größe entspricht. Daraus folgt sofort, dass Sie auf einem bestimmten Volume eine begrenzte Anzahl von Dateien / Verzeichnissen erstellen können, selbst wenn genügend freier Speicherplatz vorhanden ist – eine große Anzahl kleiner Dateien kann einfach alle verfügbaren Inodes verschlingen.

Hinweis: Es gibt keine schmerzlose Methode zur Behebung des Inodes-Mangelproblems außer dem manuellen Löschen unnötiger Dateien. Wir müssen das Dateisystem neu erstellen.

Mit dem bekannten Befehl können Sie die Inode-Nummer einer Datei oder eines Verzeichnisses anzeigen ls Mit Schlüssel -ich::


Die erste Ziffer ist die Inode-Nummer.

Mit dem Befehl können Sie eine Zusammenfassung der Inodes auf jedem logischen Volume anzeigen df auch mit Schlüssel -ich (Befehlsausgabe abgekürzt):


Wenn Sie wissen müssen, welches Verzeichnis die meisten Inodes gegessen hat (mit anderen Worten, welches Verzeichnis die meisten Objekte hat), können Sie dies mit dem Befehl herausfinden (Ausgabe wird gekürzt):


Schauen wir uns nun die harten Links an.

Harte Links

Mit dem folgenden Befehl kann ein fester Link zu einer Datei erstellt werden:

Zunächst habe ich in dem Artikel über das Konzept gesprochen Inode und es war nicht nur das. Sehen wir uns die Ausgabe des Befehls an ls::


Es fällt auf, dass Der Inode der Datei und ihre feste Verknüpfung sind identisch! Das heißt, es ist im Wesentlichen das gleiche Objekt aus Sicht des Dateisystems, und die feste Verknüpfung zeigt einfach auf den Inode.

Mehrere Schlussfolgerungen können sofort gezogen werden. Erstens, Wenn die Datei verschoben wird, funktioniert die feste Verknüpfung weiterhin… Zweitens können Hardlinks nur zu Dateien erstellt werden innerhalb der Grenzen eines Dateisystemsweil sonst die Inodes nicht eindeutig sind.

Es gibt noch eine weitere sehr interessante Funktion von Hardlinks, die ich demonstrieren möchte. Löschen Sie dazu die Originaldatei:

Nachdem Sie die Funktionalität des verbleibenden “verwaisten” Hardlinks überprüft haben, werden Sie feststellen, dass er weiterhin funktionsfähig ist! Also, Die Daten bleiben verfügbar, bis die Datei selbst und alle ihre festen Links gelöscht werden.

Wir können noch weiter gehen und daraus schließen Die Datei selbst ist der harte Link zu Daten auf dem Speichergerät. Dies wird durch die Ausgabe des Befehls leicht bestätigt ls (Nur für den Fall, ich werde es noch einmal duplizieren):

Achten Sie auf die fett gedruckte Zahl. Es gibt die Anzahl der festen Links zur Datei an.

Nun zu den Einschränkungen – Sie können keinen festen Link zum Verzeichnis erstellen, Andernfalls besteht die Möglichkeit, Schleifenzeiger zu erstellen (das Unterverzeichnis hat eine feste Verknüpfung zu seinem übergeordneten Verzeichnis).

Softlinks

Softlinks (Symlinks, symbolische Links) werden mit demselben Dienstprogramm erstellt, jedoch mit einem zusätzlichen Schlüssel:

Wenn wir uns jetzt die Inodes der Datei und ihren Symlink ansehen:

… wir werden sehen, dass sie unterschiedlich sind. Mit anderen Worten, dies sind völlig unterschiedliche Objekte für das Dateisystem, und der Symlink enthält lediglich Informationen über den Pfad zur Datei. Daraus können wir schließen Wenn Sie eine Datei verschieben, befindet sich der Symlink zu dieser Datei in einem “angehaltenen” ZustandDas heißt, es wird nicht mehr funktionieren. Das gleiche passiert beim Löschen der Originaldatei.

Wenn ein Symlink jedoch ein separates Dateisystemobjekt ist, werden viele Einschränkungen sofort aufgehoben. Zum Beispiel ganz Sie können einen Symlink zu einer Datei außerhalb des aktuellen Dateisystems erstellenweil wir nicht mehr auf die Inode beschränkt sind. Auch verbietet niemand Erstellen Sie einen Symlink zu einem Verzeichnis.

Das sind alle Funktionen.

Kommentare bereitgestellt von HyperComments

Leave a Reply

Your email address will not be published. Required fields are marked *