タイトルの通りで、sambaが急に停止し接続できなくなりました。結局sambaを再インストールして復活したのですが、原因不明のままです。一応忘備録として残しておきます。
環境
- Raspberry Pi 1A+
- Raspbian 12 (bookworm)
- Linux version 6.1.0-rpi6-rpi-v6 (2023-10-27)
現象
調査
sudo systemctl status samba
する- serviceがdisabledでinactiveであった
- その下のログを見ると、exec-conditionのせいでスキップした、と書いてある
Loaded: loaded (/lib/systemd/system/samba-ad-dc.service; disabled; preset: enabled) Active: inactive (dead) systemd[1]: Starting samba-ad-dc.service - Samba AD Daemon... systemd[1]: samba-ad-dc.service: Skipped due to 'exec-condition'. systemd[1]: Condition check resulted in samba-ad-dc.service - Samba AD Daemon being skipped. systemd[1]: samba-ad-dc.service: Consumed 1.256s CPU time.
- とりあえず、serviceをenableし再起動するが、enabledになるだけで変化なし
sudo systemctl enable samba-ad-dc.service
sudo systemctl restart samba-ad-dc.service
- 以下のコマンドでログを見るも有用な情報はなし
sudo journalctl -xe
sudo nano /var/log/samba/log.smbd
sudo nano /var/log/samba/log.nmbd
sudo testparm
で設定を確認するが、これまで動いてたので当然問題なし- ExecConditionに問題があるということで、
sudo nano /lib/systemd/system/samba-ad-dc.service
を見てみるExecCondition=/usr/share/samba/is-configured samba
の記載があるが、このコマンドは問題なく実行できる*1- 試しにExecConditionをコメントアウトして再起動してみると、起動がFailedとなった
daemon failed to start: Samba detected misconfigured 'server role' and exited. Check logs for details
というエラーメッセージがでる- server roleの設定がおかしいと言われたので、一応設定を
sudo nano/etc/samba/smb.conf
で確認してみたが、初期値から変えておらずserver role = standalone server
であり問題なし
最終的な対処
- sambaを再インストールして無事復活した
sudo apt-get remove --purge samba sudo apt-get autoremove sudo apt-get update sudo apt-get install samba sudo systemctl restart smbd sudo systemctl restart nmbd sudo systemctl status smbd sudo systemctl status nmbd
*1:振り返ると、ExecConditionのコマンドが権限などの問題でうまく動かなかったのでは、という気もするが、もう再インストールしてしまったので確認のしようがない