FreeBSD11.2: pkg upgrade が messagebus disappeared で失敗

FreeBSD 11.2 サーバーを pkg コマンドでメンテナンス中、messagebus というユーザーが更新中に消えてしまったという内容のエラーで、パッケージ更新が止まってしまいました。。

Number of packages to be installed: 65
Number of packages to be reinstalled: 1

The process will require 449 MiB more space.

Proceed with this action? [y/N]: y
[1/66] Installing dbus-1.12.12...
===> Creating groups.
Using existing group 'messagebus'.
===> Creating users
Creating user 'messagebus' with uid '556'.
pw: user 'messagebus' disappeared during update
pkg: PRE-INSTALL script failed

/etc/passwd と /etc/master.passwd を確認してみたところ、どちらにも messagebus というアプリ専用アカウントは登録されています。

そういえば、以前も同様のエラーに遭遇したことがあるのを思い出し検索してみました。この時はテキストファイルである master.passwdが壊れていたのですが、今回は問題ないように見えます。

試しに finger で messagebus をチェックしてみると次のようになり、ユーザーが見つからない。

> finger messagebus
finger: messagebus: no such user
今回は、テキストファイルじゃなくデータベースが壊れたようです。
パスワードデータベースを更新するために、pkg_mkdb コマンドを発行してみました。
# pwd_mkdb -p /etc/master.passwd
このあとで finger を行ってみると、今度はユーザー情報が表示されました。
> finger messagebus
Login: messagebus     			Name: D-BUS Daemon User
Directory: /nonexistent             	Shell: /usr/sbin/nologin
No Mail.

続いて、もう一度 pkg upgrade コマンドを発行したところ、無事にパッケージを更新できました。

時々こういう事が起きるんですよねぇ。

コメントを残す