佐々木です.
状況が再現できた・解決できたわけではないのであまりお役に立てませんが.
On Fri, 21 Jan 2022 17:51:51 +0900, Masao Odera odera@text.co.jp wrote:
先日、Debianのアップグレードを行いました。JessieからStretch、Buster を経てBullseyeへという、かなり強引なやり方でしたが、kDEデスクトップを 含め、それなりに普段使いできる状態にはなりました。
Jessie からいきなり Bullseye へアップグレードしたのではなく, Jessie → Stretch → Buster → Bullseye と順に更新したのであれば, 想定されている手 段です.
が、どうも肝心のsystemdがおかしな状態になっていて、困っています。主 な問題は下記2つです。
確認として systemctl restart, systemctl hibernate は動作されているという ことですが, そもそも更新後に kernel の更新と再起動(reboot)はされています よね? 現状動作している kernel の version は幾つでしょうか?
●systemctl statusが機能しない syslogやsshdなどでも同じ結果になります。rootで実行しても同じです。
~$ systemctl status apache2.service Failed to parse message: そのようなデバイスやアドレスはありません
- snip - 一つ目は dbus と通信できていない場合に見られるメッセージに思えます. Jessie → Stretch の更新時の注意点として, Stretch 以降のパッケージ群が PIE を有効にしてビルドされている点があります. もし再起動せずに Jessie の 頃の古いカーネルのまま動いている場合には, daemon program の多くがセグメ ンテーションフォルトをおこし, 正常に動作しない事が知られています. https://www.debian.org/releases/stretch/amd64/release-notes/ch-information.j...
●再インストールすると、古い設定ファイルが使われる
- snip -
さらに、下記では、既存の設定ファイルの内容が理解できていないようです。 これも奇妙というか、何が原因かわからない状態です。
[systemd.conf:29] Unknown command type 'a'.
apt-listchanges は不要なら抜いておくのが良いですが, それはそれとして.
エラーで出ている systemd.conf, home.conf, journal-nocow.conf などは systemd-tmpfiles.service の設定ファイルであり, /usr/lib/tmpfiles.d/ 以下 の設定ファイル群ですね. systemd 本体の設定とは別で, tmpfile を含めたファ イルのマウントの設定です.
さて, なんでこれが unknown command type 扱いになっているのかな…
というわけで, あまりお役に立てませんが, 参考までに.
apache2が入っている状態で、下記のようになります。下記のように、 syslogやsshdなどでも同じ結果になります。rootで実行しても同じです。
~$ systemctl status apache2.service Failed to parse message: そのようなデバイスやアドレスはありません ~$ systemctl status sshd.service Failed to parse message: そのようなデバイスやアドレスはありません ~$ systemctl status syslog.service Failed to parse message: そのようなデバイスやアドレスはありません
●再インストールすると、古い設定ファイルが使われる 試しにsystemdを再インストールすると、設定の途中で奇妙な古いファイル "/usr/bin/apt-listchanges"が使われます。 最初にBullseyeにアップグレードする際にもこのファイルでひっかかったの で気がついたのですが、中身はPython 2.7のスクリプトです。またこのスクリ プトの中では"import anydbm"とされているのですが、anydbm.pyはpython2.7 のツリーにあるだけで、python3系には存在しないようです(現在、 "/usr/bin/apt-listchanges"は別の場所に移動したため、下記では"No such file"になっています)。 さらに、下記では、既存の設定ファイルの内容が理解できていないようです。 これも奇妙というか、何が原因かわからない状態です。
[systemd.conf:29] Unknown command type 'a'.
・再インストールの結果
~# apt install --reinstall systemd Reading package lists... Done Building dependency tree... Done Reading state information... Done 0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 1 not upgraded. 1 not fully installed or removed. Need to get 4495 kB of archives. After this operation, 0 B of additional disk space will be used. Get:1 http://ftp.debian.org/debian bullseye/main amd64 systemd amd64 247.3-6 [4495 kB] Fetched 4495 kB in 2s (2128 kB/s) /bin/sh: line 1: /usr/bin/apt-listchanges: No such file or directory (Reading database ... 896033 files and directories currently installed.) Preparing to unpack .../systemd_247.3-6_amd64.deb ... Unpacking systemd (247.3-6) over (247.3-6) ... Setting up systemd (247.3-6) ... [home.conf:10] Unknown command type 'Q'. [home.conf:11] Unknown command type 'q'. [journal-nocow.conf:25] Unknown command type 'h'. [journal-nocow.conf:26] Unknown command type 'h'. [journal-nocow.conf:27] Unknown command type 'h'. [systemd.conf:29] Unknown command type 'a'. [systemd.conf:30] Unknown command type 'a'. [systemd.conf:31] Unknown command type 'a'. [systemd.conf:37] Unknown command type 'a'. [systemd.conf:38] Unknown command type 'a'. [systemd.conf:39] Unknown command type 'a'. [var.conf:10] Unknown command type 'q'. Setting up docker-ce (5:20.10.12~3-0~debian-bullseye) ... Job for docker.service failed. See 'systemctl status docker.service' and 'journalctl -xn' for details. invoke-rc.d: initscript docker, action "restart" failed. Failed to parse message: No such device or address dpkg: error processing package docker-ce (--configure): installed docker-ce package post-installation script subprocess returned error exit status 1 Processing triggers for man-db (2.9.4-2) ... Processing triggers for dbus (1.12.20-2) ... Errors were encountered while processing: docker-ce needrestart is being skipped since dpkg has failed E: Sub-process /usr/bin/dpkg returned an error code (1)
※Dockerの設定に失敗しているのは別の問題だと思いますので、無視してくだ さい。
以上につきまして、修復方法など、ご存知でしたらお教え頂ければと思います。
なお、systemctl restartや、systemctl hibernateなどは正常に動いていま す。システムの起動も、もちろん正常に機能しています。
よろしくお願いいたします。
-- Youhei SASAKI uwabami@gfd-dennou.org uwabami@debian.or.jp GPG fingerprint: 4096/RSA: 66A4 EA70 4FE2 4055 8D6A C2E6 9394 F354 891D 7E07