domingo, 9 de diciembre de 2012

Cómo desfragmentar discos ext4 en Linux

Ningún sistema de archivos está exento de fragmentaciones. Algunos más, otros menos, pero todos padecen este mal tan asociado a Windows.

La realidad es que NTFS y su predecesor FAT32 son "fragmentadores" por naturaleza. Lo que mejor hacen es fragmentarse, y el usuario estándar de Windows lo sufre luego de unos meses de haber formateado.

En Linux el panorama es distinto. La fragmentación, si bien existe, es bastante difícil de detectar "a simple vista". Pero para aquellos que quieren tener siempre optimizado su disco ext4, les traigo una herramienta que por lo general viene incluida en las distribuciones actuales, o bien se puede instalar desde los repositorios de cada distro. Estoy hablando de e4defrag.

La forma de utilizar e4defrag es la siguiente: si quiero desfragmentar una partición, deberé especificarle al programa de cuál partición estoy hablando. ¿Cómo hago esto? Escribimos en la terminal el siguiente comando:

~$ sudo fdisk -l

Nos aparecerá una lista que detallará todos los discos y particiones existentes. En mi caso, la configuración del disco es esta:

Dispositivo Inicio    Comienzo      Fin      Bloques  Id  Sistema
/dev/sda1   *        2048   117186559    58592256   83  Linux
/dev/sda2       117186560   957030399   419921920   83  Linux
/dev/sda3       957032446   976769023     9868289    5  Extendida
/dev/sda5       957032448   976769023     9868288   82  Linux swap / Solaris
Cuando instalé el sistema, coloqué el directorio raíz en la partición /dev/sda1, el directorio /home en la partición /dev/sda2, y la memoria de intercambio o SWAP en la partición /dev/sda5. La /dev/sda3 es una partición extendida, es decir, es la que contiene a todas las unidades lógicas. En este caso, la única unidad lógica es la ya mencionada partición SWAP.

Si quiero desfragmentar el directorio raíz (/dev/sda1) para aumentar la velocidad de acceso a los archivos del sistema, deberé escribir en la terminal:

~$ sudo e4defrag /dev/sda1

Sólo hay que esperar a que finalice el proceso, y ya. Conviene no utilizar la PC mientras se produce la desfragmentación, como bien sabemos desde nuestras épocas virales. Jeje.

Se puede hacer lo mismo con cualquier partición ext4.

Hay otras herramientas de desfragmentación diseñadas para otros sistemas de archivos, sólo hay que googlear. De todas formas, si alguien tiene alguna pregunta sobre el tema, puede hacerla debajo.

6 comentarios:

  1. Agregar que, al menos en Ubuntu, "e4defrag" es parte del paquete "e2fsprogs" (está en los repos de Ubuntu, no hay que agregar nada), por lo que si no se encuentra e4defrag, bastará con un:

    sudo apt-get install e2fsprogs

    ResponderEliminar
  2. Hola
    como desfragmentar en modo grafico para uno que inicia en el mundo gnu/linux, unos amigos me pidieron que les instale ubuntu y linux mint.

    gracias

    ResponderEliminar
    Respuestas
    1. Hola! No sé si hay algún programa con interfaz gráfica para hacerlo. Lo que sí se puede hacer es crear un archivo .sh con las órdenes para desfragmentar las particiones que uno quiera. Por ejemplo, creo en mi escritorio un archivo llamado "desfragmentar.sh" y dentro de él escribo:

      #!/bin/bash
      #Colocar en "/dev/sda1" el disco que quieras desfragmentar
      sudo e4defrag /dev/sda1

      Lo guardas, lo cierras y lo conviertes en ejecutable haciendo clic derecho y yendo a Propiedades>Permisos (creo que decía así, no estoy usando Ubuntu en este momento).
      Lo único que tienes que hacer luego es hacer doble clic en el archivo y elegir ejecutarlo en terminal. Se abre automáticamente la terminal para pedir la contraseña, y una vez que se termina de desfragmentar se cierra sola.

      Si al hacer doble clic no te pregunta si deseas abrirlo con la terminal o si sólo se abre gedit para editarlo, hay que cambiar la configuración de Nautilus para tales efectos. En la página http://askubuntu.com/questions/286621/how-do-i-run-executable-scripts-in-nautilus lo explican rápido y fácil. Por último quiero aclarar que no es totalmente necesario desfragmentar una partición ext4, así como sucede en Windows 8 en el cual tampoco es lo más prioritario (han hecho mejoras en eso). Cualquier cosa avísame :) Saludos

      Eliminar