Extensión | .tar |
---|---|
Tipo de Mimica | application/x-tar |
PUID | x-fmt / 265 |
Firma | 75 73 74 61 72( hexa ) |
Desarrollado por | Laboratorios Bell |
Versión inicial | Enero de 1979 |
Tipo de formato | Archivo |
Contenido por | tar.gz, tar.bz2, tar.xz |
Especificación | Formato abierto |
El programa de alquitrán (Inglés t mono ar Chiver , literalmente "para archivador en cinta") es un software para el archivado de archivos de los sistemas de tipo estándar de UNIX . Fue creado en las primeras versiones de UNIX y estandarizado por los estándares POSIX .1-1988 y luego POSIX.1-2001 . Hay varias implementaciones de tar , la más utilizada es GNU tar.
Un archivo de almacenamiento creado por tar no está comprimido. El archivo de almacenamiento creado a veces se denomina tarball .
El archivo casi siempre se realiza en disco. Sin embargo, el uso más común ahora es crear o leer un archivo de almacenamiento.
Tar conserva los derechos, propietario y grupo de archivos y directorios. También le permite guardar enlaces simbólicos y archivos especiales orientados a bloques o caracteres.
A menudo, una herramienta de compresión de datos comprime un archivo creado por tar . Los formatos más habituales son:
Utilidad de compresión | Extensión Unix | Extensión MS-DOS |
---|---|---|
comprimir | .tar.Z | .taz |
gzip | .tar.gz | .tgz |
bzip2 | .tar.bz2 | .tbz |
lzma y xz | .tar.lz | .tlz |
xz | .tar.xz | .txz |
7zip | .tar.7z |
El software UNIX, y en particular los archivos de origen, se distribuyen con frecuencia como un archivo comprimido.
Básicamente, el formato utilizado consiste en una concatenación de los contenidos de los archivos. Cada archivo está precedido por un encabezado de 512 bytes , este tamaño corresponde al tamaño de un bloque en la versión 7 del sistema de archivos Unix.
Para mejorar la eficiencia de la escritura en cinta magnética, los bloques de 512 bytes se agrupan de forma predeterminada , lo que da como resultado bloques de 10 KB. El bloque final se rellena con ceros binarios.
Formato de encabezadoEl formato original del encabezado del archivo en tar es el siguiente:
apellido | Posición | Tamaño | Descripción |
---|---|---|---|
nombre | 0 | 100 | Nombre del archivo |
Moda | 100 | 8 | Permisos |
uid | 108 | 8 | Propietario (sin usar si es formato extendido) |
gid | 116 | 8 | Grupo (sin usar si es formato extendido) |
Talla | 124 | 12 | Tamaño del archivo en bytes. El tamaño debe ser cero si el archivo es un archivo especial (enlace simbólico, canalización con nombre, "dispositivo" por bloques o por caracteres, etc.) |
mtime | 136 | 12 | Última modificación en tiempo Unix . |
chksum | 148 | 8 | Suma de comprobación del encabezado donde este campo se considera lleno de espacios (valor ascii 32) |
tipo bandera | 156 | 1 | Tipo de archivo |
nombre de enlace | 157 | 100 | Nombre del archivo al que apunta este enlace simbólico (si el tipo indica un enlace simbólico) |
Los campos "mode", "uid", "gid", "size", "mtime" y "chksum" se almacenan en ASCII en un sistema octal (base 8).
Campo | Posición | Tamaño | Descripción |
---|---|---|---|
magia | 257 | 6 | este campo indica si se trata de un encabezado extendido. Entonces es "ustar". |
versión | 263 | 2 | los caracteres "00" indican un formato POSIX 1003.1-1990. Dos espacios indican el antiguo formato GNU (ya no se utilizará). |
tu nombre | 265 | 32 | nombre del usuario propietario en forma de una cadena de caracteres de hasta 32 caracteres. Si está presente, este campo debe usarse en lugar de uid. |
gname | 297 | 32 | nombre del grupo propietario en forma de una cadena de caracteres de hasta 32 caracteres. Si está presente, este campo debe usarse en lugar de gid. |
devmajor | 329 | 8 | este campo representa el número mayor si este archivo es de tipo "dispositivo" por bloques o por caracteres |
devminor | 337 | 8 | este campo representa el número menor, si este archivo es del tipo "dispositivo" por bloques o por caracteres |
prefijo | 345 | 155 | |
final | 500 | 0 |
Valor | Significado |
---|---|
'0' | Archivo normal |
( ASCII NUL ) | Archivo normal (uso obsoleto) |
'1' | Enlace de hardware |
'2' | Enlace simbólico |
'3' | Archivo de caracteres especiales |
'4' | Archivo de bloque especial |
'5' | Directorio |
'6' | Tubo con nombre |
'7' | Archivo contiguo. |
'gramo' | POSIX.1-2001 encabezado extendido |
'X' | Encabezado extendido con metadatos POSIX.1-2001 |
'ARIZONA' | Extensiones de formato POSIX.1-1988 |
Los nombres están codificados en ASCII y los valores son octales con dígitos codificados en ASCII para la portabilidad. Los valores se puntúan con un NUL o un espacio. Dado que se pueden usar 11 caracteres para especificar el tamaño del archivo, esto crea una limitación a 811 bytes, o 8 GB por archivo. Algunas versiones, como GNU tar, permiten la codificación de tamaño en formato binario para superar esta limitación.
Formato UStarLas versiones actuales de tar utilizan un formato conocido como UStar definido por el estándar POSIX (IEEE P1003.1).
UStar permite nombres de archivo más largos y almacena atributos adicionales.
Posición | Tamaño | Campo |
---|---|---|
0 | 257 | idéntico al formato original |
257 | 5 | ustar indica el tipo de UStar |
262 | 3 | Versión ( 00 ) |
265 | 32 | Nombre del dueño) |
297 | 32 | Nombre del grupo) |
329 | 8 | Archivo especial (número principal) |
337 | 8 | Archivo especial (número menor) |
345 | 155 | Prefijo de archivo |
Estos son los comandos comunes para comprimir y descomprimir archivos de acuerdo con su extensión.
De manera más general, podemos lograr el mismo resultado con:
zcat archive.tar.gz | tar -xv bzcat archive.tar.bz2 | tar -xvNota: A veces se usa gzcat o gzip -cd .
o :
tar -cv MonRepertoire | gzip > archive.tar.gz tar -cv MonRepertoire | bzip2 > archive.tar.bz2Esto creará un archivo comprimido en el directorio actual (por lo tanto, un solo archivo) que contiene todos los archivos en el directorio MyDirectory y sus subdirectorios.
Tar es un formato diseñado para el almacenamiento incremental de datos en cintas magnéticas. Se ha vuelto popular entre los desarrolladores de sistemas similares a Unix porque es el único estándar que tiene en cuenta los metadatos del sistema de archivos.
Los nombres de archivo y los archivos señalados por enlaces simbólicos están limitados a 100 caracteres (nombre completo en el archivo, incluido el separador del nombre del directorio). El sistema de archivos ext2 acepta nombres de archivo de 255 bytes. Un sistema Linux acepta nombres absolutos de 4096 bytes.
El tamaño de cada archivo está limitado a 8 12 -1, o aproximadamente 68 GiB . Un archivo tar no tiene límite de tamaño.
Tar no tiene un índice centralizado. Para extraer un solo archivo del archivo, debe comenzar con el primer encabezado y leer los encabezados uno tras otro, en el orden del archivo tar. En medios físicamente lentos (CD-ROM, DVD, incluso discos duros e incluso casetes), leer bloques no contiguos para usar muy poco puede hacer que la extracción de uno o más archivos sea extremadamente lenta.
El almacenamiento de xattrs o ACL requiere extensiones no estándar.
El formato tar se utiliza a menudo junto con las utilidades de compresión. Sin embargo, el formato tar tiene la desventaja de tener muchos bytes sin usar en sus encabezados y de usar números en forma ASCII en un sistema octal. Por lo tanto, las empresas de servicios públicos deben comprimir datos que de hecho son inútiles y los números almacenados de manera muy fragmentada . En la teoría de la compresión de datos, hay pruebas de que agregar datos intencionalmente, incluso con el propósito de hacerlos más comprimibles , no es una buena estrategia en el caso general. Esto agrega entropía a la información. Como resultado, los datos comprimidos ocuparán más espacio en el caso general.
La suma de comprobación está solo en el encabezado. Además, el algoritmo tiene poca resistencia a errores. Solo se necesitan dos bits bien colocados para cambiar para que este error no se detecte. Para el almacenamiento y la transferencia en red, por lo tanto, se recomienda que el programa de compresión utilizado junto con tar utilice un algoritmo de verificación de integridad (por ejemplo , CRC32B , MD5 , SHA1 , etc.).
Teóricamente, los viejos formatos GNU y POSIX pueden entrar en conflicto y engañar a algunos programas.
Un tarbomb es un archivo tar que contiene una gran cantidad de archivos en la raíz del archivo. Cuando no se archivan, los archivos tarbomb ahogan el contenido del directorio de trabajo o sobrescriben los archivos de usuario que tienen el mismo nombre que el archivo. En el mejor de los casos, el usuario debe seleccionar uno por uno los archivos aparecidos para copiarlos en un nuevo directorio, esta clasificación puede resultar un trabajo tedioso si los archivos iniciales y los nuevos están muy mezclados.
Por lo tanto, es habitual que los archivos estén contenidos en un directorio que se archivará, en lugar de archivarlos directamente. También puede extraer los archivos en un subdirectorio dedicado o examinar el contenido del archivo de antemano con la opción t.
A diferencia de GNU tar, el tar original permitía crear y extraer archivos con una ruta absoluta, lo que puede ser peligroso. Sin embargo, todavía es posible referirse relativamente a directorios principales (../).
Los números se almacenan en formato ASCII para evitar problemas de endismo .
El formato tar está diseñado para sistemas similares a Unix y nunca ha pretendido ser interoperable con otros sistemas.
La codificación del nombre utiliza la forma binaria del nombre del archivo, sin especificar qué codificación se utilizó, lo que puede causar problemas para Windows, en particular.
En sistemas similares a Unix, todos los caracteres, excepto '/' y el carácter NUL ('\ 0'), están permitidos para los nombres de archivo. En Windows, se prohíbe una cierta cantidad de caracteres ('\\', ':', ';', '+', etc.). Entonces, Windows no puede extraer correctamente dichos archivos.
GNU tar es la implementación del programa tar por parte del Proyecto GNU . Es un software gratuito distribuido bajo los términos de la Licencia Pública General GNU . Es la implementación POSIX más utilizada en la actualidad.
Historial de versionesVersión | Fecha de lanzamiento | Principales cambios |
---|---|---|
1,26 | 12 de marzo de 2011 |
|
1,25 | 7 de noviembre de 2010 | |
1,24 | 24 de octubre de 2010 |
|
1,23 | 3 de marzo de 2010 |
|
1,22 | 5 de marzo de 2009 |
|
1,21 | 27 de diciembre de 2008 |
|
1,20 | 14 de abril de 2008 |
|
1,19 | 10 de octubre de 2007 | |
1,18 | 29 de junio de 2007 |
|
1,17 | 8 de junio de 2007 | |
1.16.1 | 9 de diciembre de 2006 | |
1,16 | 21 de octubre de 2006 | |
1.15.91 | 16 de junio de 2006 | |
1.15.90 | 19 de febrero de 2006 | |
1.15.1 | 21 de diciembre de 2004 | |
1,15 | 20 de diciembre de 2004 |
|
1.14.90 | 2 de septiembre de 2004 | |
1,14 | 10 de mayo de 2004 |
|