Coreos
在 CoreOS 上哪里安裝 NSS 模組?
我有一個我編寫的自定義 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**位於只讀文件系統上。我可以將共享對像庫放在對 nsdispath() 可見的 CoreOS 上的什麼位置?
編輯:我嘗試將文件添加到**/opt/me/lib64**並將其放入 LD_LIBRARY_PATH 環境變數中。它似乎沒有幫助。
我通過放置庫**/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 模組。
CoreOS 稱自己是不可變的;這是設計使然。