tar (informática)


En informática , tar es una utilidad de software para recopilar muchos archivos en un archivo de almacenamiento , a menudo denominado tarball , con fines de distribución o copia de seguridad. El nombre se deriva de " t ape ar chive", ya que fue desarrollado originalmente para escribir datos en dispositivos de E / S secuenciales sin un sistema de archivos propio. Los conjuntos de datos de archivo creados por tar contienen varios parámetros del sistema de archivos , como el nombre, las marcas de tiempo, la propiedad, los permisos de acceso a los archivos y la organización del directorio .

La utilidad de línea de comandos se introdujo por primera vez en la versión 7 de Unix en enero de 1979, reemplazando el programa tp (que a su vez reemplazó a "tap"). [2] La estructura de archivos para almacenar esta información se estandarizó en POSIX .1-1988 [3] y posteriormente en POSIX.1-2001, [4] y se convirtió en un formato compatible con la mayoría de los sistemas de archivo de archivos modernos.

Hoy en día, los sistemas operativos similares a Unix generalmente incluyen herramientas para admitir archivos tar, así como utilidades que se usan comúnmente para comprimirlos, como gzip y bzip2 .

BSD-tar se ha incluido en Microsoft Windows desde la actualización de Windows 10 de abril de 2018 , [5] [6] y, por lo demás, hay varias herramientas de terceros disponibles para leer y escribir estos formatos en Windows.

Muchas unidades de cinta históricas leen y escriben bloques de datos de longitud variable , dejando un importante espacio desperdiciado en la cinta entre los bloques (para que la cinta comience y deje de moverse físicamente). Algunas unidades de cinta (y discos sin formato) solo admiten bloques de datos de longitud fija. Además, al escribir en cualquier medio, como un sistema de archivos o una red, se necesita menos tiempo para escribir un bloque grande que muchos bloques pequeños. Por lo tanto, el comando tar escribe datos en registros de muchos bloques 512  B. El usuario puede especificar un factor de bloqueo, que es el número de bloques por registro. El valor predeterminado es 20, lo que produce registros de 10  KiB . [8]

Un archivo tar consiste en una serie de objetos de archivo, de ahí el término popular tarball , que hace referencia a cómo un tarball recolecta objetos de todo tipo que se adhieren a su superficie. Cada objeto de archivo incluye cualquier dato de archivo y está precedido por un registro de encabezado de 512 bytes . Los datos del archivo se escriben sin alteraciones, excepto que su longitud se redondea a un múltiplo de 512 bytes. La implementación original de tar no se preocupó por el contenido de los bytes de relleno y dejó inalterados los datos del búfer, pero la mayoría de las implementaciones modernas de tar llenan el espacio extra con ceros. [9]El final de un archivo está marcado por al menos dos registros consecutivos llenos de ceros. (El origen del tamaño de registro de tar parece ser los sectores de disco de 512 bytes utilizados en el sistema de archivos Unix de la versión 7). El bloque final de un archivo se completa con ceros.


El archivo tar se usa a menudo junto con un método de compresión, como gzip , para crear un archivo comprimido. Como se muestra, la combinación de los archivos en el archivo se comprime como una unidad.