Alpine LinuxでSTNSクライアントを動かそうとして断念

踏み台サーバのコンテナ化でAlpine Linuxが使えないか検証していたんですが,無理だと判明しました.

検証メモ

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