
Estoy creando un archivo tar a partir de una lista de archivos con la opción -T. Al extraer el archivo tar, ¿los permisos del subdirectorio son raíz: raíz en lugar de los permisos en el directorio mismo? Alguna idea de cómo solucionar este problema?
Ejemplo:
# gato lista de archivos.txt
archivo1.txt
dir1/archivo2.txt
dir1/dir2/archivo3.txt
# tar cf archivos.tar -T lista de archivos.txt
# archivos tar xf.tar
La propiedad de los archivos extraídos coincide con la propiedad original de file1.txt, file2.txt y file3.txt. La propiedad de dir1 y dir2 no coincide. El propietario es root:root
Podría seguir una solución similar aPreservar la propiedad y los derechos del directorio principal al extraer el archivo tar pero esperaba que hubiera otra forma, ya que eso podría sumar más trabajo para varios directorios.
Respuesta1
Necesita hacer una copia de seguridad de los directorios y de los archivos, para lo cual debe hacer dos cosas: –
1) Agregue los directorios a su lista de archivos:
file1.txt
dir1
dir1/file2.txt
dir1/dir2
dir1/dir2/file3.txt
2) Agregue --no-recursion
a la cadena de ejecución de la copia de seguridad para detener la inclusión de todos los demás archivos en los directorios:
tar cf files.tar --no-recursion -T filelist.txt
Tenga en cuenta que el orden es importante: los directorios deben preceder a cualquier referencia en un subdirectorio o archivo; y el --no-recursion
parámetro debe ir antes del comando -T
, pero después del cf FileName
mismo.