/etc/fstab のマウントが遅すぎるため、一部のデーモンが失敗する

/etc/fstab のマウントが遅すぎるため、一部のデーモンが失敗する

にいくつかのエントリを書きました/etc/fstab。たとえば、 へのマウントなどです/tmp

/etc/fstabたとえば Xorg などのデーモンがすでに起動した後、systemd がエントリをマウントするのが遅すぎるようです。

Xorg は.X11-unixに を作成し/tmp、次に systemd が にマウントするので/tmp、 にすでに存在するファイルは/tmp消えてしまいます。その結果、一部のプログラムは X と通信できなくなります。

エントリを早期にマウントするにはどうすればよいでしょうか/etc/fstab? または、 以外のものを使用する必要がありますか/etc/fstab?

答え1

これは、Xorg を起動するユニット ファイルに十分な依存関係がなく、そのためsystemd実行が早すぎることを示しています。

少なくとも Debian では、ローカル ファイルシステムのマウントには自動的に順序依存性がありBefore=local-fs.target、 は早期のシステム初期化を担当するlocal-fs.targetによって要求されるsysinit.targetため、 が完了したらすべてのローカル ファイルシステムがマウントされる必要がありますsysinit.target

また、Xorg を起動するユニットに がない限り、DefaultDependencies=noは暗黙的に と の両方を持つことになるのでRequires=sysinit.target、が完了したAfter=sysinit.target後にのみ起動する必要がsysinit.targetあります。 低レベルのシステム初期化を担当するユニットのみが を持つ必要がありますDefaultDependencies=no

ただし、 が/tmpリモート ファイル システムである場合は、After=remote-fs.targetXorg を起動するユニットに依存関係を追加する必要がある可能性があります。これを行う最も簡単な方法は、 を使用してsystemctl editそれを編集し、systemctlで変更内容 (のみ) を含むドロップイン ファイルを自動的に作成することです/etc/systemd/system/<name of the Xorg-starting unit>.d/

Linux ディストリビューションの名前とバージョンを明記してください。そうすれば、特定のバージョンのsystemd構成に何らかの特有の癖がある場合に、その癖を知っている人がより的を絞った回答をしてくれる可能性があります。

関連情報