ファイルシステムを読み取り専用で再マウントした後、シャットダウン時にスクリプトを実行する方法はありますか?
ワイヤレスソケットにラズベリーパイが接続されており、送信機とスクリプトを介して制御できます。ファイルシステムが読み取り専用でマウントされたら、シャットダウン時にそのソケットを閉じたいです(Raspberry Piの電源を切る)。
私はこれを試しました:
[Unit]
Description=Test
DefaultDependencies=no
Requires=shutdown.target umount.target final.target
After=shutdown.target umount.target final.target
[Service]
Type=oneshot
ExecStart=/test
KillMode=none
[Install]
WantedBy=halt.target
script/test は現在のインストールを出力します。シャットダウン時に実行されると、ルートファイルシステムが予想される読み取り専用状態ではなく読み取り/書き込み状態にあることを示します。
編集する:
/テスト内容:
#!/bin/bash
echo -n 'Debug-Mount: ' > /dev/tty1
cat /proc/mounts | grep /dev/sda > /dev/tty1
終了時の画面出力:
ベストアンサー1
確かな解決策が見つかりました。スクリプトを/usr/lib/systemd/system-shutdown/に入れます。
また見なさい:https://www.freedesktop.org/software/systemd/man/systemd-halt.service.html
実際のシステム quit/poweroff/reboot/kexec を実行する前に、systemd-shutdown は /usr/lib/systemd/system-shutdown/ にあるすべての実行可能ファイルを実行し、「halt」、「poweroff」、「reboot」という引数を渡します。または、「kexec」(選択した操作に応じて)ディレクトリ内のすべての実行可能ファイルは並列に実行され、すべての実行可能ファイルが完了するまで実行は続行されません。