Com reparar i desfragmentar particions i directoris del sistema Linux


Les persones que utilitzen Linux sovint pensen que no requereix desfragmentació. Aquest és un malentès comú entre els usuaris de Linux. De fet, el sistema operatiu Linux admet la desfragmentació. L'objectiu de la desfragmentació és millorar les operacions d'E/S, com ara permetre que els vídeos locals es carreguin més ràpidament o extreure arxius molt més ràpidament.

Els sistemes de fitxers ext2, ext3 i ext4 de Linux no necessiten tanta atenció, però amb el temps, després d'executar moltes lectures/escriptures, el sistema de fitxers pot requerir optimització. En cas contrari, el disc dur podria tornar-se més lent i afectar tot el sistema.

En aquest tutorial us mostraré algunes tècniques diferents per dur a terme la desfragmentació dels fitxers. Abans de començar, hauríem d'esmentar què fan els sistemes de fitxers habituals com ext2,3,4 per evitar la fragmentació. Aquests sistemes de fitxers inclouen una tècnica per prevenir l'efecte. Per exemple, els sistemes de fitxers reserven grups de blocs gratuïts al disc dur per emmagatzemar fitxers en creixement completament.

Malauradament, el problema no sempre es resol amb aquest mecanisme. Tot i que altres sistemes operatius poden requerir programari addicional car per resoldre aquests problemes, Linux té algunes eines fàcils d'instal·lar que us poden ajudar a resoldre aquests problemes.

Com comprovar un sistema de fitxers requereix desfragmentació?

Abans de començar, m'agradaria assenyalar que les operacions següents només s'han d'executar en discs durs i no en SSD. La desfragmentació de la vostra unitat SSD només augmentarà el seu recompte de lectura/escriptura i, per tant, escurçarà la seva vida útil. En canvi, si utilitzeu SSD, hauríeu d'utilitzar la funció TRIM, que no es tracta en aquest tutorial.

provem si el sistema realment requereix desfragmentació. Ho podem comprovar fàcilment amb una eina com e2fsck. Abans d'utilitzar aquesta eina en una partició del vostre sistema, es recomana desmuntar aquesta partició amb. Això no és completament necessari, però és el camí segur:

$ sudo umount <device file>

En el meu cas, tinc /dev/sda1 muntat a /tmp:

Tingues en compte que en el teu cas, la taula de particions pot ser diferent, així que assegura't de desmuntar la partició adequada. Per desmuntar aquesta partició podeu utilitzar:

$ sudo umount /dev/sda1

Ara comprovem si aquesta partició requereix desfragmentació, amb e2fsck. Haureu d'executar l'ordre següent:

$ sudo e2fsck -fn /dev/sda1

L'ordre anterior realitzarà una comprovació del sistema de fitxers. L'opció -f força la comprovació, fins i tot si el sistema sembla net. L'opció -n s'utilitza per obrir el sistema de fitxers en només lectura i assumir la resposta de \no\ a totes les preguntes que puguin aparèixer.

Aquesta opció permet bàsicament utilitzar e2fsck de manera no interactiva. Si tot està bé, hauríeu de veure un resultat similar al que es mostra a la captura de pantalla següent:

Aquí hi ha un altre exemple que mostra errors en un sistema:

Com reparar el sistema de fitxers Linux utilitzant e2fsck

Si apareixen errors, podeu intentar reparar el sistema de fitxers amb e2fsck amb l'opció -p. Tingueu en compte que per executar l'ordre següent, caldrà desmuntar la partició:

$ sudo e2fsck -p <device file>

Les opcions -p intenta reparar automàticament el sistema de fitxers per problemes que es poden solucionar de manera segura sense intervenció humana. Si es descobreix un problema que pot requerir que l'administrador del sistema prengui accions correctives addicionals, e2fsck imprimirà una descripció del problema i sortirà amb el codi 4, que significa Errors del sistema de fitxers sense corregir. Segons el problema que s'hagi trobat, poden ser necessàries diferents accions.

Si el problema apareix en una partició que no es pot desmuntar, podeu utilitzar una altra eina anomenada e4defrag. Ve preinstal·lat a moltes distribucions de Linux, però si no el teniu a la vostra, podeu instal·lar-lo amb:

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

Com desfragmentar particions de Linux

Ara és el moment de desfragmentar les particions de Linux mitjançant l'ordre següent.

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

Com desfragmentar el directori Linux

Per exemple, si voleu desfragmentar un sol directori o dispositiu, podeu utilitzar:

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

Com desfragmentar totes les particions de Linux

Si preferiu desfragmentar tot el vostre sistema, la manera segura de fer-ho és:

$ sudo e4defrag /

Tingueu en compte que aquest procés pot trigar una mica a completar-se.

Conclusió

La desfragmentació és una operació que rarament necessitareu executar a Linux. Està pensat per a usuaris avançats que saben què estan fent exactament i no es recomana per als novells de Linux. El punt de tota l'acció és tenir el vostre sistema de fitxers optimitzat perquè les noves operacions de lectura/escriptura es realitzin de manera més eficient.