VirtualBox用に以前製作した FreeBSD8.4 の WordPress 仮想環境。
設定ファイルを確認しようと、zip圧縮してあったファイルを解凍して久しぶりに VirtualBoxで起動してみました。目的のファイルは確認できたのですが、当てが外れ、インストールされていたプログラムはバージョンが古いものでした。
起動ついでに OS とパッケージを FreeBSD 9.3 へアップデートしておこうとして、freebsd-update を実行。これは、過去何度も実施しているので、時間は掛かるものの特に苦労することもなく作業完了。
その後で、pkg upgrade を実行しようとして多少苦労しました。FreeBSD 8.4 インストール時は pkg ではなく 旧pkg_cmds を使っていたため、pkg への変換と、リセットが必要だったようです。
# pkg update -f # pkg check -Ba # pkg upgrade
で回復。
しかし、別の問題が発生。messagebus がユーザー登録関係でエラーになり、アップグレードが途中で止まってしまいます。
Number of packages to be removed: 1 Number of packages to be installed: 73 Number of packages to be upgraded: 61 Number of packages to be reinstalled: 9 The process will require 388 MiB more space. Proceed with this action? [y/N]: y [1/144] Deinstalling ruby19-bdb-0.6.6_3... [1/144] Deleting files for ruby19-bdb-0.6.6_3: 100% [2/144] Installing glib-2.46.2_3... [2/144] Extracting glib-2.46.2_3: 100% No schema files found: doing nothing. [3/144] Installing dbus-1.8.20... ===> Creating groups. Using existing group 'messagebus'. ===> Creating users Creating user 'messagebus' with uid '556'. pw: user 'messagebus' already exists pkg: PRE-INSTALL script failed
過去に見かけた記憶があるのですけど、messagebus では無かったようで、この「システム管理メモ」内キーワード検索に引っかかりませんでした。
でもまあ、’messagebus’ already exists でエラーになっているので、手動で messagebus ユーザーを消してしまえばいいんじゃない?と pw userdel コマンドで消去しようとしたら、
# pw userdel messagebus pw: no such user `messagebus'
で、消えない!
/etc/passwd には、
messagebus:*:556:556::0:0:D-BUS Daemon User:/nonexistent:/usr/sbin/nologin
と登録してあるのに、、、、
パスワードdbを更新すれば良かったのかも知れませんが、面倒くさいので vipw で削除してしまいました。
これで、再び pkg upgrade コマンドを発行したところ、無事、途中から継続できました。
原因は、ユーザー登録が必要なパッケージのアンインストール→インストール作業の途中でパスワードデータベースが壊れてしまったことによるもののようです。
エラーメッセージから解決策はすぐに推測できるものの、pkg upgrade コマンド使用時のこのエラーに関しては、過去に記録がなかったので個々にメモしておくことにしました。