3

Мне нужно редактировать расширенные атрибуты каталогов, которые являются символическими ссылками.

К сожалению, xattr, который поставляется в OSX 10.5, пишет в целевую ссылку вместо самой ссылки.

Я обнаружил другую версию, которая поддерживает опцию "-s" для подавления следующих символических ссылок. Я проверил его из репозитория, но нет никакого установочного файла, который я мог бы разобрать, и я думаю, что он мне нужен:https://xattr.svn.sourceforge.net/svnroot/xattr

Затем я нашел другую версию, а также проверил ее и, наконец, смог установить ее после установки Xcode:

http://svn.red-bean.com/bob/xattr/releases/xattr-0.6.1/

Однако, когда я запускаю эту версию, у меня не появляется волшебная опция "-s" для подавления следующих символических ссылок. На самом деле у этой версии, похоже, не было никаких других опций, которые были у оригинального xattr.

У кого-нибудь есть версия xattr, работающая на OSX 10.5, которая будет поддерживать не следующие символьные ссылки, или любое другое приложение, которое позволит мне писать расширенные атрибуты и не следовать символическим ссылкам?

1 ответ1

1

Вариант на https://github.com/jwodder/xattr 1 имеет параметр -P который подавляет обычное поведение следующих символических ссылок (то есть передает параметр XATTR_NOFOLLOW в listxattr (2) и т.д.). Включенная документация указывает, что этот режим «работает с символьной ссылкой, а не с целью» является режимом по умолчанию (раньше он использовался по умолчанию для работы с целью, но код был недавно обновлен в соответствии с документацией).

Опции и режимы работы отличаются от обычного xattr(1), поэтому вам, вероятно, придется адаптировать любые сценарии, которые у вас уже есть.

Так как вы сказали , что вы уже установили Developer Tools (т.е. Xcode), простой make должен построить программу. Я скомпилировал и слегка протестировал его на компьютере с Mac OS X 10.6.7 (я также ранее использовал его на 10.4, поэтому он должен нормально работать на 10.5).


Примечание о «каталогах, которые являются символическими ссылками». Запись каталога может быть либо каталогом, либо символической ссылкой (или простым файлом и т.д.), Но не обоими. Неверно говорить «каталог, который является символической ссылкой» или «символическая ссылка, которая является каталогом». Собственно, это просто «символическая ссылка, которая в конечном итоге 2 указывает на каталог».

1 Вы можете использовать кнопку «Загрузки» в правой части страницы GitHub для загрузки .tar.gz или .zip если у вас не установлен Git.

2 «В конечном счете», потому что символические ссылки могут указывать на другие символические ссылки. Они могут даже указывать на несуществующее имя пути (создавая «висячую» символическую ссылку).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .