저는 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에 대한 쓰기 액세스가 필요합니다.