Linux
刪除使用archivemount掛載的tar中的文件?
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 編號已更改,因此它是一個新文件。在大型檔案中,這可能會非常慢。