как глобально отменить псевдоним rm cp mv в RHEL 7

Содержимое каталогов стандартной системной библиотеки (, обычно /libи /usr/lib), а также любых каталогов, определенных в файле /etc/ld.so.confи/или файлах /etc/ld.so.conf.d/*.conf, проверяется с помощью команды ldconfig, и результаты кэшируется в /etc/ld.so.cache. Команда ldconfigобычно автоматически запускается средствами управления пакетами всякий раз, когда вы устанавливаете или удаляете пакеты библиотек.

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

Если вы добавляете или удаляете символические ссылки в каталогах системных библиотек вручную,вам, скорее всего, придется запустить ldconfigот имени пользователя root, чтобы система обновила кеш и, таким образом, ваши изменения вступили в силу. Без запуска этой команды динамический загрузчик не будет знать, что пути к библиотекам изменились, и с радостью продолжит использовать пути к библиотекам из старого кеша.

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

Также можно встроить информацию о пути к библиотеке в сам двоичный файл программы, используя атрибуты секции с именамиDT_RPATH(deprecated )или DT_RUNPATH. Они также переопределяют механизм кэширования, но, насколько мне известно, их использование довольно необычно, именно , потому что это приводит к проблемам, подобным исходному вопросу, когда вам нужна программа для работы в системе/среде. это больше не точное соответствие системе, для которой была разработана программа.

2
29.07.2021, 21:07
0 ответов

Теги

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