Linux Mint 12 - como abrir um arquivo .zip no terminal

3

A pergunta acima cobre isso - lamento muito, vejo as respostas o tempo todo, mas, embora muito explícito, não consigo aplicá-las no meu terminal.

Eu tenho uma pasta zipada, não consigo abri-la no arquivo: recebo o seguinte erro:

Archive:  /home/elansa/Music/Music.zip
Zip file size: 2011856896 bytes, number of entries: 4693

warning [/home/elansa/Music/Music.zip]:  end-of-central-directory record claims this
  is disk 176 but that the central directory starts on disk 20153; this is a
  contradiction.  Attempting to process anyway.
error [/home/elansa/Music/Music.zip]:  missing 3025939027 bytes in zipfile
  (attempting to process anyway)
error [/home/elansa/Music/Music.zip]:  start of central directory not found;
  zipfile corrupt.
  (please check that you have transferred or created the zipfile in the
  appropriate BINARY mode and that you have compiled UnZip properly)

Eu estava lendo que esse tipo de erro poderia ser corrigido no terminal. Isso é verdade? se assim for posso ter direcções? Eu nunca fui capaz de abrir um zip. Eu não acredito que sou idiota, mas isso simplesmente me ilude.

Qualquer ajuda seria muito apreciada.

    
por user249912 09.01.2014 / 19:29

4 respostas

5

Primeiro, o arquivo que você listou em sua postagem não é um arquivo .tar.gz. Parece ser um arquivo ZIP. O arquivo ZIP também parece estar corrompido ou incompleto de alguma forma.

Mas, para responder à sua pergunta, se você tivesse um arquivo .tar.gz (digamos que você tenha music.tar.gz no seu diretório pessoal), você extrairia o conteúdo assim (isso pressupõe que você esteja no mesmo diretório como o arquivo .tar.gz)

tar -xzvf music.tar.gz

Isso extrairia o arquivo .tar.gz no diretório atual (seu diretório pessoal)

-z : Uncompress the resulting archive with gzip command.
-x : Extract to disk from the archive.
-v : Produce verbose output i.e. show progress and file names while extracting files.
-f music.tar.gz : Read the archive from the specified file called music.tar.gz.

Algumas perguntas para você. Você criou este arquivo zip em um sistema Linux ou no Windows? Eu vi acontecer que se você criar o arquivo usando WinZIP, por algum motivo estranho o arquivo aparecerá como incompleto quando você tenta extraí-lo no Linux ou Mac OS X. Se você criou o arquivo ZIP no Windows usando o WinZIP, tente para abri-lo no Windows com o WinZIP e ver se você pode pelo menos ver uma lista de arquivos contidos no arquivo. Se puder, extraia os arquivos no Windows e use uma ferramenta de arquivo real como o 7 Zip ou o WinRAR para recriar o arquivo novamente.

Outra opção seria usar o comando unzip no Linux na linha de comando. A sintaxe seria

unzip music.zip

que extrairá o arquivo na pasta atual.

    
por 09.01.2014 / 19:38
4

Esta questão cobre a reparação de um arquivo zip corrompido - ferramenta de terminal (linux ) para reparar arquivos zip corrompidos

Expandindo um pouco as respostas, você gostaria de fazer algo como:

zip -F /home/elansa/Music/Music.zip --out Music_fixed.zip
unzip Music_fixed.zip

Se isso não funcionar, tente:

zip -FF /home/elansa/Music/Music.zip --out Music_fixed.zip
unzip Music_fixed.zip

De acordo com o manual do zip, é melhor tentar com apenas -F primeiro:

The single -F is more reliable if the archive is not too much damaged, so try this option first.

Como parece que você é um iniciante na linha de comando e não tenho certeza se o programa zip vem instalado por padrão no Linux Mint, aqui está um comando para instalá-lo:

sudo apt-get install zip

Espero que isso ajude.

    
por 09.01.2014 / 23:12
3

Eu tive esse mesmo problema com um arquivo ZIP muito grande criado no Windows. A execução da ferramenta zip causou o mesmo erro que outros descreveram (isso está no OS X executando o Zip 3.0):

bash-3.2$ unzip -l Users.zip 
Archive:  Users.zip
warning [Users.zip]:  126463302015 extra bytes at beginning or within zipfile
  (attempting to process anyway)
error [Users.zip]:  start of central directory not found;
  zipfile corrupt.
  (please check that you have transferred or created the zipfile in the
  appropriate BINARY mode and that you have compiled UnZip properly)

A solução no meu caso era usar o pacote p7zip ( link ou usar seu gerenciador de pacotes favorito). Isso funcionou perfeitamente:

bash-3.2$ 7z l Users.zip
<tons of successful output>

Alguém descreveu este exato cenário aqui: link .

    
por 11.11.2014 / 02:24
0

Talvez esteja fora do tópico, mas, além da resposta do Graeme, usar -FFzf funcionou no meu caso. Eu estava tentando descompactar um arquivo 6.6G que provavelmente foi compactado no Windows.

$ zip -v
...
This is Zip 3.0 (July 5th 2008), by Info-ZIP.
...
ZIP64_SUPPORT

$ unzip a.zip
... start of central directory not found; zipfile corrupt.

$ zip -FF a.zip --out a_fixed.zip
...
zip error: Entry too big to split, read, or write (Poor compression resulted in unexpectedly large entry - try -fz)

$ zip -FFfz a.zip --out a_fixed.zip
$ unzip a.zip
    
por 04.04.2014 / 23:46