
¿Cómo monto un archivo .tar.gz, lo actualizo (agrego archivos nuevos, edito archivos) y luego lo desmonto de modo que los cambios se reflejen en el archivo comprimido original?
Estoy abierto a otros formatos de compresión si no existen herramientas para hacer esto con archivos tar comprimidos con gzip.
Probé archivemount, pero esto monta archivos .tar.gz en modo de solo lectura.
Respuesta1
Por defecto archivemount
funciona en modo lectura-escritura, probablemente los permisos del archivo tar.gz montado no permiten al usuario actualizarlo.
Agregar "-o debug" a las opciones de montaje podría ayudar a comprender qué ocurre.
Respuesta2
A mí me funciona bien en Fedora 20 1 , tal vez tengas un error, o comompromonet sugerido, el archivo es de sólo lectura:
[root@f20 ~]# tar czf /tmp/ul137194.tar.gz -C / /etc/passwd /etc/group /etc/shells
tar: Removing leading `/' from member names
[root@f20 ~]# mkdir /tmp/ul137194
[root@f20 ~]# archivemount /tmp/ul137194.tar.gz /tmp/ul137194
[root@f20 ~]# find /tmp/ul137194
/tmp/ul137194
/tmp/ul137194/etc
/tmp/ul137194/etc/passwd
/tmp/ul137194/etc/group
/tmp/ul137194/etc/shells
[root@f20 ~]# rm /tmp/ul137194/etc/shells
rm: remove regular file ‘/tmp/ul137194/etc/shells’? y
[root@f20 ~]# echo nogroups > /tmp/ul137194/etc/group
[root@f20 ~]# umount /tmp/ul137194
[root@f20 ~]# tar xzf /tmp/ul137194.tar.gz -C /tmp/ul137194
[root@f20 ~]# find /tmp/ul137194
/tmp/ul137194
/tmp/ul137194/etc
/tmp/ul137194/etc/group
/tmp/ul137194/etc/passwd
[root@f20 ~]# cat /tmp/ul137194/etc/group
nogroups
1 archivemount-0.8.1-2.fc20.x86_64, libarchive-3.1.2-7.fc20.x86_64, fuse-2.9.3-2.fc20.x86_64