Use cat em vez de cp em partições de tamanho diferente [duplicado]

3

Eu entendi que é impossível usar dd ou cat para copiar todos os dados de uma partição para outra partição com diferenças nos tamanhos. Esta declaração está correta ?, exemplo

2 HDD, o primeiro /dev/sdd1 (100gb) e 30gb e o segundo /dev/sdc1 (50gb) e não têm dados

Certamente eu não posso usar:
cat /dev/sdd1 >/dev/sdc1

por quê? Porque sdd1 tem partição de 100gb e sdc1 tem limite de 50gb

É verdade? o que devo usar para copiar?

eu poderia usar (Assumindo que os hdds estão montados):

cp -avr /mnt/sdd1/* /mnt/sdc1/

É correto usar cp ? alguém sabe como alternativa a cp

EDIT : No caso de não montar o hdd porque o linux não reconhece a partição, o que eu poderia fazer? Continue com essa nova pergunta em: "Backup sem espaço livre em partições não reconhecidas "

Nota: não falo de ferramentas de recuperação como ddrescue

Muito obrigado.

    
por Milor123 29.12.2016 / 16:12

3 respostas

2

Claro, cp funcionará bem. Pode ser necessário usar shopt -s dotglob para que * corresponda a arquivos e pastas cujos nomes começam com . :

shopt -s dotglob
cp -avr /mnt/sdd1/* /mnt/sdc1/

Há também rsync :

rsync -a --info=progress2 /mnt/sdd1/ /mnt/sdc1/

Tem uma exibição de progresso melhor.

    
por muru 29.12.2016 / 16:30
1

Observe a diferença de copiar no nível do arquivo e clonar partições ou unidades inteiras no nível do dispositivo.

Copiar arquivos conforme descrito por muru

Neste caso, você usa as partições montadas, onde você vê os diretórios e arquivos.

O

rsync é uma ferramenta muito boa para backup e sincronização.

Dispositivos clones conforme descrito abaixo

A clonagem de dispositivos é muito arriscada e você deve verificar e verificar novamente se escreveu no dispositivo correto. Caso contrário, você pode substituir suas fotos da família ... e é apenas um pequeno erro de digitação. Ao clonar, você deve desmontar todas as partições nos dispositivos de origem e de destino. Você já percebeu que deveria clonar para um dispositivo pelo menos da mesma forma.

sudo dd if=/dev/sdx of=/dev/sdy bs=4096

clona um dispositivo por exemplo pendrive USB (da unidade x para a unidade y).

sudo dd if=/dev/sdxm of=/dev/sdyn bs=4096

clona uma partição para outra partição (da partição xm para a partição yn, onde x e y são letras de unidade e m e n são números de partição).

sudo dd if=/dev/sdx of=file.img bs=4096

cria um arquivo de imagem de uma unidade.

sudo dd if=/dev/sdx bs=4096 | xz > file.img.xz

cria um arquivo de imagem compactado.

sudo if=ubuntu.iso of=/dev/sdx bs=4096

cria uma unidade de inicialização USB a partir de um arquivo iso do Ubuntu.

-o -

É possível clonar com cp em vez de dd e obter resultados semelhantes.

Ferramentas

Para reduzir o risco e tornar o processo mais fácil para você, existem ferramentas para ajudar nesse processo, especialmente para criar unidades de inicialização a partir de arquivos iso e filas de imagens [compactadas]. Exemplos: o Criador de discos de inicialização do Ubuntu (em 16.04 LTS e mais recente), Discos (gnome-disks), mkusb .

Clonezilla é uma ferramenta que pode selecionar os blocos usados na 'superfície da unidade' e copiá-los / cloná-los, enquanto ele ignora os blocos não utilizados. Isso torna a clonagem com o Clonezilla muito mais rápida que a clonagem com o dd (ou cp), particularmente, em uma unidade com muito espaço livre.

    
por sudodus 29.12.2016 / 17:12
1
Em primeiro lugar, a versão curta é não, e a razão disso é que você não sabe onde seus dados estão em sua primeira unidade. É quase certo que seus dados não estarão nos primeiros 30 GB. Isso é algo embutido no sistema de arquivos linux e a razão pela qual você nunca precisa desfragmentar; ie. seus dados são alocados aleatoriamente no espaço livre, o oposto de seus dias antigos do MSDOS de ter que desfragmentar uma vez por semana.

Eu não tenho os pontos de reputação para ajustar o que recomendo acima, mas a maneira mais rápida de conseguir o que você precisa é esta:

rsync -avz --delete /mnt/sdd1 /mnt/sdc1

O -r não é necessário, pois -a implica automaticamente -r também. Eu incluí descrições dos switches:

-a, --archive modo de arquivamento; é igual a -rlptgoD (não -H , -A , -X )

--delete excluir arquivos estranhos dos diretórios de destino

-z, --compress dados do arquivo de compactação durante a transferência

Você pode optar por ignorar -z , mas acho muito útil para cópias de rede, especialmente Wi-Fi.

Para o reparo, você já tentou fsck ?

Eu encontrei outra ferramenta chamada TestDisk do link , mas você precisa ter pelo menos a quantidade de espaço disponível que você estou querendo recuperar.

    
por Jacques Bezuidenhout 29.12.2016 / 18:14