Como copiar o diretório grande para o Linux do disco rígido externo

1

Eu formatei um disco rígido externo de 3TB como ext4 usando fdisk (na verdade, gnu fdisk), montei-o em / media / external e estou tentando copiar todo o meu diretório home para ele.

Minha primeira tentativa foi bem-sucedida, mas depois de um tempo, quando o processo parou, não consegui acessar o diretório inicial copiado. cd pareceu falhar:

sudo: cd: command not found

Eu então pensei que poderia haver algum limite para o cp e tentei novamente usando o tar.

cd /from-stuff/
tar cf – . | (cd /to-stuff; tar xvf -)

Medi o tamanho do meu diretório inicial para ser ~ 100G. Quando no meu diretório inicial, eu corri:

du -ch | grep total

Eu montei como:

sudo mount -t ext4 /dev/sdd1 /media/external

Note que não consegui montar /dev/sdd , que aparece em sudo fdisk -l , enquanto / dev / sdd1 não.

Quando eu fiz a configuração mais padrão, 1 partição, padrão tudo o mais. Confirmei essa formatação corretamente por não ter nenhum 'erro de tabela de partição inválida'. Eu sou novo para isso, por favor, tenha paciência. Eu posso ter escolhido o GUID acidentalmente? mas não sabe como verificar isso ou reformatá-lo para o que for necessário.

Existe alguma coisa que eu tenha feito incorretamente? Alguém pode oferecer uma seqüência de fdisk para ter certeza de que tudo é uma partição básica formatada como ext4?

Aqui está minha documentação sobre o que eu fiz para formatar. Por favor, esclareça / amplie se puder. Pode ter havido uma tentativa fracassada antes disso:

sudo fdisk /dev/sdb # this will pull up an interactive menu
n       # create a new partition
p       # create a primary partition
[enter] # use default value of 1 for the partition number
[enter] # use default value of 256 for first sector
[enter] # use default value for last sector
w       # write these settings and leave the interactive menu

# make the file system
sudo mkfs.ext4 /dev/sdb1
    
por tarabyte 09.01.2013 / 10:16

2 respostas

0

  • sobre o sudo: cd: command not found

    Essa é normal. cd é um shell embutido. Isso não significa que o diretório de destino não exista. Tente "su - root" se você precisa ser root para ir àquele dir, e então cd para o destino.

  • sobre o fato de que / dev / sdd não pode ser montado

    / dev / sdd é um disco sd inteiro (incluindo sua tabela master de particionamento, tudo, até mesmo o espaço não particionado). Não é uma partição. / dev / sdd1 é sua primeira partição. E cuidado: você mostra que quer montar / dev / sdd1, mas mostra um fdisk em / dev / sdb1 (outro disco! / Dev / sdb é diferente de / dev / sdd)

  • se essa nova unidade for fazer backups: você deve, em vez de usar o tar | (cd dest; tar), que copia tudo a cada vez (e não irá deletar os arquivos de destino / dirs se eles forem deletados na fonte), você deve procurar no comando rsync . Especialmente localmente (mas também ao copiar para um local remoto, já que o rsync irá copiar apenas as partes alteradas de cada arquivo alterado, não a totalidade do arquivo). Mas beware seu uso: rsync pode ser complicado no começo. Não use a opção "--delete" antes de ler muito sobre isso, isso pode acabar com os arquivos de origem ou de destino se eles não tiverem correspondência no outro lado ... veja as diferentes maneiras de especificar diretórios de origem / destinatino, às vezes você adicionará o "/" à direita, às vezes não, dependendo de como você deseja que o rsync aja.

por 09.01.2013 / 10:29
0

Eu estou supondo que o seu problema é que o fdisk não faz grandes discos. Foi substituído por parted .

É semelhante ao fdisk, apenas atualizado para uma tecnologia mais recente. Supondo que o disco seja / dev / sdb (verifique com sudo parted -l ):

  1. sudo parted /dev/sdb
  2. mklabel (digite gpt)
  3. mkpart (as answswers padrão fazem uma partição de tamanho máximo)
  4. q para sair do parted
  5. sudo mkfs.ext4 /dev/sdb1 para criar o sistema de arquivos.

Depois disso, deve ser apenas uma questão de sudo mount /dev/sdb1 /media/external . Seria uma boa ideia certificar-se de que você possui o diretório primeiro com sudo chown tarabyte.tarabyte /media/external

Normalmente, uso rsync para cópias grandes, até locais. Tem melhor saída e recomeça facilmente se houver interrupções.

rsync -avh --progress /from-stuff /to-stuff

Veja man rsync para mais informações.

    
por 09.01.2013 / 18:44