GNU/Linux >> Tutoriales Linux >  >> Linux

¿Compresión / archivado que mantiene los permisos y el propietario del archivo?

Sé que se han hecho preguntas similares sobre los permisos, pero ¿qué forma de compresión o archivado conserva los permisos y los propietarios de cada archivo y directorio?

Estaba considerando el tar.gz formato, pero ¿sería esto correcto?

Necesito mover 37 GB de archivos y directorios a otro servidor y necesito que todo sea exactamente igual cuando no esté comprimido.

Respuesta aceptada:

Tanto las herramientas de archivado tradicionales tar como cpio conservan la propiedad y los permisos de Unix (usuario/grupo/otro), así como las marcas de tiempo (con cpio, asegúrese de pasar -m al extraer). Si no le gusta su sintaxis arcana¹, puede usar su pax de reemplazo POSIX (pax -w -pe ) Todos estos generan un archivo sin comprimir; canaliza el archivo a una herramienta como gzip o xz para comprimirlo (GNU tar tiene opciones para hacer la compresión). Los usuarios y grupos se identifican por su nombre; GNU tar tiene una opción .

Ninguna de estas herramientas conserva características modernas como ACL, capacidades, contextos de seguridad u otros atributos extendidos.

Algunas versiones de tar pueden almacenar ACL. Consulte ¿Qué usar para hacer una copia de seguridad de los archivos y conservar las ACL? Con GNU tar, pase --acls tanto al crear como al extraer el archivo.

Un sistema de archivos squashfs, como lo sugiere mikeserv, almacena capacidades y atributos extendidos, incluido el contexto SELinux, pero no ACL. (Necesita versiones que no sean demasiado antiguas). Si tiene ACL y contextos de seguridad, puede usar un sistema de archivos squashfs y guardar la ACL ejecutando getfacl -R en la raíz del sistema de archivos original y restaurarlos después de extraer los archivos con setfacl --restore .

Si desea guardar absolutamente todo, incluyendo ACL, marcas de tiempo de subsegundos, atributos extendidos y atributos específicos del sistema de archivos, puede clonar el sistema de archivos. La desventaja de este enfoque es que no puede escribir directamente una copia comprimida convenientemente. La forma definitiva de clonar el sistema de archivos es copiar el dispositivo de bloque; por supuesto, esto es un desperdicio en el sentido de que copia el espacio vacío. Alternativamente, cree un sistema de archivos que sea lo suficientemente grande para almacenar todos los archivos y use cp -a con el cp comando de GNU coreutils para copiar los archivos; GNU cp es bastante bueno para copiar todo, incluidas las características no tradicionales, como los atributos extendidos y las ACL.

Relacionado:TextEdit convirtió el archivo HTML en RTF mientras estaba abierto:¿cómo deshacer?

¹ Aunque este es realmente exagerado.


Linux
  1. Cómo copiar permisos y propiedad de archivos a otro archivo en Linux

  2. Cómo cambiar permisos y propietarios a través de la línea de comandos

  3. ¿Cómo descomprimir el formato de archivo .xz en Linux usando las utilidades tar y xz?

  4. ¿Precedencia del propietario del usuario y del grupo en los permisos de archivo?

  5. ¿Permisos de archivo y ahorro?

Permisos y propiedad de archivos de Linux explicados con ejemplos

Comando tar de Linux para comprimir y extraer archivos

Administre directorios y permisos de archivos con chmod Recursive

Comprender los permisos básicos de archivos y la propiedad en Linux

¿Qué es más eficiente, la compresión tar o zip? ¿Cuál es la diferencia entre tar y zip?

Montar con sshfs y escribir permisos de archivo