Что может внезапно заставить программы читать /etc/ld.so.preload при запуске?

У меня была эта проблема так много раз, что я "записал ее"

# tested works
# jessie updates
deb http://ftp.us.debian.org/debian/ jessie main contrib non-free
deb http://mirror.cogentco.com/debian/ jessie main contrib non-free
deb http://security.debian.org/ jessie/updates main contrib non-free
# source list
deb-src http://ftp.us.debian.org/debian jessie main contrib non-free
deb-src http://security.debian.org/jessie/updates main contrib non-free
3
10.05.2016, 03:26
1 ответ

Все программы пытаются открыть /etc/ld.so. preload , это поведение встроено в Glibc. Но они пытаются открыть его, только если он существует (Glibc сначала вызывает access ).

Обычно /etc/ld.so.preload не существует, поэтому каждый процесс просто вызывает access , получает отрицательный ответ и продолжает работу. Это не вызывает ничего из AppArmor.

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

Я не знаю, может ли компиляция mame привести к созданию /etc/ld.so.preload , или это не связано. В любом случае, если файл пустой, просто удалите его.

6
27.01.2020, 21:18

Теги

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