Archivo zip con rutas absolutas a través de la línea de comando

Archivo zip con rutas absolutas a través de la línea de comando

¿Hay alguna manera de comprimir un archivo para incluir rutas absolutas en Linux a través de la línea de comando?

Tengo un programa Python que verifica zips y tars en busca de rutas absolutas y me gustaría crear un archivo zip para verificar si la función funciona.

Pude hacer esto con éxito con un alquitrán. También busqué en Google una respuesta a esto y revisé la documentación zip y el manual, pero no encontré una respuesta clara.

Respuesta1

$> 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

También hay un interruptor para eso:

$> 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

Te da exactamente el mismo resultado, pero si lo haces para empezar, /entonces realmente no puedes, pero puedes especificarlo cuando descomprimes con -dla opción.

¡Sí! Esa es una edición. Se me ocurrió que tal vez estás hablando de gz, xz, bzip2. Si es así, primero debe archivarlos, estos no tienen el concepto de sistema de archivos como lo tiene tar. zip, rar, 7z, todos hacen algo así.

Respuesta2

En el formato de archivo ZIP, las rutas de los archivos siempre son relativas, consulte, por ejemploeste:

  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.

Por supuesto, es posible parchear un archivo ZIP para forzar una barra diagonal inicial, pero todas las aplicaciones normales normalmente están protegidas contra ataques tan obvios (*).

(*) un truco aún más molesto fue el archivo de longitud casi infinita formado por ceros consecutivos, que codifica en un puñado de bytes. Descomprimir eso a menudo haría que su máquina se apagara. Todas las utilidades de manejo de ZIP detectarán esto ahora.

información relacionada