Dateisystem- und Datenträgerverwaltung

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Willkommen in diesem Lab zu Dateisystem- und Datenträgerverwaltung in Linux! Dieses Lab ist für Anfänger gedacht, die gerade erst mit der Erkundung der Welt der Linux-Systemadministration beginnen. Wir werden Sie durch die wichtigsten Befehle und Konzepte führen, die sich auf die Verwaltung von Datenträgerplatz, die Erstellung virtueller Datenträger und die Wartung von Dateisystemen beziehen. Am Ende dieses Labs haben Sie praktische Erfahrungen mit den grundlegenden Linux-Tools zur Datenträgerverwaltung gesammelt.

Dies ist ein Guided Lab, das schrittweise Anweisungen bietet, um Ihnen beim Lernen und Üben zu helfen. Befolgen Sie die Anweisungen sorgfältig, um jeden Schritt abzuschließen und praktische Erfahrungen zu sammeln. Historische Daten zeigen, dass dies ein Labor der Stufe Anfänger mit einer Abschlussquote von 92% ist. Es hat eine positive Bewertungsrate von 98% von den Lernenden erhalten.

Anzeigen der Datenträgerauslastung mit df

Der Befehl df (disk free) ist das ideale Werkzeug, um die Datenträgerauslastung auf Ihrem Linux-System zu überprüfen. Lassen Sie uns untersuchen, wie Sie ihn verwenden können:

  1. Öffnen Sie Ihr Terminal. Sie sollten sich im Verzeichnis /home/labex/project befinden. Wenn Sie sich nicht sicher sind, können Sie immer den pwd-Befehl verwenden, um Ihr aktuelles Verzeichnis zu überprüfen.

  2. Führen Sie den folgenden Befehl aus, um die Datenträgerauslastung anzuzeigen:

    df

    Sie werden eine Ausgabe ähnlich der folgenden sehen:

    Filesystem     1K-blocks      Used Available Use% Mounted on
    overlay         20971520    128744  20842776   1% /
    tmpfs              65536         0     65536   0% /dev
    tmpfs            3995004         0   3995004   0% /sys/fs/cgroup
    shm                65536         0     65536   0% /dev/shm
    /dev/vdb       104806400  57754052  47052348  56% /etc/hosts

    Machen Sie sich keine Sorgen, wenn dies zunächst verwirrend aussieht! Lassen Sie uns es auseinandernehmen:

    • Filesystem: Diese Spalte zeigt den Namen des Datenträgers oder der Partition an.
    • 1K-blocks: Dies ist die Gesamtgröße des Dateisystems in 1-Kilobyte-Blöcken.
    • Used: Dies zeigt, wie viel Speicherplatz derzeit verwendet wird.
    • Available: Dies zeigt, wie viel freier Speicherplatz übrig ist.
    • Use%: Dies zeigt den Prozentsatz des Dateisystems an, der derzeit verwendet wird.
    • Mounted on: Dies zeigt, wo im Verzeichnisbaum das Dateisystem eingebunden ist.
  3. Jetzt lassen Sie uns diese Ausgabe lesbarer gestalten. Führen Sie aus:

    df -h

    Die Option -h steht für "human-readable" (menschenlesbar). Sie werden eine Ausgabe wie die folgende sehen:

    Filesystem      Size  Used Avail Use% Mounted on
    overlay          20G  126M   20G   1% /
    tmpfs            64M     0   64M   0% /dev
    tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
    shm              64M     0   64M   0% /dev/shm
    /dev/vdb        100G   56G   45G  56% /etc/hosts

    Viel besser, oder? Jetzt sind die Größen in GB und MB angegeben, was einfacher zu verstehen ist.

  4. Wenn Sie den Speicherplatz auf einem bestimmten Dateisystem überprüfen möchten, können Sie es angeben:

    df -h /dev/vdb

    Dies zeigt nur Informationen für das /dev/vdb-Dateisystem an.

Der df-Befehl ist unglaublich nützlich, um schnell zu überprüfen, wie viel Datenträgerplatz Ihnen noch zur Verfügung steht. Wenn Sie jemals Probleme haben, dass Ihr System meldet, dass der Speicherplatz knapp wird, ist df oft der erste Befehl, den Sie zur Untersuchung verwenden.

Untersuchung von Verzeichnisgrößen mit du

Während df uns einen Überblick über die Datenträgerauslastung gibt, müssen wir manchmal tiefer graben. Hier kommt du (disk usage) ins Spiel. Es hilft uns zu verstehen, welche Verzeichnisse und Dateien am meisten Speicherplatz beanspruchen.

  1. Beginnen wir damit, du in seiner einfachsten Form zu verwenden. Führen Sie aus:

    du ~

    Sie werden eine lange Liste von Zahlen und Verzeichnisnamen sehen. Jede Zahl repräsentiert die Größe des Verzeichnisses in Kilobyte. Dies kann überwältigend sein, also machen wir es übersichtlicher.

  2. Für eine lesbarere Ausgabe verwenden Sie die Option -h:

    du -h ~

    Die Option -h macht, genau wie bei df, die Ausgabe menschenlesbar. Sie werden die Größen in KB, MB oder GB je nach Bedarf sehen.

  3. Oft möchten wir nur die Gesamtgröße eines Verzeichnisses wissen. Verwenden Sie dafür:

    du -sh ~

    Hier bedeutet -s "summarize" (zusammenfassen), und ~ repräsentiert Ihr Home-Verzeichnis. Dieser Befehl zeigt Ihnen die Gesamtgröße aller Inhalte in Ihrem Home-Verzeichnis an.

  4. Um die Größen der direkt untergeordneten Verzeichnisse in Ihrem Home-Verzeichnis anzuzeigen, verwenden Sie:

    du -h --max-depth=1 ~

    Dies zeigt die Größe jedes Unterverzeichnisses in einer Ebene an. Die Option --max-depth=1 begrenzt, wie tief du in die Unterverzeichnisse vordringt.

  5. Lassen Sie uns die Größe der Elemente in Ihrem Home-Verzeichnis überprüfen:

    du -sh ~/*

    Dies zeigt die Größe jedes Elements direkt unterhalb Ihres Home-Verzeichnisses an.

  6. Hier ist ein leistungsstarker Befehl, um die größten Elemente in Ihrem Home-Verzeichnis zu finden:

    du -h ~ | sort -rh | head -n 10

    Lassen Sie uns diesen Befehl auseinandernehmen:

    • du -h ~ listet alle Dateien und Verzeichnisse in Ihrem Home-Verzeichnis mit ihren Größen auf.
    • sort -rh sortiert diese Liste in umgekehrter Reihenfolge (größtes zuerst) und in menschenlesbarer Form.
    • head -n 10 zeigt nur die ersten 10 Zeilen der Ausgabe an.
    • | ist eine Pipe, die die Ausgabe eines Befehls als Eingabe für den nächsten übergibt.

    Dieser Befehl ist ein großartiges Beispiel dafür, wie wir einfache Linux-Befehle kombinieren können, um komplexere Operationen auszuführen.

Der du-Befehl ist unschätzbar, wenn Sie versuchen, Datenträgerplatz freizumachen. Er hilft Ihnen zu identifizieren, welche Verzeichnisse oder Dateien am meisten Platz beanspruchen, sodass Sie wissen, wo Sie Ihre Reinigungsbemühungen konzentrieren sollten.

Erstellen und Verwalten einer virtuellen Festplatte

Jetzt werden wir eine virtuelle Festplatten-Datei erstellen, sie mit einem Dateisystem formatieren und einbinden. Dieser Prozess ähnelt dem Einrichten einer neuen Festplatte, aber wir tun alles innerhalb einer Datei.

  1. Zunächst erstellen wir eine 256-MB-virtuelle Festplatte mit dem dd-Befehl:

    dd if=/dev/zero of=virtual.img bs=1M count=256

    Hier ist, was dieser Befehl macht:

    • if=/dev/zero: Die Eingabedatei ist /dev/zero, eine spezielle Datei, die so viele Nullbytes liefert, wie von ihr gelesen werden.
    • of=virtual.img: Die Ausgabedatei ist virtual.img.
    • bs=1M: Setzt sowohl die Eingabe- als auch die Ausgabeblockgröße auf 1 Megabyte.
    • count=256: Kopiert nur 256 Eingabeblöcke.

    Dadurch wird effektiv eine 256-MB-Datei erstellt, die mit Nullen gefüllt ist.

  2. Überprüfen Sie die Dateigröße:

    ls -lh virtual.img

    Sie sollten sehen, dass virtual.img genau 256 MB groß ist.

  3. Jetzt formatieren wir diese virtuelle Festplatte mit einem ext4-Dateisystem:

    sudo mkfs.ext4 virtual.img

    Dieser Befehl erstellt ein ext4-Dateisystem auf unserer virtuellen Festplatten-Datei. Sie werden einige Ausgaben über den Dateisystemerstellungsprozess sehen.

  4. Als Nächstes müssen wir einen Einhängepunkt erstellen. Dies ist das Verzeichnis, in dem der Inhalt unserer virtuellen Festplatte erscheinen wird:

    sudo mkdir /mnt/virtualdisk
  5. Jetzt können wir die virtuelle Festplatte einhängen:

    sudo mount -o loop virtual.img /mnt/virtualdisk

    Die Option -o loop ist erforderlich, weil wir eine Datei wie ein Blockgerät einhängen.

  6. Lassen Sie uns überprüfen, ob die Festplatte eingebunden ist:

    mount | grep virtualdisk

    Sie sollten eine Zeile sehen, die angibt, dass virtual.img auf /mnt/virtualdisk eingebunden ist.

  7. Jetzt, da die Festplatte eingebunden ist, können wir sie wie jedes andere Verzeichnis verwenden. Lassen Sie uns eine Datei erstellen:

    sudo touch /mnt/virtualdisk/testfile
    ls /mnt/virtualdisk

    Sie sollten testfile in der Liste sehen.

  8. Wenn Sie die virtuelle Festplatte nicht mehr benötigen, sollten Sie sie aushängen:

    sudo umount /mnt/virtualdisk

Dieser Prozess des Erstellens, Formatierens und Einhängens einer virtuellen Festplatte ähnelt stark dem, der abläuft, wenn Sie eine neue Festplatte oder einen USB-Stick anschließen. Der Hauptunterschied besteht darin, dass wir alles mit einer Datei anstelle eines physischen Geräts tun.

Das Einhängen eines Dateisystems bedeutet, es an ein bestimmtes Verzeichnis anzuhängen, damit das Betriebssystem auf die Daten im Dateisystem zugreifen kann. In diesem Lab wird die virtuelle Festplattenabbilddatei so behandelt, als wäre es eine physische Festplatte, und das Einhängen macht ihren Inhalt in einem bestimmten Verzeichnis (z. B. /mnt/virtualdisk) verfügbar.

Das Aushängen entfernt das Dateisystem von diesem Verzeichnis und stellt sicher, dass das Betriebssystem alle ausstehenden Lese- und Schreibvorgänge abschließt, bevor es es abkoppelt. Ein fehlerhaftes Aushängen kann zu Datenbeschädigungen führen. Obwohl die Befehlssyntax sich auf das Aushängen des Verzeichnisses konzentriert, weiß das Betriebssystem im Hintergrund, dass dieses Verzeichnis der eingebundenen Festplattenabbilddatei entspricht.

Verwaltung von Datenträgerpartitionen mit fdisk

In einem realen System müssen Sie oft Partitionen erstellen, bevor Sie ein Dateisystem anlegen können. Obwohl wir in dieser virtuellen Umgebung keine echten Datenträgerpartitionen ändern können, können wir untersuchen, wie man fdisk verwendet, um Partitionsinformationen anzuzeigen.

  1. Zunächst lassen Sie uns Informationen über alle Datenträgerpartitionen anzeigen:

    sudo fdisk -l

    Dies zeigt Informationen über alle Datenträgergeräte und ihre Partitionen an. Sie werden Details über die Datenträgergröße, die Anzahl der Sektoren und die Partitionstabelle sehen.

  2. Jetzt schauen wir uns die Partitionsinformationen für unsere virtuelle Festplatte an:

    sudo fdisk -l virtual.img

    Dies zeigt Ihnen die Partitionstabelle der virtuellen Festplatte. Da wir das Dateisystem direkt auf dem Festplattenabbild ohne Partitionierung erstellt haben, sehen Sie möglicherweise eine Meldung, dass es keine gültige Partitionstabelle enthält.

In einem realen System würden Sie fdisk interaktiv verwenden, um Partitionen zu erstellen, zu löschen oder zu ändern. Hier ist eine kurze Übersicht darüber, wie das funktionieren würde:

  • Sie starten fdisk mit sudo fdisk /dev/sdX (ersetzen Sie X durch den entsprechenden Buchstaben für den Datenträger, den Sie partitionieren möchten)
  • Sie verwenden den Befehl 'n', um eine neue Partition zu erstellen
  • 'd' würde eine Partition löschen
  • 't' würde die System-ID einer Partition ändern (die angibt, wofür die Partition vorgesehen ist)
  • 'w' würde die Änderungen speichern und beenden

Denken Sie daran, dass das Ändern von Partitionen zu Datenverlust führen kann. Seien Sie daher immer vorsichtig und sichern Sie wichtige Daten, bevor Sie Änderungen an den Datenträgerpartitionen vornehmen.

Fdisk ist nicht nur auf die Anzeige von Partitionsinformationen beschränkt. Es kann auch interaktiv Datenträgerpartitionen erstellen, löschen und ändern. Obwohl es ein wesentliches Tool für die Datenträgerpartitionierung ist, seien Sie vorsichtig, wenn Sie fdisk verwenden, um Partitionen auf einem System mit kritischen Daten zu ändern; unsachgemäße Änderungen können zu Datenverlust führen.

Zusammenfassung

Herzlichen Glückwunsch! In diesem Lab haben Sie gelernt, wie Sie:

  1. Die Datenträgerauslastung mit df anzeigen
  2. Die Verzeichnisgrößen mit du untersuchen
  3. Eine virtuelle Festplatte erstellen, formatieren, einhängen und aushängen
  4. Partitionsinformationen mit fdisk anzeigen

Diese Fähigkeiten bilden die Grundlage für fortgeschrittenere Linux-Systemadministrationstasks. Sie sind von entscheidender Bedeutung für die Verwaltung von Speicherplatz, die Fehlerbehebung bei Datenträgerplatzproblemen und die Aufrechterhaltung der Dateisystemgesundheit in Linux-Systemen.

Als zusätzliche Herausforderung versuchen Sie, ein Shell-Skript zu schreiben, das die 10 größten Dateien oder Verzeichnisse in Ihrem Home-Verzeichnis findet und ihre Größen in menschenlesbarer Form anzeigt. Dies kombiniert mehrere der Befehle, die Sie in diesem Lab gelernt haben.

Denken Sie daran, dass Übung der Schlüssel zum Beherrschen dieser Konzepte ist. Zögern Sie nicht, mit diesen Befehlen (in einer sicheren Umgebung) zu experimentieren, um Ihr Verständnis zu vertiefen. Viel Glück bei Ihrer weiteren Lernreise in der Linux-Systemadministration!