El archivado y la compresión resuelven problemas distintos. Un archivo combina un árbol de directorios y sus metadatos en un solo flujo. La compresión codifica un flujo para reducir su tamaño. Por convención, un archivo .tar.gz es un archivo tar cuyo flujo se ha comprimido con gzip.
Paquetes · Lección 3
tar y gzip
Aprende a archivar archivos con `tar`, comprimir flujos con `gzip` y examinar archivos antes de extraerlos de forma segura.
Comprimir un flujo con `gzip`
De forma predeterminada, gzip comprime un archivo y sustituye el nombre original por un archivo .gz:
$ gzip report.txt
Normalmente, esto elimina report.txt después de crear correctamente report.txt.gz. Descomprímelo con:
$ gunzip report.txt.gz
Utiliza gzip -k report.txt, cuando sea compatible, para conservar el archivo de entrada, o utiliza los flujos estándar cuando necesites un control explícito. Una extensión de archivo es una convención, no una prueba del formato real; herramientas como file pueden examinar el contenido.
¿Cuál es la función principal de gzip en esta lección?
Crear un archivo tar
Crea un archivo sin comprimir con:
$ tar -cvf project.tar file1 file2 directory1
-ccrea un archivo nuevo.-vmuestra los miembros mientras los procesa y es opcional.-f project.tarindica el nombre del archivo; como-fconsume un argumento, mantén el nombre junto a esa opción.
Las rutas se guardan como nombres de miembros del archivo. Crea los archivos desde un directorio de trabajo elegido deliberadamente y evita incluir sin querer secretos, cachés, sockets o rutas absolutas demasiado amplias.
¿Qué opción de tar crea un archivo nuevo?
Crear un archivo tar comprimido con gzip
GNU tar y muchas otras implementaciones pueden invocar gzip mediante -z:
$ tar -czvf project.tar.gz file1 file2 directory1
El resultado es un único flujo tar comprimido con gzip. La compresión no cifra el archivo ni oculta su contenido a quien pueda leerlo y descomprimirlo. Si necesitas confidencialidad, utiliza un flujo de trabajo apropiado de cifrado autenticado y gestiona las claves por separado.
¿Qué solicita -z en la orden tar mostrada?
Mostrar el contenido antes de extraerlo
Trata un archivo recibido de terceros como una entrada que no es de confianza. Muestra primero los nombres de sus miembros:
$ tar -tzf download.tar.gz
Busca rutas absolutas inesperadas, componentes de recorrido .., enlaces simbólicos o duros sospechosos, archivos de dispositivo y nombres que sobrescribirían archivos importantes. Las implementaciones modernas de tar aplican protecciones, pero el comportamiento y las opciones varían, y la extracción sigue creando nombres y contenidos elegidos por un posible atacante.
Extrae el contenido en un directorio de preparación nuevo y sin privilegios:
$ mkdir extraction-stage
$ tar -xzf download.tar.gz -C extraction-stage
No extraigas como root un archivo que no hayas revisado. Comprueba lo que se creó antes de mover los archivos seleccionados a sus ubicaciones finales.
¿Qué operación muestra los miembros de un archivo sin extraerlos?
Otros formatos de compresión
Las implementaciones de tar pueden trabajar con compresores como bzip2 y xz, que en GNU tar suelen seleccionarse mediante -j y -J, respectivamente. La compatibilidad con formatos y su detección automática varían, así que consulta tar --help o el manual local. ZIP es un formato de archivo distinto que se maneja con herramientas como zip y unzip.
¿La compresión gzip convierte un archivo tar en confidencial?
Practica con archivos desechables en Empaquetado y compresión de archivos y después aplica la inspección y la preparación en Crear y restaurar una copia de seguridad con tar.
Lección completada
Has completado tar y gzip
Ahora puedes combinar de forma segura el archivado con tar y la compresión con gzip.
Distingue un archivo tar de la compresión gzip.
Crea archivos con
-cy flujos gzip con-z.Muestra los miembros con
-tantes de extraerlos con-x.Extrae contenido que no sea de confianza en un directorio de preparación sin privilegios.
Trata la compresión como algo independiente del cifrado.
Guarda tu progreso
Crea una cuenta gratuita para guardar esta lección y continuar en cualquier dispositivo.
Crear una cuenta gratuita