Kako popraviti i defragmentirati Linux sistemske particije i direktorije


Ljudi koji koriste Linux često misle da ne zahtijeva defragmentaciju. Ovo je uobičajen nesporazum među korisnicima Linuxa. U stvari, Linux operativni sistem podržava defragmentaciju. Smisao defragmentacije je poboljšanje I/O operacija kao što je omogućavanje bržeg učitavanja lokalnih videa ili značajno brže izdvajanje arhiva.

Linux ext2, ext3 i ext4 sistem datoteka ne treba toliko pažnje, ali s vremenom, nakon izvršenja mnogo mnogo mnogo čitanja/pisanja, fajl sistem može zahtijevati optimizaciju. U suprotnom bi hard disk mogao postati sporiji i utjecati na cijeli sistem.

U ovom vodiču ću vam pokazati nekoliko različitih tehnika za defragmentaciju datoteka. Prije nego počnemo, trebali bismo spomenuti šta uobičajeni sistemi datoteka poput ext2,3,4 rade da bi spriječili fragmentaciju. Ovi sistemi datoteka uključuju tehniku za sprječavanje efekta. Na primjer, sistemi datoteka rezervišu slobodne grupe blokova na tvrdom disku za potpuno spremanje rastućih datoteka.

Nažalost problem nije uvijek riješen takvim mehanizmom. Dok drugi operativni sistemi mogu zahtijevati skupi dodatni softver za rješavanje takvih problema, Linux ima neke alate koji se lako instaliraju koji vam mogu pomoći da riješite takve probleme.

Kako provjeriti da li sistem datoteka zahtijeva defragmentaciju?

Prije nego što počnemo želio bih naglasiti da se operacije ispod trebaju izvoditi samo na HDD-ovima, a ne na SSD-u. Defragiranjem vašeg SSD diska samo će se povećati broj čitanja/pisanja i samim tim skratiti njegov vijek trajanja. Umjesto toga, ako koristite SSD, trebali biste koristiti funkciju TRIM, koja nije pokrivena u ovom vodiču.

hajde da testiramo da li sistem zaista zahteva defragmentaciju. To možemo lako provjeriti pomoću alata kao što je e2fsck. Prije nego što koristite ovaj alat na particiji na vašem sistemu, preporučuje se demontirati tu particiju. Ovo nije potpuno neophodno, ali je siguran način:

sudo umount <device file>

U mom slučaju imam /dev/sda1 montiran na /tmp:

Imajte na umu da u vašem slučaju tabela particija može biti drugačija pa se pobrinite da demontirate pravu particiju. Za demontažu te particije možete koristiti:

sudo umount /dev/sda1

Sada provjerimo da li ova particija zahtijeva defragmentaciju, pomoću e2fsck. Morat ćete pokrenuti sljedeću naredbu:

sudo e2fsck -fn /dev/sda1

Gornja komanda će izvršiti provjeru sistema datoteka. Opcija -f prisiljava provjeru, čak i ako se čini da je sistem čist. Opcija -n se koristi za otvaranje sistema datoteka samo za čitanje i pretpostavljanje odgovora "ne" na sva pitanja koja se mogu pojaviti.

Ove opcije u osnovi omogućavaju neinteraktivno korištenje e2fscka. Ako je sve U redu, trebali biste vidjeti rezultat sličan onom prikazanom na slici ispod:

Evo još jednog primjera koji pokazuje greške na sistemu:

Kako popraviti Linux sistem datoteka koristeći e2fsck

Ako se pojave greške, možete pokušati popraviti sistem datoteka pomoću e2fsck s opcijom “-p”. Imajte na umu da da biste pokrenuli naredbu ispod, particija će morati biti demontirana:

sudo e2fsck -p <device file>

Opcije “-p” pokušavaju automatski popraviti sistem datoteka za probleme koji se mogu bezbedno popraviti bez ljudske intervencije. Ako se otkrije problem koji može zahtijevati od administratora sistema da preduzme dodatne korektivne radnje, e2fsck će ispisati opis problema i izaći će s kodom 4, što znači “Greške u sistemu datoteka neispravljene”. U zavisnosti od problema koji je pronađen, mogu biti potrebne različite radnje.

Ako se problem pojavi na particiji koja se ne može demontirati, možete koristiti drugi alat pod nazivom e4defrag. Dolazi unaprijed instaliran na mnogim Linux distribucijama, ali ako ga nemate u svojoj, možete ga instalirati sa:

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

Kako defragmentirati Linux particije

Sada je vrijeme da defragmentirate Linux particije pomoću sljedeće naredbe.

sudo e4defrag <location>
or
sudo e4defrag <device>

Kako defragmentirati Linux direktorij

Na primjer, ako želite defragmentirati jedan direktorij ili uređaj, možete koristiti:


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

Kako defragmentirati sve Linux particije

Ako više volite defragmentirati cijeli sistem, siguran način za to je:

sudo e4defrag /

Imajte na umu da ovaj proces može potrajati neko vrijeme da se završi.

Zaključak

Defragmentacija je operacija koju ćete rijetko morati pokrenuti u Linuxu. Namijenjen je iskusnim korisnicima koji znaju što točno rade i ne preporučuje se početnicima u Linuxu. Smisao cijele akcije je optimizirati vaš sistem datoteka tako da se nove operacije čitanja/pisanja izvode efikasnije.