Сохранение хешированной строки в переменной

Из того, что я понял, основная причина заключается в том, что полезно иметь возможность изменять имена каталогов, не нарушая работы программ, которые используют свой рабочий каталог для ссылки на другие файлы. Предположим, вы использовали Wine для запуска ~/.newwineprefix/drive_c/Program Files/Firefox/Firefox.exeи вместо этого хотели переместить весь префикс в ~/.wine. Если по какой-то странной причине Firefox обращался к drive_c/windows, ссылаясь на ../../windows, переименование ~/.newwineprefixломает реализации .., которые отслеживают родительский каталог как текстовую строку, а не индексный дескриптор.

Хранение индекса одного родительского каталога должно быть проще, чем попытка отслеживать каждый путь как в текстовой строке, так и в виде набора индексов.

Другая причина заключается в том, что некорректно работающие приложения могут создавать циклы. Поведение приложений должно быть в состоянии проверить, совпадает ли индекс перемещаемого каталога с индексом любого из вложенных каталогов, в которые он перемещается, точно так же, как вы не можете переместить каталог в себя, но это может быть не принудительно на уровне файловой системы.

Еще одна причина может заключаться в том, что если бы вы могли создавать жесткие ссылки на каталоги, вы хотели бы предотвратить создание жестких ссылок на каталоги, которые вы не можете изменить. findимеет соображения безопасности, поскольку используется для очистки файлов, созданных другими пользователями, из временных каталогов, что может вызвать проблемы, если пользователь переключает реальный каталог на символическую ссылку, когда findвызывает другую команду. Возможность жестко связать важные каталоги заставит администратора добавить дополнительные тесты в find, чтобы не повлиять на них. (Хорошо, вы уже не можете сделать это для файлов, поэтому эта причина недействительна.)

Еще одна причина заключается в том, что сохранение индексного дескриптора родительского каталога может обеспечить дополнительную избыточность в случае повреждения или повреждения файловой -системы. Если вы хотите ..вывести список всех родительских каталогов, которые жестко связаны с этим, чтобы можно было легко найти другой произвольный родительский каталог, если текущий не связан,вы не только нарушаете идею о том, что жесткие ссылки равны, вы должны изменить то, как файловая система хранит и использует индексные дескрипторы. Если бы программы обрабатывали пути как серию (, уникальную для каждой жесткой ссылки )индексных дескрипторов каталога, можно было бы избежать этого, но вы не получили бы избыточности в случае повреждения системы файла -.

0
22.06.2021, 16:56
0 ответов

Теги

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