Website-Suche

So reparieren und defragmentieren Sie Linux-Systempartitionen und -Verzeichnisse


Leute, die Linux verwenden, denken oft, dass es keine Defragmentierung erfordert. Dies ist ein häufiges Missverständnis unter Linux-Benutzern. Tatsächlich unterstützt das Linux-Betriebssystem die Defragmentierung. Der Zweck der Defragmentierung besteht darin, E/A-Vorgänge zu verbessern, z. B. das schnellere Laden lokaler Videos oder das deutlich schnellere Extrahieren von Archiven.

Die Linux-Dateisysteme ext2, ext3 und ext4 benötigen nicht so viel Aufmerksamkeit, aber mit der Zeit, nach der Ausführung vieler, vieler Lese-/Schreibvorgänge, muss das Dateisystem möglicherweise optimiert werden. Andernfalls könnte die Festplatte langsamer werden und das gesamte System beeinträchtigen.

In diesem Tutorial zeige ich Ihnen einige verschiedene Techniken zur Defragmentierung von Dateien. Bevor wir beginnen, sollten wir erwähnen, was die gängigen Dateisysteme wie ext2,3,4 tun, um Fragmentierung zu verhindern. Diese Dateisysteme enthalten Techniken, um den Effekt zu verhindern. Beispielsweise reservieren Dateisysteme freie Blockgruppen auf der Festplatte, um wachsende Dateien vollständig zu speichern.

Leider wird das Problem mit einem solchen Mechanismus nicht immer gelöst. Während andere Betriebssysteme möglicherweise teure zusätzliche Software zur Lösung solcher Probleme benötigen, verfügt Linux über einige einfach zu installierende Tools, die Ihnen bei der Lösung solcher Probleme helfen können.

Wie prüft man, ob ein Dateisystem eine Defragmentierung erfordert?

Bevor wir beginnen, möchte ich darauf hinweisen, dass die folgenden Vorgänge nur auf HDDs und nicht auf SSD ausgeführt werden sollten. Durch die Defragmentierung Ihres SSD-Laufwerks erhöht sich nur die Anzahl der Lese-/Schreibvorgänge und die Lebensdauer wird verkürzt. Wenn Sie SSD verwenden, sollten Sie stattdessen die TRIM-Funktion verwenden, die in diesem Tutorial nicht behandelt wird.

Lassen Sie uns testen, ob das System tatsächlich eine Defragmentierung erfordert. Wir können dies leicht mit einem Tool wie e2fsck überprüfen. Bevor Sie dieses Tool auf einer Partition Ihres Systems verwenden, wird empfohlen, die Bereitstellung dieser Partition mit aufzuheben. Dies ist nicht unbedingt notwendig, aber der sichere Weg:

sudo umount <device file>

In meinem Fall habe ich /dev/sda1 unter /tmp gemountet:

Beachten Sie, dass die Partitionstabelle in Ihrem Fall möglicherweise anders ist. Stellen Sie daher sicher, dass Sie die richtige Partition unmounten. Um die Bereitstellung dieser Partition aufzuheben, können Sie Folgendes verwenden:

sudo umount /dev/sda1

Lassen Sie uns nun mit e2fsck prüfen, ob diese Partition defragmentiert werden muss. Sie müssen den folgenden Befehl ausführen:

sudo e2fsck -fn /dev/sda1

Der obige Befehl führt eine Dateisystemprüfung durch. Die Option -f erzwingt die Prüfung, auch wenn das System sauber erscheint. Die Option -n wird verwendet, um das Dateisystem schreibgeschützt zu öffnen und davon auszugehen, dass alle Fragen, die möglicherweise angezeigt werden, mit „Nein“ beantwortet werden.

Diese Option ermöglicht grundsätzlich die nicht-interaktive Nutzung von e2fsck. Wenn alles Okay ist, sollten Sie ein ähnliches Ergebnis wie im folgenden Screenshot sehen:

Hier ist ein weiteres Beispiel, das Fehler auf einem System zeigt:

So reparieren Sie das Linux-Dateisystem mit e2fsck

Treten Fehler auf, können Sie mit e2fsck mit der Option „-p“ eine Reparatur des Dateisystems versuchen. Beachten Sie, dass zum Ausführen des folgenden Befehls die Bereitstellung der Partition aufgehoben werden muss:

sudo e2fsck -p <device file>

Die „-p“-Optionen versuchen eine automatische Reparatur des Dateisystems bei Problemen, die ohne menschliches Eingreifen sicher behoben werden können. Wenn ein Problem entdeckt wird, das möglicherweise zusätzliche Korrekturmaßnahmen durch den Systemadministrator erfordert, gibt e2fsck eine Beschreibung des Problems aus und wird mit Code 4 beendet, was bedeutet: „Dateisystemfehler wurden nicht behoben“. Abhängig vom gefundenen Problem können unterschiedliche Maßnahmen erforderlich sein.

Wenn das Problem auf einer Partition auftritt, die nicht ausgehängt werden kann, können Sie ein anderes Tool namens e4defrag verwenden. Es ist auf vielen Linux-Distributionen vorinstalliert, aber wenn Sie es nicht auf Ihrer haben, können Sie es mit folgendem Befehl installieren:

sudo apt-get install e2fsprogs         [On Debian and Derivatives]
yum install e2fsprogs                  [On CentOS based systems]
dnf install e2fsprogs                  [On Fedora 22+ versions] 

So defragmentieren Sie Linux-Partitionen

Jetzt ist es an der Zeit, Linux-Partitionen mit dem folgenden Befehl zu defragmentieren.

sudo e4defrag <location>
or
sudo e4defrag <device>

So defragmentieren Sie das Linux-Verzeichnis

Wenn Sie beispielsweise ein einzelnes Verzeichnis oder Gerät defragmentieren möchten, können Sie Folgendes verwenden:


sudo e4defrag /home/user/directory/
sudo e4defrag /dev/sda5

So defragmentieren Sie alle Linux-Partitionen

Wenn Sie lieber Ihr gesamtes System defragmentieren möchten, können Sie dies auf sichere Weise wie folgt tun:

sudo e4defrag /

Beachten Sie, dass dieser Vorgang einige Zeit in Anspruch nehmen kann.

Abschluss

Defragmentierung ist ein Vorgang, den Sie unter Linux selten ausführen müssen. Es ist für Power-User gedacht, die genau wissen, was sie tun, und wird Linux-Neulingen nicht empfohlen. Der Sinn der gesamten Aktion besteht darin, Ihr Dateisystem zu optimieren, damit neue Lese-/Schreibvorgänge effizienter ausgeführt werden.