Como compactar um diretório?


162

Eu estou tentando compactar um diretório e ftp para um windows ftp.

Eu tentei todos os comandos tar que consigo encontrar para compactar um diretório. Parece estar ok. Depois transfiro e vejo seu conteúdo usando o Winrar. Winrar continua me dizendo que o arquivo está corrompido. Eu já vi outros arquivos .gz ou .bz2 usando o winrar, mas por algum motivo estranho, não consigo fazê-lo funcionar.

Eu preferiria apenas compactar os arquivos para que eles tenham uma extensão .zip, mas mesmo assim, quando eu tento navegar pelo conteúdo, tanto o Windows quanto o Winrar alegam que ele está corrompido.

Alguém mais tem alguma sugestão sobre outra coisa para tentar?


(1) qual comando tar exato você está usando? (2) você pode descompactar o arquivo resultante?
djeikyb

Tente usar o 7zip para visualizar o arquivo no Windows.
Oxwivi

Respostas:


282

Bem, provavelmente seus arquivos estão perfeitamente bem antes da transmissão por FTP.

Infelizmente, provavelmente você está transferindo seus arquivos usando o modo FTP incorreto.

O FTP tem dois modos: binário e ASCII. Por padrão, a maioria dos clientes usa o modo ASCII, que quebra completamente seus arquivos binários. Não sei qual cliente FTP você está usando, mas, por exemplo, no ncftp, você pode usar o comando "binary" para alternar para o modo binário.

Se você deseja criar arquivos ZIP usando o Ubuntu (ou quase qualquer outro Linux), use zip. Você pode instalá-lo no Ubuntu executando

sudo apt-get install zip

Em seguida, você pode criar um arquivo zip executando

zip -r compressed_filename.zip foldername

Na nota relacionada, você deve saber que o FTP é um protocolo de transmissão inseguro. Considere mudar para sftp, por exemplo. Existem muitos servidores ssh gratuitos para Windows, incluindo uma porta OpenSSH mínima .


Bom ponto normalmente confiei no cliente / servidor para detectar automaticamente ascii vs modo binário e não tive um problema, então eu nunca pensei nisso como um problema em potencial. Eu corri o zip antes também e tudo parecia bem até que eu tentei vê-lo. Provavelmente devido à coisa binária / ascii.
dko 21/02

De qualquer forma, uau, obrigado, eu me sinto um idiota agora que era assim tão simples. Eu deveria saber disso. De qualquer forma, obrigado pela dica sobre o ssh para Windows, eventualmente eu iria mudar para isso, mas eu sei que o FTP para Windows lança menos variáveis ​​no fator de teste e desenvolvimento.
dko 21/02

48

A campressão pode ser feita usando tar, zip, p7 e até rar no ubuntu. Você precisará instalar o rar para arquivar o rar. Basta clicar com o botão direito para oferecer as opções de compactação com arquivadores instalados. insira a descrição da imagem aqui

Se você deseja usar "zip" para extensão .zip, pode ver o manual do zip. A linha de comando para usar o tar é:

tar cvzf tarball.tar.gz directory/

1
Tema impressionante! Qual o nome disso?
Elliott Darfink

existe algum "-q" para "bastante modo"?
MatheusJardimB

2
@MatheusJardimB retire a opção vtar czf tarball.tar.gz directory/
Adam

3

Compactação de diretórios, o uso de compactação paralela é uma maneira eficiente de economizar tempo. O pbzip2 pode ajudá-lo a compactar diretórios.

tar cf <outputfile_name> --use-compress-prog=pbzip2 <directory_name>
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.