Удаление файла в tar, смонтированного с помощью archivemount?
archivemount позволяет rw-монтировать архивы tar.
Что происходит, когда я удаляю файл? Это действительно удалено из архива tar? Установлен ли флаг удаления?
Если файл действительно удален, то я предполагаю, что операция будет мучительно медленной, потому что весь архив необходимо будет переписать, по крайней мере, с того места, где файл был удален.
2 ответа
Вы можете проверить это довольно легко
создать файл tar
tar -cf test.tar this.txt that.txt
Получить его номер инода для последующего сравнения
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
Обратите внимание, что файл сохраняет свой первоначальный номер инода. Давайте размонтируем файл tar и посмотрим, что произойдет
umount /mnt/a
ls -i test.tar
24903988 test.tar
Номер инода изменился, поэтому это новый файл. Это, вероятно, будет очень медленно на большом архиве.
Если я правильно понимаю, что архивирование установлено, оно фактически не обновляет содержимое файла архива до того, как вы отключите его. При размонтировании он заново создает архив и уверен, что с огромным архивным файлом это будет медленно.