systemctl enable実行時にNo such file or directoryになる
先日の焦電センサとHueを使って部屋の照明を自動ON/OFFするスクリプトもsystemdで自動起動するように設定した。
その際にserviceファイルをシンボリックリンクにしたところ、systemctl enable実行時にNo such file or directoryになるエラーに遭遇したので対応方法を残しておく。
- pythonファイルに実行権限を付与
chmod +x /home/pi/hue/light.py
- serviceファイルを/etc/systemd/system以外に作成
# /home/pi/hue/hue.service
[Unit]
Description = hue light
[Service]
WorkingDirectory=/home/pi/hue/
ExecStart=/home/pi/hue/light.py
Type=simple
Restart=always
EnvironmentFile=/etc/sysconfig/root
[Install]
WantedBy=multi-user.target
- シンボリックリンクを作成
sudo ln -s /home/pi/hue/hue.service /etc/systemd/system/hue.service
- 設定再読み込み
sudo systemctl daemon-reload
- systemctl start, status等は問題なく実行できるがenableを実行するとNo such file or directoryエラーになる
sudo systemctl enable hue.service
Failed to execute operation: No such file or directory
- 絶対パスを指定することで解決できた
sudo systemctl enable /home/pi/hue/hue.service