Me gusta 'Disks' ( gnome-disk-utility
) y su capacidad para crear copias de seguridad de particiones del sistema.
Pero en algún momento leí en Internet sobre un programa que crearía imágenes que no son tan grandes como toda la partición, sino solo tan grandes como los archivos que contiene. Ahora no puedo encontrarlo de nuevo.
¿Existe tal utilidad?
Respuestas:
La siguiente respuesta utiliza una TUI , no una solución GUI :
Dependiendo de su caso de uso (lo uso para hacer copias de seguridad del sistema) puede usar CloneZilla Live . Puede crear:
Las principales ventajas son:
Además de todas estas cosas, también puede copiar MBR.
Si una copia de seguridad del sistema en frío no es lo que está buscando, aún puede utilizar la tecnología en la que se basa CloneZilla y eso es todo
partclone
.fuente
Lograr imágenes de disco más pequeñas generalmente se realiza mediante la forma de no copiar cero bloques descubiertos del sistema de archivos inicial en la imagen. El concepto se llama escaso espacio en archivos o puching agujeros en los archivos, y el sistema de archivos de host tiene que apoyarlo. un poco de línea de comando pero intente esto:
Y luego, una vez que está instalado, puede usar:
Esto creará una imagen dispersa (no se escriben ceros en el archivo) de su disco. donde -f = formato, -O formato de salida. sdX el disco (puede usar particiones también). El programa tiene características avanzadas como instantáneas y diferentes formatos de salida (vdi, vmdk, etc.). El lugar donde guarde la imagen debe admitir archivos dispersos , de lo contrario, el tamaño será igual de grande, ya que los ceros en la partición se escribirán en el disco. Y para aprovecharlo al máximo, ejecute un programa como
sfill
o sezerofree
encuentra en apt en la partición, porque el espacio libre no siempre significa cero espacio, y desea maximizar la cantidad de espacio cero en el sistema de archivos.Bonificación de puntos ninja. Dado que Linux piensa en los discos como "archivos", entonces también podría usar cp simple, con la condición de que la partición de salida donde estaciona el archivo conozca los archivos dispersos.
Lo que creará una copia sin formato mediante cp ..
Ejemplos de sistemas de archivos que admiten dispersión: ext4, btrfs, xfs, ntfs (sin embargo, ntfs-3g podría no permitir escrituras dispersas).
Ejemplos de sistemas de archivos que no: fat32.
fuente
sudo cp /home/<user>/Ubuntu.img /dev/sdX
, o si dd fantasía,sudo dd if=/home/<user>/Ubuntu.img of=/dev/sdX
. Lo mismo con qemu-img convert .. Si dices, quieres plantar una máquina virtual en hardware real. Cuando vuelve a escribir, escribirá ceros en el disco, por lo que no se dispersará , ya que debe abordar correctamente la geometría de la partición.Como no parece haber ningún programa que por sí solo satisfaga las dos condiciones:
1) Tener una GUI tipo 'Discos';
2) Crear una imagen de disco tan grande como el espacio utilizado,
Estaba pensando en una solución bastante simple, pero una que involucra dos programas GUI, muy común en Ubuntu:
Uno sería los mismos 'Discos' (gnome-disk-utility) , utilizados para crear una imagen de respaldo de una partición dada, y el segundo sería Gparted, para reducir la partición tanto como sea posible antes de crear su imagen de respaldo, y para cambiar su tamaño al original después de eso .
No veo inconveniente en una operación de este tipo: reducir una partición al mínimo solo tomaría unos minutos (aproximadamente un minuto por 10 GB) y crearía un espacio vacío a la derecha. Después de hacer una imagen de respaldo del disco con 'Discos', usando Gparted la partición puede redimensionarse a la derecha en el espacio vacío hasta su estado inicial, y eso tomaría solo unos segundos.
Probado en una partición con una instalación de Ubuntu:
reducir la partición con Gparted tanto como sea posible
imagen de respaldo de esa partición con discos
restaurar la imagen con discos en una partición más grande que la imagen; esa partición debe ser desmontada primero: Cómo restaurar correctamente la partición del sistema (imagen iso) con 'Discos' .
fuente
Editar : Esto no funcionará bien si los archivos eliminados del sistema de archivos todavía están presentes en la partición, por lo que primero es necesario borrar el espacio libre en la partición de destino:
dd if=/dev/zero of=<path_to_partition_volume>/file.dd && rm <path_to_partition_volume>/file.dd
Entonces:
Puede leer la partición completa bloque por bloque
dd
y enviar todo a una utilidad de compresión comogzip
. Lo más probable es que cualquier herramienta de compresión, incluso utilizando la configuración de compresión más rápida / más baja, comprima todo el espacio libre durante el proceso.Con
gzip
:sudo dd if=/dev/sdX | GZIP=-1 gzip >/path/to/backup.gz
(
GZIP=-1
Establece temporalmente la variable de entornoGZIP
para-1
lograr la compresión de más rápido / más bajo)Para restaurar una copia de seguridad:
gzip -d /path/to/backup.gz >/dev/sdX
fuente
¿Qué tal usar
ddrescue
con la-S
opción?Esto clonará cada bloque pero se encontrarán cero bloques en el dispositivo de bloque
/dev/sdXY
para/<path_to_backup>/backup.img
fuente
No se puede usar para hacer una copia en una unidad más pequeña. Cuando tengo una unidad de 64 Gb que solo está llena en un 10% de datos. Me gustaría poder copiar eso en un archivo de imagen de 6 Gb, que puedo copiar a su vez en una unidad de 16 Gb y luego expandirlo a 16 gb
La única posibilidad que conozco ahora es usar GParted para reducir el original, que copiarlo y luego cambiar el tamaño de ambos. Una operación muy arriesgada, ya que necesita reducir y cambiar el tamaño del original.
fuente
Puede usar
rsync
para hacer una copia de seguridad de los archivos de la partición en otra partición. Otar
para crear un archivo comprimido que contenga todos los archivos.Probablemente ambos tengan GUI (múltiples), pero nunca los he usado yo mismo.
fuente
Clonezilla en realidad puede ser bastante amigable. El CD en vivo no requiere ningún uso de la línea de comandos; me encantaría llamarlo GUI aunque no use el mouse, y creo que los valores predeterminados están bien en muchos casos. El problema es algo que no mencionó explícitamente: no parece estar diseñado como algo que pueda instalar en un sistema Linux arbitrario. Está empaquetado específicamente para Debian / Ubuntu, y el Live CD es la forma más fácil de ejecutarlo.
Clonezilla / partclone utiliza la clonación compatible con el sistema de archivos y utiliza su propio formato de imagen comprimido.
Hay otra posibilidad sin GUI para generar archivos dispersos simples (montables), que no se basan en la detección de sectores cero.
Si / tmp es un disco RAM, advertirá que potencialmente necesita más espacio para archivos temporales. Por lo tanto, es posible que deba agregar la opción
--tmp /var/tmp
.fuente
virt-sparsify --version
? La opción está documentada en la mía (man virt-sparsify
) ... No puedo jurar que la he usado, pero al menos mi actual/tmp
es tmpfs. Si puede usar--in-place
, parece que evitará el almacenamiento temporal. Por último que también podría tratarTMPDIR=/var/tmp virt-sparsify ...
. Los documentos de mi versión dicen que así es como debe configurar el directorio tmp para las versiones anteriores a 1.28.