¿Archivo de sistema de archivos comprimido navegable con atributos completos?

¿Archivo de sistema de archivos comprimido navegable con atributos completos?

Quizás una variación de toda la pregunta sería:¿Existen otras herramientas de archivado además de tarlas que preservan los permisos de archivos de Linux y las banderas de usuarios/grupos?

Quiero crear archivos de un árbol de directorios en mi caja de Ubuntu. Los árboles de directorios son grandes; una primera ejecución tar cvpzf archive.tgz /home/foo/bararrojó un archivo de 5 GB.

También quiero conservar todos los permisos y otras banderas y archivos especiales.

Estoy bien con un archivo de 5 GB, sin embargo, para mirar dentro de ese archivo, ya que es un archivo tar comprimido, ¡primero se deben descomprimir los 5 GB completos! (O eso parece al abrirlo con el visor de archivos. Me alegra que me corrijan).

Entonces, necesito una forma de "hacer una copia de seguridad" de un directorio (árbol) mientras se conservan los atributos y derechos completos del sistema de archivos y se crea un archivo con un "índice" que no debe descomprimirse para explorar su contenido.


Editar: especificar lo que considero un archivo, despuésLa respuesta de Whaley:

Un archivo es un archivo único o un conjunto (pequeño) de archivos que contienellenoycompletoinformación dentro de este/s archivo/s. Es decir, puede vivir en cualquier sistema de archivos (si el tamaño lo permite), puede grabarse en un DVD, puede hacerlo split(después de lo cual el objetivo de esta pregunta realmente se pierde, pero aún así), ...

Respuesta1

¿Conoce la función t de tar para imprimir el contenido del archivo? Puedes usarlo en un archivo comprimido gzip como este:

tar ztvf archive.tgz

E imprimirá los archivos en un formato similar a una lista larga que incluye marcas de tiempo y tamaños. Resulta que si usa dos opciones v al crear el archivo, enumerará los archivos (en lugar de simplemente enumerarlos) a medida que los agrega al archivo, por lo que puede hacer algo como esto para crear automáticamente un índice. mientras haces una copia de seguridad de una sola vez:

tar cvvpzf archive.tgz /home/foo/bar > archive.tgz.index

Tenga en cuenta el uso de dos opciones v. Muchos otros comandos le permiten aumentar la detalle de esta manera (ssh por ejemplo).

Respuesta2

Me he encontrado con este problema en múltiples ocasiones. Esto es lo que he descubierto.

CREMALLERA
.zipLos archivos admiten permisos Unix y enlaces simbólicos si se crean utilizando la utilidad zip instalada en la mayoría de los sistemas Linux. Sin embargo, no es compatibletodolas extensiones admitidas por tar, como enlaces físicos y atributos extendidos. Pero puedes extraer archivos de archivos ZIP sin descomprimir primero todo el archivo hasta ese punto, así que eso es una victoria.

calabazafs
Si está buscando un sistema de archivos comprimido montable de sólo lectura, el principal contendiente es actualmentecalabazafs. Pero hay un problema... bueno, algunos problemas, en realidad. Específicamente:

  • SquashFS es relativamente nuevo y no tiene tanto soporte como herramientas como tar.
  • Existen dos formatos en disco producidos por dos versiones diferentes de la herramienta que no son compatibles entre sí. Asegúrate de conseguir el correcto.
  • No existe un controlador FUSE; necesita soporte en el kernel para su versión de squashfs para poder montar imágenes.
  • Las herramientas de soporte ( mksquashfsy unsquashfs) son bastante simples y no admiten la amplia gama de opciones que ve tar.
  • No hay mucha documentación.

Respuesta3

El principal problema parece ser que

... para mirar dentro de ese archivo ... ¡primero hay que descomprimir los 5 GB completos! (O eso aparece al abrirlo con el visor de archivos…)

Es cierto que es necesario descomprimirlo, pero eso no significa que sea necesario "desempaquetar" todos los archivos en el sistema de archivos.

Para extraer uno o varios archivos, tarse descomprimirá todo el archivo, pero se descartará todo excepto los archivos enumerados como argumentos.
De manera similar, enumerar los nombres de los archivos con -t( --list) necesita descomprimir todo el archivo, pero descarta todo el contenido del archivo.

Para entender por qué no hay un índice al inicio del archivo, tenga en cuenta que taroriginalmente está diseñado para funcionar con dispositivos de cinta magnética; De ahí el nombre tar, como archivador de cintas. En una cinta, desea agregar el siguiente archivo al final, no desea rebobinar hasta el principio para escribir un índice.

Respuesta4

Quizás quieras considerar fusecompress, que "proporciona un sistema de archivos Linux montable que comprime su contenido de forma transparente. Los archivos almacenados en este sistema de archivos se comprimen sobre la marcha y Fuse permite crear una interfaz transparente entre los archivos comprimidos y las aplicaciones del usuario".

El usuario puede acceder a los archivos almacenados como si no estuvieran comprimidos.

Pero si tiene espacio, ¿por qué no simplemente copiar el árbol de directorios? Más simple.

Otra opción es copiar los árboles de directorios a una unidad USB. Eso permitiría un fácil acceso y brindaría protección contra una falla del disco.

información relacionada