systemd-timesyncdは、rw ubifsボリュームに設定されている/ varで始まりません。

systemd-timesyncdは、rw ubifsボリュームに設定されている/ varで始まりません。

私はsystemdバージョン241を使用してDebianを実行しています。私のrootfsには、2つのボリューム(rootfsの場合は/ dev / ubi0_1、varの場合は/ dev / ubi0_2)に分割されたNANDフラッシュubifsパーティションがあります。

ubi0:rootfs on / type ubifs (ro,relatime,assert=read-only,ubi=0,vol=1)
/dev/ubi0_2 on /var type ubifs (rw,relatime,assert=read-only,ubi=0,vol=2)

systemd-timesyncdを起動すると、次のエラーが発生します。

[FAILED] Failed to start Network Time Synchronization.
See 'systemctl status systemd-timesyncd.service' for details.

Journalctlは以下を提供します。

Mar 13 22:46:45 nelson systemd[1]: Stopped Network Time Synchronization.
Mar 13 22:46:45 nelson systemd[1]: systemd-timesyncd.service: Failed to run 'start' task: Read-only file system
Mar 13 22:46:45 nelson systemd[1]: systemd-timesyncd.service: Failed with result 'resources'.

rootfsをrwに切り替えるとエラーは消えます。

これは ls -l /var/lib/systemd/timesync/clock の出力です。

-rw-r--r-- 1 systemd-timesync systemd-timesync 0 Mar 13 21:09 /var/lib/systemd/timesync/clock

私はsystemd-resolvedに似た問題を見ました。

答え1

私のビルド(Debian Buster)で、/ tmpが自動的にtmpfsに設定されていないことがわかりました。だから私はsystemdでtmpマウントを有効にしました:

cp /usr/share/systemd/tmp.mount /etc/systemd/system/
systemctl enable tmp.mount

Journalctlと解決の両方に/ tmpへの書き込みアクセスが必要です。

関連情報