読み取り専用ファイルシステムで「systemd-tmpfiles-setup.service」が遅い

読み取り専用ファイルシステムで「systemd-tmpfiles-setup.service」が遅い

ヘッドレス組み込みコンピュータ(読み取り専用ファイルシステム)、この速度はかなり遅く、他のサービスが早く開始されないことがわかりましたsystemd-tmpfiles-setup.service(確認しましたsystemctl list-dependencies myservice.service)。

読み取り専用ファイルシステムで速度を上げるには?

journalctl -u systemd-tmpfiles-setup.serviceまた、ほぼ4秒かかることが確認されました。

-- Logs begin at Sat 2021-12-11 01:55:43 GMT, end at Sat 2021-12-11 01:58:03 GMT. --
Dec 11 01:55:**43** foo systemd[1]: Starting Create Volatile Files and Directories...
Dec 11 01:55:**47** foo systemd-tmpfiles[149]: **rm_rf(/tmp): Read-only file system**
Dec 11 01:55:47 foo systemd-tmpfiles[149]: symlink(/etc/machine-id, /var/lib/dbus/machine-id) failed: Read-only file system
Dec 11 01:55:47 foo systemd-tmpfiles[149]: symlink(../proc/self/mounts, /etc/mtab) failed: Read-only file system
Dec 11 01:55:47 foo systemd-tmpfiles[149]: Failed to open directory 'coredump': No such file or directory
Dec 11 01:55:47 foo systemd-tmpfiles[149]: Failed to open directory 'private': No such file or directory
Dec 11 01:55:47 foo systemd-tmpfiles[149]: Failed to open directory 'private': No such file or directory
Dec 11 01:55:47 foo systemd-tmpfiles[149]: Failed to open directory 'private': No such file or directory
Dec 11 01:55:47 foo systemd-tmpfiles[149]: Failed to open directory '.X11-unix': No such file or directory
Dec 11 01:55:47 foo systemd-tmpfiles[149]: Failed to open directory '.ICE-unix': No such file or directory
Dec 11 01:55:47 foo systemd-tmpfiles[149]: Failed to open directory '.XIM-unix': No such file or directory
Dec 11 01:55:47 foo systemd-tmpfiles[149]: Failed to open directory '.font-unix': No such file or directory
Dec 11 01:55:47 foo systemd-tmpfiles[149]: Failed to open directory '.Test-unix': No such file or directory
Dec 11 01:55:47 foo systemd[1]: Started Create Volatile Files and Directories.

結果は次のとおりですsystemd-analyze plot

ここに画像の説明を入力してください。

答え1

systemd-tmpfiles-setup.serviceの定義のために/usr/lib/systemd/...記事の「マスキング」技術を使用しました。「レベル3」:

サービスファイルを/ dev / nullにシンボリックリンクすると、systemdに問題のサービスを開始せずに実行を完全に防止するように指示できます。 /etc/systemd/systemに保存されているユニットファイルは、/lib/systemd/systemにある同じ名前のユニットファイルを上書きします。前者のディレクトリは管理者領域であり、後者のディレクトリはパッケージ管理者領域です。 /etc/systemd/system/ntpd.service にシンボリックリンクをインストールすると、systemd がアップストリームに提供されているサービスファイル /lib/systemd/system/ntpd.service を読み取らないようにできます。

私がやった

ln -s /dev/null /etc/systemd/system/systemd-tmpfiles-setup.service

systemd-tmpfiles-setup.service4秒待たずに読み取り専用システムでも機能する「よりスマートなソリューション」がある場合は、まだ興味があります。コメントや他の答えのアイデアを歓迎します!

関連情報