Почему по умолчанию в пути к библиотеке нет / usr / local / lib? [закрыто]

Отредактируйте fstab следующим образом:

UUID=bb7522af-2bda-4416-bcca-a076a1cf63a3 /home/Shared/Vaderive auto defaults,noauto 0 0

Создайте правила udev в / lib / udev /rules.d для монтирования / размонтирования вашего устройства, например:

nano /lib/udev/rules.d/automount.rules

Со следующим содержимым:

ACTION=="add", ENV{ID_FS_UUID_ENC}=="bb7522af-2bda-4416-bcca-a076a1cf63a3", RUN+="/bin/mount /dev/%k"
ACTION=="remove", ENV{ID_FS_UUID_ENC}=="bb7522af-2bda-4416-bcca-a076a1cf63a3", RUN+="/bin/umount /dev/%k"

Запустите udevadm control --reload-rules , затем проверьте свои файлы.

2
25.05.2017, 13:40
1 ответ

Было высказано предположение, что /usr/local/lib должен находиться в пути по умолчанию, и это следует рассматривать как «ошибку» в вариантах Linux, таких как Red Hat, где это не так.

Этот ответhttps://stackoverflow.com/a/17653893указывает на существенные частиhttp://linuxmafia.com/faq/Admin/ld-lib-path.html

Many Red Hat-derived distributions don't normally include /usr/local/lib in the file /etc/ld.so.conf. I consider this a bug, and adding /usr/local/lib to /etc/ld.so.conf is a common ``fix'' required to run many programs on Red Hat-derived systems.

Я обсуждал этот вопрос с Red Hat и теперь не согласен.

Пакеты, предоставляемые Red Hat, никогда не устанавливаются в /usr/local в системах, где поставщики устанавливают их в /usr/local, ответ будет другим. В этих системах можно разумно ожидать, что /usr/local/lib находится на пути поиска по умолчанию.

Red Hat указала, что /usr/local/lib не должен быть в пути поиска по умолчанию, поскольку любая добавленная туда библиотека может быть обнаружена RPM и yum.

Я исследовал это дальше. Если вы устанавливаете свою собственную версию системной библиотеки в /usr/local/lib, тогда она может удовлетворить зависимость от другого системного пакета, который вы обычно устанавливаете через RPM или yum. Очевидно, это может повлиять на стабильность системы. Хуже того, это было бы сделано довольно тонко. проверка yum может сообщить, что у вас есть все версии поставщиков всех необходимых вам пакетов и не заметите, что у вас есть собственная версия чего-то значимого в /usr/local/lib.

В системах, использующих другой менеджер пакетов, это может не применяться.

У меня нет полного ответа на вопрос, что указать в RPATH. Тем не менее, я думаю, вам следует избегать зависимости от библиотек в /usr/local/lib и вместо этого устанавливать их в /opt (, то есть куда-то, что вы контролируете как часть своей установки ), где это возможно.

2
27.01.2020, 22:10

Теги

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