Existe un mito común de que los discos Linux nunca necesitan desfragmentación. En la mayoría de los casos, esto es cierto, debido principalmente a los excelentes sistemas de archivos de diario que utiliza Linux (ext2, 3, 4, btrfs, etc.) para manejar el sistema de archivos. Sin embargo, en algunos casos específicos, la fragmentación todavía puede ocurrir. Si eso te sucede, afortunadamente la solución es muy sencilla.
¿Qué es la fragmentación?
La fragmentación ocurre cuando un sistema de archivos actualiza los archivos en pequeños fragmentos, pero estos fragmentos no forman un todo contiguo y, en cambio, están dispersos por el disco. Esto es particularmente cierto para los sistemas de archivos FAT y FAT32. Fue algo mitigado en NTFS y casi nunca sucede en Linux (extX). Aquí está el por qué.
En sistemas de archivos como FAT y FAT32, los archivos se escriben uno al lado del otro en el disco. No queda espacio para el crecimiento de archivos o actualizaciones:
El NTFS deja algo más de espacio entre los archivos, por lo que hay espacio para crecer. Como el espacio entre fragmentos es limitado, la fragmentación aún se producirá con el tiempo.
Los sistemas de archivos de diario de Linux adoptan un enfoque diferente. En lugar de colocar los archivos uno al lado del otro, cada archivo se dispersa por todo el disco, dejando una gran cantidad de espacio libre entre cada archivo. Hay suficiente espacio para actualizaciones/crecimiento de archivos y la fragmentación rara vez ocurre.
Además, si ocurre la fragmentación, la mayoría de los sistemas de archivos de Linux intentarán mezclar los archivos y los fragmentos para volver a hacerlos contiguos.
Fragmentación de disco en Linux
La fragmentación del disco rara vez ocurre en Linux a menos que tenga un disco duro pequeño o se esté quedando sin espacio. Algunos posibles casos de fragmentación incluyen:
- si edita archivos de video grandes o archivos de imagen sin formato, y el espacio en disco es limitado
- si usa hardware antiguo como una computadora portátil vieja y tiene un disco duro pequeño
- si sus discos duros comienzan a llenarse (más del 85% usado)
- si tiene muchas particiones pequeñas que abarrotan su carpeta de inicio
La mejor solución es comprar un disco duro más grande. Si no es posible, aquí es donde la desfragmentación se vuelve útil.
Cómo comprobar la fragmentación
los fsck
comando hará esto por usted, es decir, si tiene la oportunidad de ejecutarlo desde un CD en vivo, con todas las particiones afectadas desmontadas.
Esto es muy importante: EJECUTAR FSCK EN UNA PARTICIÓN MONTADA PUEDE DAÑAR GRAVEMENTE SUS DATOS Y SU DISCO.
Usted ha sido advertido. Antes de continuar, haga una copia de seguridad completa del sistema.
Descargo de responsabilidad: El autor de este artículo y Experto Geekno se hacen responsables de ningún daño a sus archivos, datos, sistema o cualquier otro daño causado por sus acciones después de seguir este consejo. Puede proceder bajo su propio riesgo. Si continúa, acepta y reconoce esto.
Simplemente debe iniciar una sesión en vivo (como un disco de instalación, un CD de rescate del sistema, etc.) y ejecutar fsck
en tu DESMONTADO particiones Para verificar si hay algún problema, ejecute el siguiente comando con permiso de root:
fsck -fn [/path/to/your/partition]
Puedes comprobar lo que [/path/to/your/partition]
es corriendo
Hay una manera de correr fsck
(relativamente) de forma segura en una partición montada, es decir, utilizando el -n
cambiar. Esto dará como resultado una verificación del sistema de archivos de solo lectura sin tocar nada. Por supuesto, no hay garantía de seguridad aquí, y solo debe continuar después de crear una copia de seguridad. En un sistema de archivos ext2, ejecutando
sudo fsck.ext2 -fn /path/to/your/partition
daría como resultado una gran cantidad de resultados, la mayoría de ellos mensajes de error que resultan del hecho de que la partición está montada. Al final, le dará información relacionada con la fragmentación.
Si su fragmentación es superior al 20%, debe proceder a desfragmentar su sistema.
Cómo desfragmentar fácilmente los sistemas de archivos de Linux
Todo lo que necesita hacer es hacer una copia de seguridad TODOS sus archivos y datos a otra unidad (manualmente proceso de copiar cámbielos), formatee la partición y vuelva a copiar sus archivos (no utilice un programa de copia de seguridad para esto). El sistema de archivos de diario los manejará como archivos nuevos y los colocará ordenadamente en el disco sin fragmentarlos.
Para hacer una copia de seguridad de sus archivos, ejecute
cp -afv [/path/to/source/partition]/* [/path/to/destination/folder]
Cuidado con el asterix
; es importante.Nota dd
: Generalmente se acepta que para copiar archivos grandes o grandes cantidades de datos, el cp
comando podría ser mejor. Esta es una operación de muy bajo nivel y copia todo «tal cual», incluido el espacio vacío e incluso la basura sobrante. Esto no es lo que queremos, por lo que probablemente sea mejor usar
.
sudo rm -rf [/path/to/source/partition]/*
Ahora solo necesita eliminar todos los archivos originales. Opcional:
sudo dd if=/dev/zero of=[/path/to/source/partition]/temp-zero.txt
puede llenar el espacio vacío con ceros. También puede lograr esto con el formateo, pero si, por ejemplo, no copió toda la partición, solo los archivos grandes (que es más probable que causen fragmentación), esta podría no ser una opción. pv.
sudo apt-get install pv sudo pv -tpreb | of=[/path/to/source/partition]/temp-zero.txt
desfragmentar-linux-dd
sudo rm [/path/to/source/partition]/temp-zero.txt
Cuando haya terminado, simplemente elimine el archivo temporal. cp
Después de poner a cero el espacio vacío (o simplemente omitir ese paso por completo), copie sus archivos de nuevo, invirtiendo el primero
cp -afv [/path/to/original/destination/folder]/* [/path/to/original/source/partition]
dominio:
Usando e4defrag e2fsprogs,
sudo apt-get install e2fsprogs
Si prefiere un enfoque más simple, instale e4defrag
y correr
como root en la partición afectada. Si no quiere o no puede desmontar la partición, puede usar su punto de montaje en lugar de su ruta. Para desfragmentar todo su sistema, ejecute
No se garantiza que tenga éxito mientras está montado (también debe dejar de usar su sistema mientras se está ejecutando), pero es mucho más fácil que copiar todos los archivos y volver a copiarlos.
Conclusión e4defrag
La fragmentación rara vez debería ser un problema en un sistema Linux debido al manejo eficiente de datos del sistema de archivos de diario. Si se encuentra con la fragmentación debido a cualquier circunstancia, existen formas sencillas de reasignar el espacio de su disco, como copiar todos los archivos y volver a utilizarlos.
. Sin embargo, es importante mantener sus datos seguros, por lo que antes de intentar cualquier operación que pueda afectar todos o la mayoría de sus archivos, asegúrese de hacer una copia de seguridad solo para estar seguro.