存档挂载允许 rw-mounting tar 档案。
当我删除文件时会发生什么?它是否真的从 tar 存档中删除?是否设置了删除标志?
如果文件确实被删除,那么我认为操作会非常缓慢,因为整个档案需要重写,至少从文件被删除的地方开始。
答案1
你可以很容易地测试一下
创建一个 tar 文件
tar -cf test.tar this.txt that.txt
获取它的 inode 号,以便稍后进行比较
ls -i test.tar
24903987 test.tar
挂载 test.tar 存档并从中删除文件
archivemount test.tar /mnt/a
rm /mnt/a/that.txt
ls -i test.tar
24903987 test.tar
请注意,文件保留了其原始 inode 编号。让我们卸载 tar 文件并查看会发生什么
umount /mnt/a
ls -i test.tar
24903988 test.tar
索引节点号已更改,因此这是一个新文件。对于大型档案,这可能会非常慢。
答案2
如果我理解的没错,archivemount 在卸载之前实际上不会更新存档文件的内容。卸载时,它会重新创建存档,当然,如果存档文件很大,这会很慢。