Kuidas parandada ja defragmentida Linuxi süsteemi partitsioone ja katalooge


Linuxi kasutavad inimesed arvavad sageli, et see ei vaja defragmentimist. See on Linuxi kasutajate seas levinud arusaamatus. Tegelikult toetab Linuxi operatsioonisüsteem defragmentimist. Defragmentimise eesmärk on parandada sisend- ja väljundoperatsioone, näiteks lubada kohalikel videotel kiiremini laadida või arhiive oluliselt kiiremini välja tõmmata.

Linuxi failisüsteemid ext2, ext3 ja ext4 ei vaja nii palju tähelepanu, kuid aja jooksul võib pärast paljude käivitamist vajada paljude failisüsteemi lugemise/kirjutamise optimeerimist. Vastasel juhul võib kõvaketas muutuda aeglasemaks ja mõjutada kogu süsteemi.

Selles õpetuses näitan teile vähe erinevaid tehnikaid failide defragmentimiseks. Enne alustamist peaksime mainima, mida levinud failisüsteemid nagu ext2,3,4 teevad killustatuse vältimiseks. Need failisüsteemid sisaldavad efekti vältimiseks tehnikat. Näiteks reserveerivad failisüsteemid kõvakettal vabad plokirühmad kasvavate failide täielikuks salvestamiseks.

Kahjuks ei lahendata probleemi alati sellise mehhanismiga. Kui teised operatsioonisüsteemid võivad selliste probleemide lahendamiseks vajada kallist lisatarkvara, on Linuxil mõned hõlpsasti installitavad tööriistad, mis aitavad teil selliseid probleeme lahendada.

Kuidas kontrollida, kas failisüsteem nõuab defragmentimist?

Enne alustamist tahaksin märkida, et allpool toodud toiminguid tuleks teha ainult kõvaketastel, mitte SSD-del. SSD-draivi defragmentimine ainult suurendab selle lugemis- ja kirjutamiste arvu ning lühendab selle eluiga. Selle asemel, kui kasutate SSD-d, peaksite kasutama funktsiooni TRIM, mida see õpetus ei hõlma.

testime, kas süsteem tegelikult vajab defragmentimist. Saame seda hõlpsalt kontrollida sellise tööriistaga nagu e2fsck. Enne selle tööriista kasutamist oma süsteemi sektsioonil on soovitatav see sektsioon lahti ühendada. See pole täiesti vajalik, kuid see on ohutu viis:

$ sudo umount <device file>

Minu puhul olen/dev/sda1 paigaldanud/tmp:

Pidage meeles, et teie juhul võib partitsioonitabel olla erinev, seega eemaldage kindlasti õige partitsioon. Selle sektsiooni eemaldamiseks võite kasutada järgmist.

$ sudo umount /dev/sda1

Nüüd kontrollime e2fsckiga, kas see sektsioon vajab defragmentimist. Peate käivitama järgmise käsu:

$ sudo e2fsck -fn /dev/sda1

Ülaltoodud käsk kontrollib failisüsteemi. Valik -f sunnib kontrollima, isegi kui süsteem näib puhas. Valikut -n kasutatakse failisüsteemi avamiseks kirjutuskaitstud kujul ja kõigi koodide, mis võivad ilmuda, vastusele \"no \" .

See valik võimaldab põhimõtteliselt kasutada e2fscki mitteinteraktiivselt. Kui kõik on korras, peaksite nägema sarnast tulemust nagu allpool oleval ekraanipildil:

Siin on veel üks näide, mis näitab süsteemis vigu:

Kuidas parandada Linuxi failisüsteemi e2fscki abil

Vigade ilmnemisel võite proovida failisüsteemi e2fsck-iga parandada, kasutades valikut “-p”. Pange tähele, et alltoodud käsu käivitamiseks tuleb partitsioon lahti ühendada:

$ sudo e2fsck -p <device file>

Valikud „-p” proovivad failisüsteemis automaatselt parandada probleeme, mida saab inimese sekkumiseta ohutult lahendada. Kui avastatakse probleem, mis võib nõuda süsteemiadministraatorilt täiendavate parandusmeetmete võtmist, prindib e2fsck probleemi kirjelduse ja väljub koodiga 4, mis tähendab " parandamata jäetud failisüsteemi vead". Olenevalt leitud probleemist võivad olla vajalikud erinevad toimingud.

Kui probleem ilmub sektsioonile, mida ei saa lahti ühendada, võite kasutada mõnda muud tööriista nimega e4defrag. See on eelinstallitud paljudesse Linuxi distrosse, kuid kui teil seda pole, saate selle installida:

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

Kuidas Linuxi partitsioone defragmentida

Nüüd on aeg Linuxi partitsioonid defragmentida järgmise käsu abil.

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

Kuidas defragmentida Linuxi kataloogi

Näiteks kui soovite defragmentida ühte kataloogi või seadet, võite kasutada järgmist.

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

Kuidas defragmentida kõiki Linuxi partitsioone

Kui eelistate kogu süsteemi defragmentida, on see turvaline viis:

$ sudo e4defrag /

Pidage meeles, et selle protsessi lõpuleviimine võib võtta mõnda aega.

Järeldus

Defragmentimine on toiming, mida peate Linuxis harva käivitama. See on mõeldud energiatarbijatele, kes teavad, mida täpselt teevad, ja seda ei soovitata Linuxi algajatele. Kogu toimingu mõte on failisüsteemi optimeerimine nii, et uued lugemis- ja kirjutamistoimingud oleksid tõhusamad.