我希望在 Ubuntu 16.04.4上配置时间同步,但timedatectl无法创建总线连接: 此文件或目录不存在

分享于 

3分钟阅读

ubuntu

  繁體

问题

当查看https://help.ubuntu.com/lts/serverguide/NTP.html时,我可以看到使用timedatectl的当前时间配置,但总是得到一个错误。


$ timedatectl status


Failed to create bus connection: No such file or directory


$ sudo timedatectl status


Failed to create bus connection: No such file or directory



# timedatectl status


Failed to create bus connection: No such file or directory



没有安装ntp软件包,服务正在运行正常。


# systemctl status systemd-timesyncd


* systemd-timesyncd.service - Network Time Synchronization


 Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)


 Drop-In: /lib/systemd/system/systemd-timesyncd.service.d


 `-disable-with-time-daemon.conf


 Active: active (running) since Thu 2018-03-15 15:37:16 CET; 17h ago


 Docs: man:systemd-timesyncd.service(8)


 Main PID: 1801 (systemd-timesyn)


 Status:"Synchronized to time server 193.190.253.212:123 (1.be.pool.ntp.org)."


 CGroup: /system.slice/systemd-timesyncd.service


 `-1801 /lib/systemd/systemd-timesyncd



Mar 15 15:37:16 linux-repo systemd[1]: Starting Network Time Synchronization...


Mar 15 15:37:16 linux-repo systemd[1]: Started Network Time Synchronization.


Mar 15 15:37:21 linux-repo systemd-timesyncd[1801]: Synchronized to time server 193.190.253.212:123 (1.be.pool.ntp.org).


Mar 16 08:28:56 linux-repo systemd[1]: Started Network Time Synchronization.




答案1

我在这里找到了解决方案:https://stackoverflow.com/questions/43907925/ubuntu-timedatectl-fails-in-docker-container

apt-get install dbus解决了这个问题。


答案2

timedatectl尝试打开服务器文件,用timedatectl启动strace并搜索错误消息:


$ strace -o /tmp/timedatectl.log timedatectl status


$ grep"^open(" /tmp/timedatectl.log


...


open("/etc/localtime", O_RDONLY|O_CLOEXEC) = 4


open("/dev/rtc", O_RDONLY|O_CLOEXEC) = 4


open("/etc/localtime", O_RDONLY|O_CLOEXEC) = 4


...



如果你知道是哪个文件/设备造成了问题,可以开始修复它。



文件  DIR  时间  network  syn  Ubuntu