システムがシャットダウンすると、udisksctlが機能するようにできません。

システムがシャットダウンすると、udisksctlが機能するようにできません。

システムが完全にシャットダウンしたら、Rock64 SoC PC(Raspberry Piに似ている)に接続されているHDDを正常にシャットダウンしようとしています。ユーディスクステーキ注文する。ファイルを手動で完全に実行でき、すべてのディスクの速度が遅くなりますが、閉じた後は機能しません。

終了ファイルを次の場所に作成しました。

/lib/systemd/system-shutdown/graceful_disk_shutdown.shutdown

、実行可能にするには、ファイルの内容は次のとおりです。

#!/bin/bash
exec </dev/null </dev/null 2>/dev/null
export LANG=C LC_ALL=C

# Wait for media to be in idle state.
sync
[ -x /sbin/mdadm ] && /sbin/mdadm --wait-clean --scan

# Function used to power off all SATA disks.
function power_off_disks() {
    for disk in /sys/block/sd* ;
    do
        [ -e $disk ] && /usr/bin/udisksctl power-off -b /dev/${disk##*/}
        sleep 2
    done
}

case "$1" in
    *) 
        power_off_disks
        ;; 
esac

他の人が報告しました。ここそして使用することをお勧めしますHDパラメータ代わりに、これは私にとって効果的でしたが、なぜそのような質問に答えません。ウディスコテル動作しません。

どんなアイデアがありますか?

答え1

systemd が /lib/systemd/system-shutdown からスクリプトを読み取ると、ファイルシステムはすでにアンマウントされ、読み取り専用です。

このリンク「https://unix.stackexchange.com/questions/347275/how-to-run-a-script-at-shutdown-on-debian-9-or-raspbian-8-jessie/347686#」を参照. 347686 "は/usr/local/sbinにあるスクリプトを使用するサービスです。

関連情報