C++ ときどき ごはん、わりとてぃーぶれいく☆

USAGI.NETWORKのなかのひとのブログ。主にC++。

memo: openSUSE-12.2; systemctl start fam.service が failed するのを解決する

状況

設置仕立てのcourier-imap-sslthunderbirdで繋いでみたら矢鱈ととんでも無い勢いで

Jan  2 03:45:16 LH-SVR5 imapd-ssl: Error: Input/output error
Jan  2 03:45:16 LH-SVR5 imapd-ssl: Check for proper operation and configuration
Jan  2 03:45:16 LH-SVR5 imapd-ssl: of the File Access Monitor daemon (famd).

と出力された。

famdとやらが問題なのだろう。しかし、

systemctl start fam.service

しても失敗し、挙句にログが

Jan 02 04:10:06 LH-SVR5 fam[4654]: Starting File Access Monitoring Daemon..failed

しか残らない。 /etc/fam.conf を見てもおかしな気はしない。

対応

/etc/init.d/fam を確認すると /usr/sbin/fam を実行している。そこで、とりあえず、

/usr/sbin/fam --help

すると、

fam, version 2.7.0
Use: famd [ -f | -d | -v ] [ -l | -t seconds ] [ -T seconds ] \
                                [ -p prog.vers ] [ -L ] [ -c config_file ] [-C]
        -f              stay in foreground
        -d              debug
        -v              verbose
        -l              no polling
        -t seconds      set polling interval (default 6 s)
        -T seconds      set inactive timeout (default 5 s)
        -p prog.vers    set RPC program number and version
        -L              local only (ignore remote requests)
        -c config_file  path to alternate configuration file
                          (default is /etc/fam.conf)
        -C              insecure compatibility

とかなんとか。-d付けて実行してみる。

/usr/sbin/fam -d

すると、

famd[4749]: log level is LOG_DEBUG
famd[4749]: read /etc/fam.conf line 13: "insecure_compatibility" = "false"
famd[4749]: read /etc/fam.conf line 20: "untrusted_user" = "nobody"
famd[4749]: read /etc/fam.conf line 28: "local_only" = "false"
famd[4749]: read /etc/fam.conf line 35: "xtab_verification" = "true"
famd[4749]: Setting untrusted-user to "nobody" (uid: 65534, gid: 65533)
Cannot register service: RPC: Unable to receive; errno = Connection refused
famd[4749]: can't register with portmapper. Please start a portmapper (for example rpcbind), then try again to start famd.

と。

解決

systemctl start rpcbind.service
systemctl start fam.service