¿Cómo borrar el espacio no utilizado con ceros? (ext3,ext4)
Estoy buscando algo más inteligente que
cat /dev/zero > /mnt/X/big_zero ; sync; rm /mnt/X/big_zero
Al igual que FSArchiver está buscando "espacio usado" e ignora el sitio no utilizado, pero opuesto.
Propósito:me gustaría comprimir imágenes de partición, por lo que se recomienda llenar el espacio no utilizado con ceros.
Por cierto. Para btrfs:borre el espacio no utilizado con ceros (btrfs)
Respuesta aceptada:
Tal utilidad es zerofree
.
De su descripción:
Zerofree encuentra los bloques no asignados ni puestos a cero en un sistema de archivos ext2 o ext3 y los llena con ceros. Esto es útil si el dispositivo en el que reside este sistema de archivos es una imagen de disco. En este caso, dependiendo del tipo de imagen de disco, una utilidad secundaria puede reducir el tamaño de la imagen de disco después de ejecutar zerofree. Zerofree requiere que el sistema de archivos se desmonte o se monte como solo lectura.
La forma habitual de lograr el mismo resultado (poner a cero los bloques no utilizados) es ejecutar "dd", crear un archivo lleno de ceros que ocupe todo el espacio libre en el disco y luego eliminar este archivo. Esto tiene muchas desventajas, que zerofree alivia:
- es lento
- hace que la imagen del disco crezca (temporalmente) hasta su máxima extensión
- utiliza (temporalmente) todo el espacio libre en el disco, por lo que otras acciones de escritura simultáneas pueden fallar.
Zerofree se ha escrito para ejecutarse desde sistemas GNU/Linux instalados
como sistemas operativos invitados dentro de una máquina virtual. Si no es tu caso,
casi seguro que no necesitas este paquete.
ACTUALIZACIÓN #1
La descripción del paquete .deb contiene el siguiente párrafo ahora, lo que implicaría que esto también funcionará bien con ext4.
Descripción:cero bloques libres de los sistemas de archivos ext2, ext3 y ext4
Zerofree encuentra los bloques no asignados con contenido de valor distinto de cero en
un sistema de archivos ext2, ext3 o ext4 y los llena con ceros…
Otros usos
Otra aplicación de esta utilidad es comprimir imágenes de disco que son una copia de seguridad de un disco real. Un ejemplo típico de esto es el volcado de la tarjeta SD en un BeagleBone o un Raspberry Pi. Una vez que se han puesto a cero los espacios vacíos, las imágenes de respaldo se pueden comprimir de manera más eficiente.
Relacionado:¿Liberar espacio en disco después de eliminar la base de datos?