Arquivo zip com caminhos absolutos via linha de comando

Arquivo zip com caminhos absolutos via linha de comando

Existe uma maneira de compactar um arquivo para incluir caminhos absolutos no Linux através da linha de comando?

Eu tenho um programa Python que verifica zips e tars em busca de caminhos absolutos e gostaria de criar um arquivo zip para verificar se a função funciona.

Consegui fazer isso com sucesso com um tar. Também pesquisei no Google uma resposta para isso e verifiquei a documentação e o manual do Zip, mas não encontrei uma resposta clara.

Responder1

$> zip file.zip $PWD/test.txt
adding: path/to/test.txt (deflated 5%)
$> unzip -l file.zip
Archive:  file.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
       20  03-11-2019 21:32   path/to/test.txt
---------                     -------
       20                     1 file

Há também uma opção para isso:

$> zip -jj file.zip test.txt
adding: test.txt (deflated 5%)
$> unzip -l file.zip 
Archive:  file.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
       20  03-11-2019 21:32   path/to/test.txt
---------                     -------
       20                     1 files

Ele fornece exatamente o mesmo resultado, mas se você começar, /não poderá, mas poderá especificar isso ao descompactar com -da opção.

Sim! isso é uma edição. Me ocorreu que talvez você esteja falando sobre gz, xz, bzip2? Nesse caso, você precisa arquivá-los primeiro, eles não têm o conceito de sistema de arquivos como o tar. zip, rar, 7z, todos eles fazem algo assim.

Responder2

No formato de arquivo ZIP, os caminhos dos arquivos são sempre relativos, veja por exemploesse:

  file name: (Variable)

      The name of the file, with optional relative path.
      The path stored should not contain a drive or
      device letter, or a leading slash.  All slashes
      should be forward slashes '/' as opposed to
      backwards slashes '\' for compatibility with Amiga
      and Unix file systems etc.

É claro que é possível corrigir um arquivo ZIP para forçar uma barra inicial, mas todos os aplicativos regulares são normalmente protegidos contra esses hacks óbvios(*).

(*) um hack ainda mais irritante foi o arquivo de comprimento quase infinito feito de 0's consecutivos, que é codificado em alguns bytes. Descompactar isso muitas vezes derrubaria sua máquina. Todos os utilitários de manipulação de ZIP detectarão isso agora.

informação relacionada