.png)
Tenho um problema com um tarball criado em uma versão do servidor SuSe 10.3.
O arquivo .tar tem um tamanho de 6,5 GB, mas se eu descompactá-lo no Ubuntu 9.10, a pasta resultante terá apenas 1,5 GB.
comandos usados: tar cvf
para embalar, tar xvf
para descompactar.
Talvez alguém saiba como isso pode ser consertado, seria ótimo.
Saúde.
Responder1
se você tiver links simbólicos ou hardlinks no diretório, então tar poderá adicionar cada um deles como um arquivo separado. Quando você o descompacta em um sistema de arquivos Linux, ele restabelece os links e tudo ocupa menos espaço.
Tar não serve para compactação, apenas para criar um arquivo contendo vários arquivos. É por isso que você geralmente o encontra canalizado através do gzip ou bzip.
Responder2
você pode ter melhores resultados com cpio , é muito mais adequado para backups maiores e pode ser programado para lidar corretamente com links sym e arquivos especiais.
Responder3
Se você tiver muitos arquivos pequenos, poderá ocorrer bloqueio e sobrecarga de diretório no tar. A informação importante é o tamanho do diretório de origem. tar pode ter compactado o espaço vazio nos arquivos ao não alocar blocos para eles. Experimente a --apparent-size
opção de du
.
Você pode tentar comparar a lista de arquivos gerados com tar -tf
os arquivos extraídos. Extraia com tar -xf
para ver se você está recebendo algum erro na extração. Tente recriar uma cópia do tar para ver quão grande ele é.
Responder4
Eu sugiro tentarpax. Pelo menos é assim que é chamado no CentOS. IIRC, ele pode lidar com arquivos TAR corrompidos, ignorando os membros tar inválidos. Caso contrário, sugiro que você experimente oarquivo tarifáriomódulo da biblioteca padrão Python e faça isso programaticamente. Eu tinha feito algo assim há alguns anos.