Debian 11 (bullseye) をサーバーにインストールしたが以下のトラブルに

  1. /etc/network/interfaces に固定アドレスを書いたがなぜか dhcp によるアドレスも設定されてしまう.
  2. FreeBSD/NIS の amd に対応するための am-utils パッケージが削除された.
  3. emacs (ver 27) が crash.

解決編 1

dhcp によるアドレスも設定されてしまうのは connman というパッケージ(connection manager の略か)が default でインストールされているため.
apt purge connman
apt purge isc-dhcp-client
をやればよい. isc-dhcp-client についてはネットに多くの記事があったが, connman がなかなか見つからなかった. boot 画面をよく見てると, configuring network by connMan という表示があったので ようやく見つかる.

解決編 2

am-utils がないため, autofs がわかる形に amd 形式の情報を書き直す ツールを自作するしかなかった. ここで便利なのは /etc/auto.master に
/home  program:/etc/prog-auto.home
と書いておくと, たとえば ls /home/nobuki とすれば, nobuki がプログラム /etc/prog-auto.home の argv[1] に渡され, このプログラムが出力する文字列が automount に使われる. たとえばこのプログラムが hogeserver:/usr/home/home01/nobuki と printf すれば, hogeserver で export されている /usr/home/home01/nobuki を /home/nobuki へ mount してくれる.
prog-auto.home.c は私の環境での NIS の amd.home を auto.master 用に書き換えるものである.

そういえば, resolv.conf が勝手に書き換えられる

これはネットにいろんな記事があったのでそれに従い対処. /etc/network/interfaces に search-domain 等を書く. たとえば
iface eno1np0 inet static
  ....
  ....
  dns-nameservers 10.128.254.1
  dns-search math.hoge-u.ac.jp
  dns-domain math.hoge-u.ac.jp
みたいな感じ.

C言語の global 変数の宣言は一つのファイルで. 他のファイルでは行儀よく extern 宣言

OpenXMの中の, fep や tigers をコンパイルしようとしたらエラーが出て止まった. -fcommon をつけて cc すればいいが, 行儀の悪いソースにはきちんと extern をつけましょう. O さんに教えてもらった くわしい解説記事 .

解決編3

apt install emacs-lucid
を実行すると, emacs-gtk が置き換わり crash しなくなる.
"Until some known GTK+ problems are fixed, this version may help avoid crashing Emacs during an emacsclient disconnect." と ここ (2022.11.24) に書いてありました.
emacs-gtk は下記のような crash をしてビックリ!! でした.
Fatal error 11: Segmentation fault
Backtrace:
emacs(+0x149584)[0x55e64a72e584]
emacs(+0x45716)[0x55e64a62a716]
emacs(+0x45bdc)[0x55e64a62abdc]
emacs(+0x1477fd)[0x55e64a72c7fd]
emacs(+0x147879)[0x55e64a72c879]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x14140)[0x7f73489e1140]
/lib/x86_64-linux-gnu/libc.so.6(+0x889e3)[0x7f73486e29e3]
/lib/x86_64-linux-gnu/libc.so.6(__libc_calloc+0x81)[0x7f73486e4ed1]
/usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0x714f70)[0x7f733ea75f70]
/usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0x12d8e8)[0x7f733e48e8e8]
/usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0x710274)[0x7f733ea71274]
/usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0x710208)[0x7f733ea71208]
/usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0x12e0b4)[0x7f733e48f0b4]
/usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0x63242a)[0x7f733e99342a]
/lib/x86_64-linux-gnu/libGLX_indirect.so.0(+0x2ef22)[0x7f733fe7bf22]
/lib/x86_64-linux-gnu/libGLX_indirect.so.0(+0x35240)[0x7f733fe82240]
/lib/x86_64-linux-gnu/libGLX_indirect.so.0(+0x316f1)[0x7f733fe7e6f1]
/lib/x86_64-linux-gnu/libepoxy.so.0(epoxy_glx_version+0x29)[0x7f73481bcbb9]
/lib/x86_64-linux-gnu/libgdk-3.so.0(+0x71005)[0x7f734a602005]
/lib/x86_64-linux-gnu/libgdk-3.so.0(+0x7139c)[0x7f734a60239c]
....