Linux

刪除使用archivemount掛載的tar中的文件?

  • June 24, 2014

archivemount允許 rw-mounting tar 檔案。

刪除文件時會發生什麼?它實際上是否已從 tar 存檔中刪除?是否設置了刪除標誌?

如果文件確實被刪除了,那麼我認為操作會非常緩慢,因為需要重寫整個存檔,至少從文件被刪除的地方開始。

你可以很容易地對此進行測試

創建一個 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 文件並查看 wnat 發生

umount /mnt/a
ls -i test.tar
24903988 test.tar

inode 編號已更改,因此它是一個新文件。在大型檔案中,這可能會非常慢。

引用自:https://serverfault.com/questions/607449