GNU/Linux >> Znalost Linux >  >> Linux

Jak opravit a defragmentovat systémové oddíly a adresáře Linuxu

Lidé, kteří používají Linux, si často myslí, že nevyžaduje defragmentaci. Toto je běžné nedorozumění mezi uživateli Linuxu. Operační systém Linux ve skutečnosti defragmentaci podporuje. Smyslem defragmentace je zlepšit I/O operace, jako je umožnění rychlejšího načítání místních videí nebo výrazně rychlejší extrahování archivů.

Souborové systémy Linux ext2, ext3 a ext4 nevyžadují tolik pozornosti, ale časem, po provedení mnoha mnoha čtení/zápisů, může souborový systém vyžadovat optimalizaci. V opačném případě se může pevný disk zpomalit a ovlivnit celý systém.

V tomto tutoriálu vám ukážu několik různých technik pro provádění defragmentace souborů. Než začneme, měli bychom zmínit, co dělají běžné souborové systémy jako ext2,3,4, aby zabránily fragmentaci. Tyto systémy souborů zahrnují techniku, která tomuto efektu zabrání. Například souborové systémy rezervují volné skupiny bloků na pevném disku pro úplné uložení rostoucích souborů.

Bohužel ne vždy je problém tímto mechanismem vyřešen. Zatímco jiné operační systémy mohou vyžadovat drahý další software k vyřešení takových problémů, Linux má některé snadno instalovatelné nástroje, které vám mohou pomoci takové problémy vyřešit.

Jak zkontrolovat, zda souborový systém vyžaduje defragmentaci?

Než začneme, rád bych upozornil, že níže uvedené operace by měly být spouštěny pouze na HDD a ne na SSD . Defragmentace disku SSD pouze zvýší jeho počet čtení/zápisu, a tím zkrátí jeho životnost. Pokud místo toho používáte SSD, měli byste použít funkci TRIM, která není zahrnuta v tomto návodu.

vyzkoušíme, zda systém skutečně vyžaduje defragmentaci. Můžeme to snadno zkontrolovat pomocí nástroje, jako je e2fsck . Před použitím tohoto nástroje na oddílu ve vašem systému se doporučuje odpojit tento oddíl pomocí. Není to úplně nutné, ale je to bezpečný způsob:

$ sudo umount <device file>

V mém případě mám /dev/sda1 připojeno na /tmp :

Mějte na paměti, že ve vašem případě může být tabulka oddílů odlišná, takže nezapomeňte odpojit pravý oddíl. K odpojení tohoto oddílu můžete použít:

$ sudo umount /dev/sda1

Nyní se podívejme, zda tento oddíl vyžaduje defragmentaci pomocí e2fsck . Budete muset spustit následující příkaz:

$ sudo e2fsck -fn /dev/sda1

Výše uvedený příkaz provede kontrolu souborového systému. -f volba vynutí kontrolu, i když se systém zdá čistý. -n volba se používá k otevření souborového systému pouze pro čtení a předpokládá odpověď "no" na všechny otázky, které se mohou objevit.

Tato možnost v zásadě umožňuje použití e2fsck neinteraktivně. Pokud je vše V pořádku , měli byste vidět výsledek podobný tomu, který je zobrazen na níže uvedeném snímku obrazovky:

Zde je další příklad, který ukazuje chyby v systému:

Jak opravit systém souborů Linux pomocí e2fsck

Pokud se objeví chyby, můžete se pokusit o opravu souborového systému pomocí e2fsck pomocí „-p “ možnost. Pamatujte, že ke spuštění níže uvedeného příkazu bude nutné odpojit oddíl:

$ sudo e2fsck -p <device file>

Symbol „-p ” options se pokusí o automatickou opravu v systému souborů pro problémy, které lze bezpečně opravit bez lidského zásahu. Pokud je zjištěn problém, který může vyžadovat, aby správce systému provedl další nápravná opatření, e2fsck vytiskne popis problému a ukončí se s kódem 4, což znamená „Chyby systému souborů ponechány neopravené“. V závislosti na nalezeném problému mohou být vyžadovány různé akce.

Pokud se problém objeví na oddílu, který nelze odpojit, můžete použít jiný nástroj s názvem e4defrag . Dodává se předinstalovaný v mnoha linuxových distribucích, ale pokud jej nemáte ve svém, můžete si jej nainstalovat pomocí:

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

Jak defragmentovat linuxové oddíly

Nyní je čas defragmentovat linuxové oddíly pomocí následujícího příkazu.

$ sudo e4defrag <location>
or
$ sudo e4defrag <device>

Jak defragmentovat adresář Linux

Pokud například chcete defragmentovat jeden adresář nebo zařízení, můžete použít:

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

Jak defragmentovat všechny linuxové oddíly

Pokud dáváte přednost defragmentaci celého systému, bezpečný způsob, jak to provést, je:

$ sudo e4defrag /

Mějte na paměti, že dokončení tohoto procesu může nějakou dobu trvat.

Závěr

Defragmentace je operace, kterou v Linuxu budete muset spouštět jen zřídka. Je určen pro pokročilé uživatele, kteří vědí, co přesně dělají, a nedoporučuje se pro nováčky Linuxu. Smyslem celé akce je optimalizovat váš souborový systém tak, aby byly nové operace čtení/zápisu prováděny efektivněji.


Linux
  1. Jak formátovat diskové oddíly v Linuxu

  2. Jak zkontrolovat verzi OS a Linuxu

  3. Jak připojit a odpojit souborový systém v Linuxu

  1. Jak přejmenovat soubory a adresáře v Linuxu

  2. Jak komprimovat soubory a adresáře v Linuxu

  3. Jak najít a odstranit prázdné adresáře v Linuxu

  1. Jak nainstalovat a používat Git v systému Linux

  2. Jak zkontrolovat/opravit systém souborů Linux při spouštění

  3. Jak zkontrolovat a opravit souborový systém v RHEL Linux