Где установить модули NSS на CoreOS?
У меня есть пользовательский модуль NSS, который я написал, и я обычно устанавливаю его, копируя библиотеку примерно так...
cp libnss_mymodule.so.0 /lib64/
... затем я добавляю свой модуль в /etc/nsswitch.conf...
$ grep mymodule /etc/nsswitch.conf
passwd: mymodule files usrfiles sss systemd
group: mymodule files usrfiles sss systemd
Это работает для меня в CentOS 7, но не работает в CoreOS, потому что /lib64 находится в файловой системе только для чтения. Где я могу поместить библиотеку общих объектов в CoreOS, которая будет видима для nsdispath()?
РЕДАКТИРОВАТЬ: я попытался добавить файл в /opt/me/lib64 и поместить его в переменную окружения LD_LIBRARY_PATH. Это не помогло.
2 ответа
Я заставил его работать, поместив библиотеки /opt/mything/lib64 и затем изменив следующие конфигурации системы:
Добавил следующую строку в / etc / environment:
LD_LIBRARY_PATH=/opt/mything/lib64
Добавил следующую строку в /etc/systemd/system.conf:
DefaultEnvironment=LD_LIBRARY_PATH=/opt/mything/lib64
Затем запустили следующую команду:
sudo systemctl daemon-reload
Это позволило NSS найти созданные мной модули NSS.
Создайте новый образ, содержащий ваши изменения, с помощью SDK разработчика.
CoreOS называет себя неизменным; это по замыслу.