Guía del sysadmin vago: como listar el contenido de un .TAR o .TAR.GZ sin descomprimir el archivo.
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 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/