¿Una manera inteligente de desfragmentar un sistema de archivos FAT?

10

¿Cuál es la mejor manera de desfragmentar un sistema de archivos FAT cuando se ejecuta Linux / Unix (en una memoria USB, por ejemplo)?

Marc MAURICE
fuente
44
Yo elegiría tu primera opción si el espacio no es un problema. Crearía un sistema de archivos limpio en un archivo grande que esté montado en bucle. De esa manera, tienes la oportunidad de verificar el resultado antes de sobrescribir el stick.
jippie
La sugerencia de @ jippie también ofrece una copia de seguridad. De lo contrario, iría por una utilidad de desfragmentación, pero primero verifique cuidadosamente que sea confiable y realice una copia de seguridad de antemano si tengo algún archivo adjunto a los datos.
vonbrand
@jippie: ¿te refieres a crear un archivo de bucle del mismo tamaño que la partición gorda inicial, copiar todo en él, verificar y luego dd al dispositivo original? Necesitará espacio adicional, y no veo cómo es mejor simplemente copiando el archivo al sistema de archivos ext local temporalmente. O me falta algo.
Marc MAURICE
1
Puede verificar el resultado antes de cambiar el contenido de la unidad flash.
jippie

Respuestas:

7

Puede verificar si un archivo está fragmentado o no utilizando la filefragutilidad.

De esa manera, puede filtrar los archivos que no están fragmentados y hacer la copia / copia solo para los archivos ya fragmentados. Eso debería ahorrarte algo de tiempo. Sin embargo, tenga en cuenta que no hay garantía de que el nuevo diseño del archivo sea mejor que el anterior.

La mejor manera es ignorar la fragmentación de archivos por completo. Especialmente en una memoria USB, apenas importa, solo desperdicia ciclos de escritura y, a diferencia de los discos duros, no hay partes móviles y, por lo tanto, no hay una gran penalización debido a la fragmentación.

La desfragmentación solo debería ser necesaria si sucedió algo divertido que hizo que los archivos se fragmentaran de una manera muy extrema. Por ejemplo, clientes de torrent que descargan contenidos de archivos en orden aleatorio sin preasignación. Pero a menos que FAT haya comenzado a admitir archivos dispersos en algún momento, eso ni siquiera es un problema allí, ya que la asignación previa es obligatoria en tal FS.

Frostschutz
fuente
1
Gracias por tu respuesta. De hecho, necesito una forma de desfragmentar completamente el sistema de archivos FAT porque estoy usando Easy2boot , y cada archivo iso no debe estar fragmentado.
Marc MAURICE
Suena como un método anticuado para mí. GRUB2 isoloop es muy popular, por lo que muchas distribuciones admiten el montaje en bucle de una iso desde cualquier lugar. Los que no lo hacen, puede ser que funcione directamente desde una partición, pero también podría fallar. Depende completamente de la propia ISO.
frostschutz
2
El inconveniente de isoloop GRUB2 es que cargará directamente un kernel de Linux en la ISO. Debe conocer la ruta del kernel / initrd para cargar, y perderá el menú ISOLINUX que ofrece opciones de arranque personalizadas.
Marc MAURICE
Encontrar el camino no es difícil, y el resto depende de cuánto esfuerzo quieras hacer para convertir los elementos del menú isolinux en un submenú grub2 ... pero sí, todas las soluciones tienen sus inconvenientes. Acabo de probar mi partición ISO: NINGUNO de los archivos no está fragmentado. Y fueron copiados uno por uno. Arreglar eso sería un gran dolor para mí, por lo que preferiré renunciar a los ISO que no admiten el montaje de isoloop.
frostschutz
Nunca utilicé easy2boot, pero como esta solución implica la creación de una partición, ¿no podrías hacerlo en primer lugar? Una partición por ISO y dd. No es posible la fragmentación de esta manera. O, alternativamente, si eso es posible en absoluto, un sistema de archivos sin fragmentación (ISO ISO dentro?)
frostschutz
0

Miremos esto desde un ángulo diferente, porque usted dio un ejemplo "en memoria USB, por ejemplo"

MAL EJEMPLO

Una memoria USB es memoria FLASH, y hay dos cosas a tener en cuenta: 1) Dado que la memoria FLASH no tiene partes móviles, no se observa una ganancia de rendimiento notable al hacer una desfragmentación. Los defrgs son para limpiar el sistema de archivos o reorganizar los bloques de archivos para acercarlos entre sí, para reducir los movimientos físicos del brazo (búsqueda) y el tiempo de espera del disco que gira (latencia). Flash no tiene esto. 2) Escribir y escribir y escribir en la memoria flash lo desgasta. Ahora, para una resistencia de escritura de 100K, tal vez su memoria USB dure de varios a 10 años, pero la cantidad de tiempo que puede escribir es un número "finito". Los defrags constantes en la memoria USB carcomen esa vida debido a la limitación de resistencia.

Y esto no es solo su memoria USB, tarjetas SD, Compact FLASH e incluso unidades SSD.

Mi punto, no desfragmentar por el mero hecho de saber cuál es la tecnología subyacente en el sistema de archivos y las implicaciones, e incluso si es magnética y no electrónica, demasiada desfragmentación puede dañar su sistema de archivos y perder sus archivos

Robert Shullich
fuente