Búsqueda de sitios web

Cómo reparar y desfragmentar particiones y directorios del sistema Linux


Las personas que usan Linux suelen pensar que no requiere desfragmentación. Este es un malentendido común entre los usuarios de Linux. En realidad, el sistema operativo Linux admite la desfragmentación. El objetivo de la desfragmentación es mejorar las operaciones de E/S, como permitir que los vídeos locales se carguen más rápido o extraer archivos significativamente más rápido.

Los sistemas de archivos ext2, ext3 y ext4 de Linux no necesitan mucha atención, pero con el tiempo, después de ejecutar muchas lecturas/escrituras, es posible que el sistema de archivos requiera optimización. De lo contrario, el disco duro podría volverse más lento y afectar a todo el sistema.

En este tutorial, le mostraré algunas técnicas diferentes para realizar la desfragmentación de archivos. Antes de comenzar, debemos mencionar qué hacen los sistemas de archivos comunes como ext2,3,4 para evitar la fragmentación. Estos sistemas de archivos incluyen técnicas para evitar el efecto. Por ejemplo, los sistemas de archivos reservan grupos de bloques libres en el disco duro para almacenar por completo los archivos en crecimiento.

Lamentablemente el problema no siempre se resuelve con este mecanismo. Mientras que otros sistemas operativos pueden requerir software adicional costoso para resolver estos problemas, Linux tiene algunas herramientas fáciles de instalar que pueden ayudarle a resolverlos.

¿Cómo comprobar que un sistema de archivos requiere desfragmentación?

Antes de comenzar, me gustaría señalar que las operaciones siguientes solo deben ejecutarse en HDD y no en SSD. Defragmentar su unidad SSD sólo aumentará su recuento de lectura/escritura y, por lo tanto, acortará su vida útil. En cambio, si está utilizando SSD, debe utilizar la función TRIM, que no se trata en este tutorial.

Probemos si el sistema realmente requiere desfragmentación. Podemos comprobarlo fácilmente con una herramienta como e2fsck. Antes de utilizar esta herramienta en una partición de su sistema, se recomienda desmontar esa partición con. Esto no es completamente necesario, pero es el camino seguro a seguir:

sudo umount <device file>

En mi caso tengo /dev/sda1 montado en /tmp:

Tenga en cuenta que en su caso, la tabla de particiones puede ser diferente, así que asegúrese de desmontar la partición correcta. Para desmontar esa partición puedes usar:

sudo umount /dev/sda1

Ahora verifiquemos si esta partición requiere desfragmentación, con e2fsck. Necesitará ejecutar el siguiente comando:

sudo e2fsck -fn /dev/sda1

El comando anterior realizará una verificación del sistema de archivos. La opción -f fuerza la verificación, incluso si el sistema parece limpio. La opción -n se utiliza para abrir el sistema de archivos en modo de solo lectura y asumir una respuesta "no" a todas las preguntas que puedan aparecer.

Esta opción básicamente permite utilizar e2fsck de forma no interactiva. Si todo está bien, deberías ver un resultado similar al que se muestra en la siguiente captura de pantalla:

Aquí hay otro ejemplo que muestra errores en un sistema:

Cómo reparar el sistema de archivos Linux usando e2fsck

Si aparecen errores, puede intentar reparar el sistema de archivos con e2fsck con la opción “-p”. Tenga en cuenta que para ejecutar el siguiente comando, será necesario desmontar la partición:

sudo e2fsck -p <device file>

Las opciones “-p” intentan la reparación automática en el sistema de archivos de problemas que se pueden solucionar de forma segura sin intervención humana. Si se descubre un problema que puede requerir que el administrador del sistema tome medidas correctivas adicionales, e2fsck imprimirá una descripción del problema y saldrá con el código 4, que significa "Errores del sistema de archivos sin corregir". Dependiendo del problema que se haya encontrado, es posible que se requieran diferentes acciones.

Si el problema aparece en una partición que no se puede desmontar, puede utilizar otra herramienta llamada e4defrag. Viene preinstalado en muchas distribuciones de Linux, pero si no lo tienes en la tuya, puedes instalarlo con:

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

Cómo desfragmentar particiones de Linux

Ahora es el momento de desfragmentar las particiones de Linux usando el siguiente comando.

sudo e4defrag <location>
or
sudo e4defrag <device>

Cómo desfragmentar el directorio de Linux

Por ejemplo, si desea desfragmentar un único directorio o dispositivo, puede utilizar:


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

Cómo desfragmentar todas las particiones de Linux

Si prefiere desfragmentar todo su sistema, la forma segura de hacerlo es:

sudo e4defrag /

Tenga en cuenta que este proceso puede tardar algún tiempo en completarse.

Conclusión

La desfragmentación es una operación que rara vez necesitarás ejecutar en Linux. Está destinado a usuarios avanzados que saben exactamente qué están haciendo y no se recomienda para principiantes en Linux. El objetivo de toda la acción es optimizar su sistema de archivos para que las nuevas operaciones de lectura/escritura se realicen de manera más eficiente.