概要
RaspberryPiをNAS化するためにOpenMediaVault(OMV)をインストールしていじっていたら、途中から
Failed to execute command 'export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin; export LANG=C.UTF-8; monit -t 2>&1' with exit code '1'
というエラーをOMVが吐くようになってしまいました。
いろいろ検索してエラーをなくすことができたので、やったことをメモします。
環境
Raspberry Pi 3 Model B+
Rasbian Buster Lite
OpenMediaVault5
症状
RaspberryPiにUSB接続したHDDをOMV上でマウントし、変更を適用しようとするとタイトルのようなエラーが出てしまいました。
うろ覚えですが、一度OMVでマウントしたHDDを別PCでフォーマットし直し、再度接続してOMV上でマウントしようとしたところ、このエラーが出るようになった気がします。
原因
確証はありませんが、同じデバイスIDのHDDを過去にマウントしたときの設定が残っていてそれと干渉しているのではないかと推察されます。
解決方法
下記を参考に、OMVの設定ファイルなどから不要なHDDに関する情報を削除することで解決しました。
https://forum.openmediavault.org/index.php?thread/26647-failed-to-execute-command-export-path-bin-sbin-usr-bin-usr-sbin-usr-local-bin-us/
1. /etc/openmediavault/config.xml
RaspberryPiにsshして/etc/openmediavault/config.xml
をエディタで開きます。
タグを検索して見るとdev-disk-by-label-[HDDの名前]
みたいな感じでマウントされるデバイスがリストされています。
ここに接続していないはずの不要なHDDに対応する要素があればそれを削除し、ファイルを保存します。
なおdev-disk-by-id-[HDDの名前]
のようにidで名付けされている可能性もあります。
2. /etc/monit/conf.d/openmediavault-filesystem.conf
/etc/monit/conf.d/openmediavault-filesystem.conf
をエディタで開きます。
1で削除したHDDと対応する下記のような記述があると思います。これをすべて削除します。
check filesystem filesystem_srv_dev-disk-by-label-[HDDの名前] with path "/srv/dev-disk-by-label-[HDDの名前]"
if space usage > 85% for 5 times within 15 cycles
then alert else if succeeded for 10 cycles then alert
check program mountpoint_srv_dev-disk-by-label-FileA with path "/bin/mountpoint '/srv/dev-disk-by-label-[HDDの名前]'"
if status != 0 then alert
参考ページの1人めの回答者は2のあとにrebootすれば解決するはずと書いていたのですが、僕の環境ではそれで解決しなかったので、3に続きます。
3. /srv/
/srv/
に移動します。
ここにはHDDをマウントさせるディレクトリが格納されています。
1で削除したHDD名に対応するディレクトリがあればそれを削除してください
4. monit再起動
'service monit start'でmonitを再起動します。sudoをつける必要があるかもしれません。
その後OMVで再度適用を試みたらエラーが出なくなりました。
おわりに
僕も細部は理解できていないので、ふわふわした説明になっており恐縮です。
まったく同じ状況の方がいれば少しは参考になるかとおもい、メモを残させていただきました。
なにかの一助になれば幸いです。