2024-04-03 (Wed)

APT repository の構成

man source.list すると出てくるが、

deb http://us.archive.ubuntu.com/ubuntu focal main restricted

のような記載では、focal が suite を表し、その後が components を表すという。

実際の deb ファイルの一覧が欲しい場合は、https://us.archive.ubuntu.com/ubuntu/dists/focal/Release を見ると https://us.archive.ubuntu.com/ubuntu/dists/focal/Rmain/binary-amd64/Packages のように Packages ファイルの URL が分かるので、それをみればよい。

他の例として、Intel oneAPI SDK の場合は

https://apt.repos.intel.com/oneapi all main

なので、https://apt.repos.intel.com/oneapi/dists/all/Release から追いかければよい。

YUM repository の構成

YUM については baseURL の下の repodata/repomd.xml を見て XML ファイルを辿るようだ。

例えば、Intel oneAPI SDK の場合は

baseurl=https://yum.repos.intel.com/oneapi

なので、https://yum.repos.intel.com/oneapi/repodata/repomd.xml となる。

PAM で悩んだ

LDAP 認証を有効にしたシステムで、/etc/pam.d/ssh から include されている /etc/pam.d/system-auth がこうなっている:

account     required                                     pam_unix.so
account     sufficient                                   pam_localuser.so
account     sufficient                                   pam_usertype.so issystem
account     [default=bad success=ok user_unknown=ignore] pam_sss.so
account     required                                     pam_permit.so

pam_unix.sorequired になっているのに LDAP が動いている理由が分からない。LDAP にしかない non-local account のとき、pam_unix.so が失敗してログインが拒否されそうなものだが。

二日間悩んでも分からなかったので質問した。UNIX & LINUX “Why is pam_unix.so set “required” even when LDAP is enabled?” によると、pam_unix.so は auth のとき、ローカルに存在しないアカウントの場合はチェックをせずに成功を返すらしい。man pam_unix の記述が曖昧すぎる……。

Should the user’s record not contain one or more of these entries, the corresponding shadow check is not performed.

とあるが、そもそも user’s record が存在しない場合にどうなるかが書いてないじゃないか。

読んだ