Guía del sysadmin vago: como listar el contenido de un .TAR o .TAR.GZ sin descomprimir el archivo.

in #gnu-tar6 years ago


Otro título sugerido: estamos todos de acuerdo, el que programó GNU/tar es un hijo de puta.


 

Acá va una que me he dado cuenta que mucha gente no conoce:

Cuando necesitas listar el contenido de un archivo .tar o necesitas editar un archivo contenido dentro de un archivo .tar/.tar.gz utilizando como único recurso la consola de comandos (comúnmente vía SSH) lo lógico sería primero descomprimir el .tar utilizando la línea de comandos, hacer las ediciones que considere necesarias, y luego volver a generar un archivo comprimido o exactamente lo mismo, pero extrayendo solamente el archivo a editar y luego volviendolo a poner en su lugar y buena suerte haciendo que te respete el path original dentro del TAR.

 

No se ustedes pero yo en particular, opino que a tar lo programaron con el culo en lugar de con la cabeza. Sin miedo a equivocarme me atrevería a decir que me tomó meses aprender los switches (parámetros/opciones) más utilizados, que son un puto dolor de huevos.

 

Hoy les vengo a traer la versión mejorada de todo el procedimiento, para que si alguna vez vuelven a tener que listar el contenido de un archivo comprimido o llegasen a tener que editar uno o más archivos en el interior de un archivo comprimido, no les vaya a pasar que:

  • Se quedan sin espacio en disco.
  • Se quedan sin inodos en disco.
  • Se quedan sin tiempo esperando a que se descomprima un billón de archivos.
  • Se quedan sin paciencia pasando el tar tvf con un pipe a grep.
  • Se quedan sin sistema operativo por descomprimir sobre el path equivocado.
  • La carguen de alguna otra manera todavía por determinar.
 
Accediendo al contenido de un .tar.gz con vim.
Accediendo al contenido de un .tar.gz como un campeón.

 

Bueno, resulta ser que:

 

Vim puede abrir archivos .tar, .tar.gz, etc.


 

Y no solo eso. Puede además editar el contenido de cualquiera de los archivos contenidos dentro del .tar o .tar.gz sin necesidad de extraerlo. Simplemente con desplazarse dentro de vim hasta encontrar el archivo que necesitás y darle enter ya te lo abre, te permite editarlo y te permite grabar los cambios (hint: la tecla : pone a vim en modo comandos, entonces :/string te sirve para buscar "string" dentro del .tar.gz).

 

Así que la próxima vez que necesites acceder al contenido de un .tar o .tar.gz a ver que tiene dentro y solamente tengas shell, ya sabés. No hace falta que te acuerdes como eran los parámetros que se le pasan a tar para que haga cosas. La próxima, ejecutá:

vim /paht/otropath/archivo.tar.gz
 

De nada.

 


Posteado desde mi BLog con SteemPress : http://www.malditonerd.com/guia-del-sysadmin-vago-como-listar-el-contenido-de-un-tar-o-tar-gz-sin-descomprimir-el-archivo/