snmpdのupgradeで以下のように失敗する.
Setting up snmpd (5.7.3+dfsg-1.1) ... adduser: Please enter a username matching the regular expression configured via the NAME_REGEX configuration variable. Use the `--force-badname' option to relax this check or reconfigure NAME_REGEX. dpkg: error processing package snmpd (--configure): subprocess installed post-installation script returned error exit status 1 Errors were encountered while processing: snmpd E: Sub-process /usr/bin/dpkg returned an error code (1) Setting up snmpd (5.7.3+dfsg-1.1) ... adduser: Please enter a username matching the regular expression configured via the NAME_REGEX configuration variable. Use the `--force-badname' option to relax this check or reconfigure NAME_REGEX. dpkg: error processing package snmpd (--configure): subprocess installed post-installation script returned error exit status 1 Errors were encountered while processing: snmpd
sudo /var/lib/dpkg/info/snmpd.postinst configure で追ってみると,実際のadduser commandは以下のようなもので,これ自体には一見問題なさげなのだが,
adduser --quiet --system --group --home /var/lib/snmp --disabled-password --disabled-login --shell /bin/false Debian-snmp
/etc/adduser.conf にある NAME_REGEX という変数で username に対して制限をかけているらしく Default では NAME_REGEX="^[a-z][-a-z0-9_]*\$" となっている模様.ということで Debian-snmp はこれにマッチしないのでコケている様子.同様に Debian- が prefix になっている username としては,手元の計算機では既に Debian-gdm というのがあって,/var/lib/dpkg/info/gdm3.postinst ではadduserを--force-badname option 付きで呼んでいる.ということで/var/lib/dpkg/info/snmpd.postinstのadduserの箇所に--force-badname optionを追加して解決.
ちなみに,これより前のバージョンでは snmp の pseudo user は snmp.
なおこの問題は既にhttps://bugs.debian.org/cgi-bin/bugreport.cgi?bug=819531のように解決されているらしく,5.7.3+dfsg-1.2 で直る見込み(使っているミラーサイトにはまだ来ていない).