Monte o arquivo tar compactado e atualize-o

2

Como montar um arquivo .tar.gz, atualizá-lo (adicionar novos arquivos, editar arquivos) e desmontá-lo de modo que as alterações sejam refletidas no arquivo compactado original?

Estou aberto a outros formatos de compactação se não houver ferramentas para fazer isso com arquivos tar compactados com gzip.

Eu tentei o arquivemount, mas isso monta arquivos .tar.gz no modo somente leitura.

    
por user84207 15.06.2014 / 07:35

2 respostas

3

Por padrão archivemount funciona no modo leitura-gravação, provavelmente as permissões do arquivo tar.gz montado não permitem que o usuário o atualize.

Adicionar "-o debug" às opções de montagem pode ajudar a entender o que ocorre.

    
por 16.06.2014 / 22:07
2

Funciona bem no Fedora 20 1 , talvez você tenha um bug ou mpromonet sugerido , o arquivo é somente leitura:

[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

    
por 19.06.2014 / 17:46