Existem outras opções para descompactar um arquivo no Ubuntu além de “descompactar”? [fechadas]

6

Meu sysadmin está inacessível agora, e eu tenho um arquivo zipado no servidor que eu gostaria de descompactar ... no entanto, atualmente não temos zip e unzip instalados, e eu não tenho acesso root a instale-os ...

Estou completamente sem opções? Existem outras coisas que podem descompactar este arquivo?

    
por johnnietheblack 10.08.2013 / 21:47

6 respostas

7

Eu não tentei isso, mas , há um módulo zipfile na biblioteca padrão do Python desde a versão 1.6 e desde que a versão 2.6 teve um método extractall

Você deve ser capaz de fazer algo como:

  1. Crie um arquivo com o seguinte conteúdo (editando-o para se adequar ao seu caso de uso).
  2. Salve o arquivo como "unzipfile.py"
  3. Execute com python unzipfile.py

E ele extrairá test.zip para /home/user/directory .

import zipfile

with zipfile.ZipFile('test.zip', "r") as z:
  z.extractall("/home/user/directory")

Fonte: link

Alternativamente, BusyBox contém um "módulo" de descompactação, e se você pudesse baixar e executar o BusyBox vinculado estaticamente, então você poderia use isso para descompactar coisas.

    
por 10.08.2013 / 21:51
10

Se você tiver java instalado, o comando jar poderá descompactar um arquivo zipado:

jar xvf file.zip 

Observe que você pode instalar o java sem acesso root: link

    
por 10.08.2013 / 22:08
2

Eu não acredito que existam outras maneiras de descompactar o arquivo em um sistema sem unzip , mas você poderia enviar o arquivo para outro sistema linux (com o unzip instalado ou acesso root disponível), descompactar o arquivo lá e - se necessário - envie o arquivo descompactado de volta ao servidor original.

O comando para enviar um arquivo de um servidor para outro é scp . A sintaxe para enviar o arquivo é:

scp <filename> <username>@<otherhostname>:<portnumber><fullpathtolocation>
e.g.: scp file.zip  [email protected]:2222/home/user/ 

Espero que isso ajude!

    
por 10.08.2013 / 21:56
1

Se o servidor tiver o Gnome em execução, use o utilitário de arquivamento

link

    
por 10.08.2013 / 22:55
1

BSD / Mac OSX

O utilitário tar, fornecido com os derivados Mac e BSD, suporta a extração de arquivos zip do comando tar

tar -xvf foo.zip

tar --version
bsdtar 2.8.3 - libarchive 2.8.3

Debian / RHEL

O arquivo tar que acompanha o Ubuntu e outros não suporta a extração de arquivos zip. A melhor opção será scp o arquivo para uma máquina com zip instalado.

tar -xvf foo.zip
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors

Teste de fumaça

echo "the quick brown fox jumped over the lazy dog" > bar.txt
zip -r bar.zip bar.txt
rm bar.txt
tar -xvf bar.txt
cat bar.txt
the quick brown fox jumped over the lazy dog

Atualizar

Reescreveu a resposta para esclarecer que o tar -xvf só funciona em sistemas operacionais de bsd. Embora seja uma boa informação, não funcionará neste cenário, afinal.

    
por 10.08.2013 / 22:25
0

Copie o arquivo para outra máquina, descompacte e copie de volta.

    
por 10.08.2013 / 21:53