Раньше я использовал жесткие ссылки, но они, похоже, создают путаницу ...
Когда лучше всего использовать жесткие ссылки? Каковы лучшие практики, когда и где использовать жесткие ссылки?
Спасибо,
Дэн
Жесткие ссылки могут быть очень полезны, если вы хотите иметь одинаковое содержимое (и одинаковые разрешения!) В нескольких файлах в одной файловой системе.
Возьмем, к примеру, диспетчер пакетов, который создает каталог / usr / share / doc / $ packagename для каждого установленного пакета и внутри этого каталога файл с именем LICENSE с информацией о лицензии пакета. Многие пакеты в типичной системе Linux имеют лицензию GPL, поэтому вместо 200 копий GPL в файловой системе может быть только одна копия и 199 ссылок.
Распределенные системы контроля версий копируют весь репозиторий на клон, нет проверки, как в svn. Если несколько клонов одного и того же репозитория находятся в одной файловой системе, они могут совместно использовать часть (неизменяемых) файлов с помощью жестких ссылок (git делает это, а также darcs IIRC).
Многие решения для резервного копирования также используют жесткие ссылки, такие как rsnapshot и backuppc.
Лучшее использование жестких ссылок, которое я видел, - это rsnapshot.
Если вы хотите добиться, чтобы файл удалялся только тогда, когда удаляются все жесткие ссылки.
Настройка приманок с круговыми ссылками в иерархии файловой системы, чтобы «поиск» злоумышленника работал вечно.
У моих пользователей есть папка ~ / remote_access с другими окнами winscp.exe в этом. Этот двоичный файл является жесткой ссылкой.
Поэтому, если появится новая версия, я просто скопирую ее себе домой, и все пользователи будут готовы скопировать новую версию на свои USB-накопители. Это похоже на автоматическое обновление программного обеспечения бедняков ;-)
У меня есть веб-сервер, на котором пользователям разрешен только FTP-доступ (т.е.не SSH) и chroot-ed к их домашнему каталогу в целях безопасности. Я жестко привязываю конкретный файл, содержащий их определения Apache VirtualHost, к их домашнему каталогу, чтобы они могли его прочитать, то есть они имели видимость частей конфигурации, которые имеют отношение к ним. Таким образом, мне не нужно предоставлять им доступ к /etc/apache
(или другие части файловой системы).
Linux vserver также может использовать его как стратегию дедупликации. Обычно вы можете использовать жесткую ссылку через границы chroot, в отличие от символической, но не забывайте, что все, что удается изменить содержимое файла, также делает это вне chroot, а в худшем случае - в другой chroot. IIRC vserver использует механизм COW поверх него ...