現在、このfstab
ファイルでDebian9.5を使用しています。
# /etc/fstab: static file system information.
#
/dev/mmcblk1p1 / ext4 noatime,errors=remount-ro 0 1
tmpfs /var/volatile tmpfs defaults,x-mount.mkdir 0 0
ここで、フォルダ/var/volatile
が存在しない場合は、作成されます(x-mount.mkdir
)。マウント手順が成功した直後に/var/volatile/subfolder
のようなサブフォルダー(例)を作成する正しい方法は何でしょうか?
Systemdが起動を完了するまでタスクを続行する前に、このサブフォルダーを作成する必要があります。
Systemdを探索した後、私は挨拶の発見に出くわしました。 systemdはすでにソリューションを提供しているため、これに対処するためにカスタムサービスを作成する必要はありません(systemd-tmpfiles
) この目的のために。これは、一時ディレクトリとファイルを管理するための構造化された構成可能な方法です。
https://www.freedesktop.org/software/systemd/man/systemd-tmpfiles.htmlhttps://www.freedesktop.org/software/systemd/man/tmpfiles。 d.html
ファイルを作成するだけです/etc/tmpfiles.d/volatile-subfolder.conf
このコンテンツで:
d /var/volatile/subfolder 0755 root root - -
そして再起動します。
これに取り組む1つの方法は、/var/volatile
unitディレクティブを使用して、After=local-fs.target
tempfsでこのディレクトリの作成を処理する新しいsystemdサービスを作成する(または既存のサービスを変更する)ことです。
[Unit]
Description=Tempfs initialize
After=local-fs.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=mkdir -p /var/volatile/subfolder
[Install]
WantedBy=multiuser.target
これを/etc/systemd/system/tmpfsinit
に追加してから、通常のsystemctl daemon-reload && systemctl enable tempfsinit
を実行します。
または、カスタムsystemdサービスが既にある場合は、After
unitディレクティブとコマンドを追加して必要なサブディレクトリをExecStartPre
コマンドに追加することもできます。