Pergunta

Eu tenho duas partições UNIX em debian que eu gostaria de mesclar (problemas de espaço em disco: /). Qual seria a maneira mais fácil de fazê-lo? Eu acho que seria melhor para tar ou copiar arquivos de uma partição para o outro, uma exclusão e redimensionar o outro. Vou usar parted para redimensionar, mas como eu deveria copiar os arquivos? Há links, permissões e dispositivos que precisam ser movidos sem alterações.

Foi útil?

Solução

Você pode executar o seguinte (como root) para copiar os arquivos. Ele funciona para links simbólicos, dispositivos e arquivos comuns.

cd /partition2
tar cf - . | ( cd /partition1 && tar xf - )

Outra maneira é usar cpio, mas eu nunca me lembro a sintaxe correta.

Outras dicas

Uma vez que este é o Debian com fileutils GNU, cp --archive deve funcionar bem.

cp --archive --sparse=always --verbose --one-file-system --target-directory=/TARGET /ORIGIN

Se por algum motivo você gostaria de ir via GNU tar, você precisa fazer algo como isto:

cd /origin
find . -xdev -depth -not -path ./lost+found -print0 \
    | tar --create --atime-preserve=system --null --files-from=- \
          --format=posix --no-recursion --sparse \
    | { cd /target; tar --extract --overwrite --preserve-permissions --sparse; }

(eu fiz isso tantas vezes que eu tenho um arquivo com todas estas linhas de comando para referência rápida.)

Aviso: Usando GNU "tar" irá não copiar POSIX ACLs; você precisa usar o método ou " bsdtar " "cp --archive" acima:

mkdir /target
cd /origin
find . -xdev -depth -not -path ./lost+found -print0 \
    | bsdtar -c -n --null -T - --format pax \
    | { cd /target; bsdtar -x -pS -f -; }

Você também pode usar SquashFS para criar um espelho da partição e copiar que mais. Depois de redimensionar a sua segunda partição, monte a imagem SquashFS e copiar os arquivos necessários. Tenha em mente que o seu kernel terá SquashFS apoio para montar a imagem.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top