Предоставляет ли Btrfs какой-либо способ идентификации файла, даже если путь изменен, например неизменный идентификатор?

Для тех, кто получил отказ в доступе и не может просто добавить префикс «sudo», используйте:

sudo nano /sys/module/hid_apple/parameters/fnmode

Измените его на 2или любой другой, а затем Ctrl+Xдля сохранения.

0
11.10.2020, 23:54
2 ответа

Есть номера инодов(см. ls -i, stat), как у многих (все? )другие *файловые системы nix. В Btrfs они стабильны (, не меняются после перезагрузки, не меняются при монтировании на другой машине ), но уникальны только внутри подтома (, а не внутри всей файловой системы 1); и их можно использовать повторно.

Два пути, сообщающие об одном и том же номере инода в одно и то же время внутри одного подтома, ведут к одному и тому же файлу; вот как работают жесткие ссылки . Но в целом вы не можете быть уверены, что сегодняшний номер инода N тот же файл, что и вчерашний N .

Сохранение жесткой ссылки в каталоге, к которому никто не может получить доступ, может быть обходным решением; потому что, пока существует жесткая ссылка, ее номер инода не может быть повторно использован внутри одного и того же подтома. Затем вы можете перечислить все файлы с одинаковым номером инода по запросу.

Тем не менее, бывают ситуации, когда вы не можете отследить файл, потому что в новом месте это формально другой файл. К ним относятся:

  • Когда оригинал «перемещается» путем копирования+удаления (независимо от того, копируется CoW -или нет ).
  • Когда оригинал перемещается в другой подтом.
  • Когда оригинал перемещается в другую файловую систему (это копирование+удаление на самом деле).

1 Обратите внимание, что два разных подтома означают два разных номера устройства,даже , если они доступны из одной точки монтирования (, где смонтирован их (grand -… -)родительский подтом ). Вот как работает Btrfs.

2
18.03.2021, 22:57

Я бы сказал, что вы должны создать жесткую ссылку на этот файл, например. с

ln -L /path/to/a.txt /unique/path/in/the/same/fs

Если это удастся, вы по-прежнему сможете получить доступ к файлу, даже если он был переименован или удален.

Я не знаю способа создать "слабую" жесткую ссылку (, которая будет автоматически удаляться при удалении всех остальных жестких ссылок на файл ).

1
18.03.2021, 22:57

Теги

Похожие вопросы