Programa GUI para criar uma imagem de backup de partição não maior que seus arquivos?

5

Eu gosto de 'Discos' ( gnome-disk-utility ) e sua capacidade de criar backups de partições do sistema.

Mas em algum momento eu li na internet sobre um programa que criaria imagens que não são tão grandes quanto a partição inteira, mas tão grandes quanto os arquivos nela. Agora não consigo encontrá-lo novamente.

Existe tal utilidade?

    
por cipricus 23.02.2015 / 13:52

8 respostas

3

Como não parece haver nenhum programa que por si só satisfaria as duas condições:

1) Tenha uma GUI tipo 'discos';

2) Crie uma imagem de disco tão grande quanto o espaço usado,

Eu estava pensando em uma solução simples, mas envolvendo dois programas GUI, muito comuns no Ubuntu:

Um seria o mesmo 'Discos' (gnome-disk-utility) , usado para criar uma imagem de backup de uma determinada partição, e o segundo seria Gparted, para encolher a partição tanto quanto possível antes de criar sua imagem de backup e redimensioná-la de volta ao original depois disso .

Não vejo inconvenientes em uma operação desse tipo: diminuir uma partição até o mínimo levaria apenas alguns minutos (cerca de um minuto para 10 GB) e criaria um espaço vazio à direita. Depois de fazer uma imagem de backup do disco com 'Discos', usando o Gparted, a partição pode ser redimensionada de volta para a direita no espaço vazio até o seu estado inicial, e isso levaria apenas alguns segundos.

Testado em uma partição com uma instalação do Ubuntu:

por cipricus 24.02.2015 / 15:58
6

A resposta a seguir usa uma TUI , não uma Solução de GUI :

Dependendo do seu caso de uso (eu o uso para fazer back ups do sistema), você pode usar o CloneZilla . Pode criar:

  • imagens esparsas ,
  • compactado imagens de:
    • sistemas inteiros,
    • unidades inteiras
    • partições individuais.

As principais vantagens são:

  • que é inicializado a partir de:
  • vem com seu próprio sistema operacional (baseado no Ubuntu)
  • pode fazer backups exatos do sistema a frio que são facilmente restaurados.

Além de todas essas vantagens, também é possível copiar MBRs.

Se um backup a frio do sistema não for o que você está procurando, ainda é possível usar a tecnologia em que o CloneZilla está baseado e que é partclone .

    
por Fabby 23.02.2015 / 15:16
4

A obtenção de imagens de disco menores geralmente é feita por meio de não copiar blocos com zeros fora do sistema de arquivos inicial da imagem. O conceito é chamado espaço esparso em arquivos ou puching em arquivos, e seu sistema de arquivos host deve suportá-lo. um pouco de linha de comando, mas tente isto:

sudo apt-get install virt-manager qemu-utils 

E depois de instalar, você pode usar:

qemu-img convert -f raw -O raw  /dev/sdX /home/<user>/Ubuntu.img

Isso criará uma imagem esparsa (zeros no arquivo não está escrito) do seu disco. onde -f = format, -O formato de saída. sdX o disco (pode usar partições também). O programa possui recursos avançados, como instantâneos e diferentes formatos de saída (vdi, vmdk, etc). Seu lugar onde você salva a imagem tem que suportar arquivos esparsos , ou então o tamanho será tão grande, já que os zeros na partição serão gravados no disco. E para aproveitar ao máximo, execute um programa como sfill ou zerofree encontrado no apt na partição, porque o espaço livre nem sempre significa zero espaço e você deseja maximizar a quantidade de espaço zero na partição. sistema de arquivo.

Pontos ninja bônus. Como o linux pensa em discos como "arquivos", você também pode usar cp simples, com a condição de que sua partição de saída onde você estaciona o arquivo tenha arquivos esparsos.

sudo cp --sparse=always /dev/sdX /home/<user>/Ubuntu.img

Que criará uma cópia bruta por meio do cp.

Exemplos de sistemas de arquivos que suportam sparse: ext4, btrfs, xfs, ntfs (o ntfs-3g, no entanto, pode não permitir gravações esparsas).

Exemplos de sistemas de arquivos que não: fat32.

    
por user283885 23.02.2015 / 14:30
2

Editar : Isso não funcionará bem se os arquivos excluídos do sistema de arquivos ainda estiverem presentes na partição, portanto, primeiro é necessário limpar o espaço livre na partição de destino:

  1. Monte a partição de destino
  2. Executar dd if=/dev/zero of=<path_to_partition_volume>/file.dd && rm <path_to_partition_volume>/file.dd
  3. Desmontar a partição de destino

Então:

Você pode ler todo o bloco de partição por bloco com dd e exportar tudo para um utilitário de compactação como gzip . Muito provavelmente, qualquer ferramenta de compactação, mesmo usando as configurações de compactação mais rápida e mais baixa, compactará todo o espaço livre durante o processo.

com gzip :

sudo dd if=/dev/sdX | GZIP=-1 gzip >/path/to/backup.gz

( GZIP=-1 define temporariamente a variável de ambiente GZIP to -1 para obter a compactação mais rápida / mais baixa)

Para restaurar um backup:

gzip -d /path/to/backup.gz >/dev/sdX

    
por kos 23.02.2015 / 20:05
1

Que tal usar a opção ddrescue with -S ?

ddrescue -S /dev/sdXY /<path_to_backup>/backup.img

Isso clona cada bloco, mas nenhum bloco foi encontrado no dispositivo de bloco /dev/sdXY to /<path_to_backup>/backup.img

    
por kos 23.02.2015 / 15:53
0

Não pode ser usado para fazer uma cópia para uma unidade menor. Quando eu tenho uma unidade de 64 Gb que é apenas 10% cheia de dados. Gostaria de poder copiá-lo para um arquivo de imagem de 6 Gb, que eu possa copiar, por sua vez, para uma unidade de 16 Gb e expandi-lo para 16 gb

A única possibilidade que conheço agora é usar o GParted para encolher o original, depois copiá-lo e redimensioná-lo. Uma operação muito arriscada, já que você precisa encolher e redimensionar o original.

    
por user522843 25.03.2016 / 10:52
0

Você pode usar rsync para fazer backup apenas dos arquivos na partição para outra partição. Ou tar para criar um arquivo compactado contendo todos os arquivos.

Ambos provavelmente têm (múltiplas) interfaces gráficas, mas eu nunca usei isso sozinho.

    
por Pelle 25.03.2016 / 11:44
0

O Clonezilla pode ser bem amigável. O live CD não requer nenhum uso de linha de comando - eu ficaria muito feliz em chamá-lo de GUI, mesmo que ele não use o mouse - e eu acho que os padrões são bons para muitos casos. O problema é algo que você não chama explicitamente: ele não parece ser projetado como algo que você pode instalar em um sistema Linux arbitrário. Ele é empacotado para o Debian / Ubuntu especificamente, e o Live CD é a maneira mais fácil de executá-lo.

O Clonezilla / partclone usa clonagem com reconhecimento de arquivos e usa seu próprio formato de imagem compactada.

Existe outra possibilidade de não-GUI para gerar arquivos esparsos simples (montáveis), que não dependem da detecção de setores zero.

virt-sparsify /dev/your-block-device backup.img

Se / tmp for um ramdisk, ele avisará que potencialmente precisa de mais espaço para arquivos temporários. Então você pode precisar adicionar a opção --tmp /var/tmp .

    
por sourcejedi 11.04.2016 / 10:07