systemd-timesyncd가 rw ubifs 볼륨으로 설정된 /var로 시작되지 않습니다.

systemd-timesyncd가 rw ubifs 볼륨으로 설정된 /var로 시작되지 않습니다.

저는 systemd 버전 241을 사용하여 데비안을 실행하고 있습니다. 내 rootfs에는 두 개의 볼륨(rootfs의 경우 /dev/ubi0_1, var의 경우 /dev/ubi0_2)으로 분할된 낸드 플래시 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에 대한 쓰기 액세스가 필요합니다.

관련 정보