So reparieren und defragmentieren Sie Linux-Systempartitionen und -verzeichnisse
Leute, die Linux verwenden, denken oft, dass es keine Defragmentierung erfordert. Dies ist ein weit verbreitetes Missverständnis unter Linux-Benutzern. Tatsächlich unterstützt das Linux-Betriebssystem die Defragmentierung. Der Sinn der Defragmentierung besteht darin, I/O-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 dem Ausführen von vielen, vielen Lese-/Schreibvorgängen, kann es sein, dass das Dateisystem optimiert werden muss. Andernfalls kann es passieren, dass die Festplatte langsamer wird und das gesamte System beeinträchtigt wird.
In diesem Tutorial zeige ich Ihnen einige verschiedene Techniken, um Dateien zu defragmentieren. Bevor wir beginnen, sollten wir erwähnen, was die gängigen Dateisysteme wie ext2,3,4 tun, um eine Fragmentierung zu verhindern. Diese Dateisysteme enthalten Techniken, um den Effekt zu verhindern. Zum Beispiel 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 benötigen, um solche Probleme zu lösen, verfügt Linux über einige einfach zu installierende Tools, die Ihnen bei der Lösung solcher Probleme helfen können.
Wie überprüfe ich, ob ein Dateisystem defragmentiert werden muss?
Bevor wir beginnen, möchte ich darauf hinweisen, dass die folgenden Vorgänge nur auf HDDs und nicht auf SSDs ausgeführt werden sollten. Das Defragmentieren Ihres SSD-Laufwerks erhöht nur die Anzahl der Lese-/Schreibvorgänge und verkürzt somit die Lebensdauer. Wenn Sie eine 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 auf Ihrem System verwenden, wird empfohlen, diese Partition mit auszuhängen. Das ist nicht unbedingt notwendig, aber es ist der sichere Weg:
$ sudo umount <device file>
In meinem Fall habe ich /dev/sda1 unter /tmp gemountet:
Denken Sie daran, dass die Partitionstabelle in Ihrem Fall anders sein kann, also stellen Sie sicher, dass Sie die richtige Partition aushängen. Um diese Partition auszuhängen, können Sie Folgendes verwenden:
$ sudo umount /dev/sda1
Lassen Sie uns nun überprüfen, ob diese Partition mit e2fsck defragmentiert werden muss. Sie müssen den folgenden Befehl ausführen:
$ sudo e2fsck -fn /dev/sda1
Der obige Befehl führt eine Überprüfung des Dateisystems 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 anzunehmen, dass alle Fragen, die auftreten können, mit "Nein" beantwortet werden.
Diese Option erlaubt es grundsätzlich, e2fsck nicht-interaktiv zu nutzen. Wenn alles in Ordnung ist, sollten Sie ein ähnliches Ergebnis wie auf dem Screenshot unten sehen:
Hier ist ein weiteres Beispiel, das Fehler auf einem System zeigt:
So reparieren Sie das Linux-Dateisystem mit e2fsck
Wenn Fehler auftreten, können Sie versuchen, das Dateisystem mit e2fsck mit der Option "-p" zu reparieren. Beachten Sie, dass die Partition ausgehängt werden muss, um den folgenden Befehl auszuführen:
$ sudo e2fsck -p <device file>
Die Option »-p« versucht eine automatische Reparatur des Dateisystems für Probleme, die ohne menschliches Eingreifen sicher behoben werden können. Wenn ein Problem entdeckt wird, das den Systemadministrator möglicherweise dazu zwingt, zusätzliche Korrekturmaßnahmen zu ergreifen, gibt e2fsck eine Beschreibung des Problems aus und wird mit Code 4 beendet, was "Dateisystemfehler nicht korrigiert" bedeutet. Abhängig von dem 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 installieren mit:
$ 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 z. B. 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 es vorziehen, Ihr gesamtes System zu defragmentieren, ist der sichere Weg, dies zu tun:
$ sudo e4defrag /
Beachten Sie, dass es einige Zeit dauern kann, bis dieser Vorgang abgeschlossen ist.
Schlussfolgerung
Die Defragmentierung ist ein Vorgang, den Sie unter Linux nur selten ausführen müssen. Es ist für Power-User gedacht, die genau wissen, was sie tun, und wird nicht für Linux-Neulinge empfohlen. Der Sinn der ganzen Aktion besteht darin, Ihr Dateisystem so zu optimieren, dass neue Lese-/Schreiboperationen effizienter ausgeführt werden.



