私が書いたカスタム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
これはCentOS7では機能しますが、/ lib64は読み取り専用ファイルシステム上にあるため、CoreOSでは機能しません。 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モジュールを見つけることができました。
開発者SDKを使用して変更を含む新しいイメージを作成します。
CoreOSはそれ自体を不変と呼んでいます。これは仕様によるものです。