Como comprimir um diretório?

129

Estou tentando compactar um diretório e fazer o ftp para um ftp do windows.

Eu tentei todos os comandos tar que eu posso encontrar para compactar um diretório. Parece estar ok. Então eu transfiro e vejo seu conteúdo usando o Winrar. O Winrar continua me dizendo que o arquivo está corrompido. Eu tenho visto outros arquivos .gz ou .bz2 usando o winrar, mas por alguma razão estranha eu não consigo fazê-lo funcionar.

Eu preferiria apenas zipar os arquivos para que eles tenham uma extensão .zip, mas mesmo assim, quando eu tento navegar pelo seu conteúdo, tanto as janelas quanto o winrar afirmam que está corrompido.

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

    
por dko 21.02.2011 / 07:00

3 respostas

228

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 errado.

O FTP tem dois modos: binário e ASCII. Por padrão, a maioria dos clientes usa o modo ASCII, que quebra seus arquivos binários completamente. Eu não sei qual cliente FTP você está usando, mas por exemplo em ncftp você pode usar o comando "binary" para mudar 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

Você pode criar um arquivo zip executando

zip -r compressed_filename.zip foldername

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

    
por Olli 21.02.2011 / 10:40
38

A compressão pode ser feita usando tar, zip, p7 e até rar no Ubuntu. Você precisará instalar o rar para o arquivamento do rar. Simplesmente clicar com o botão direito dá-lhe as opções para comprimir com os arquivadores instalados.

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

tar cvzf tarball.tar.gz directory/
    
por sagarchalise 21.02.2011 / 07:15
3

A compactação de diretórios, usando compactação paralela, é uma maneira eficiente de economizar tempo. O pbzip2 pode ajudá-lo a obter diretórios compactados.

tar cf <outputfile_name> --use-compress-prog=pbzip2 <directory_name>
    
por MANAUWER RAZA 04.03.2015 / 11:02