Alpine LinuxでSTNSクライアントを動かそうとして断念
踏み台サーバのコンテナ化でAlpine Linuxが使えないか検証していたんですが,無理だと判明しました.
検証メモ
- 組み込み用途の軽量なLinuxディストリビューション(例:alpine linux)は,cライブラリとしてglibcを使わずにuclibcやmuslを使う.
- glibcがnsswitchの機能をサポートしていることで,標準のように使われている.
- nsswitchをサポートしないcライブラリの場合,nsswitchを読みに行かない(もちろんnssモジュールも)
- straceで確認済み
- Ubuntuの場合
strace id xxx
でread(3, "# /etc/nsswitch.conf\n#\n# Example"..., 4096) = 527
が得られる.
- 現在,ユーザ認証で使っているSTNSは,NSSモジュール(libnss_stns)を使う.
- したがって,NSSモジュールが使えないAlpine Linux上で動かすことは困難
- 参考) https://skarnet.org/software/nsss/nsswitch.html