web-dev-qa-db-ja.com

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

これはCentOS7では機能しますが、/ lib64は読み取り専用ファイルシステム上にあるため、CoreOSでは機能しません。 nsdispath()に表示される共有オブジェクトライブラリをCoreOSのどこに配置できますか?

編集:ファイルを/ opt/me/lib64に追加し、それをLD_LIBRARY_PATH環境変数に入れてみました。それは役に立たなかったようです。

1
Ishpeck

ライブラリ/ 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モジュールを見つけることができました。

0
Ishpeck

開発者SDKを使用して変更を含む新しいイメージを作成します。

CoreOSはそれ自体を不変と呼んでいます。これは仕様によるものです。

1
John Mahowald