当我看着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
在最小的 Ubuntu 16.04 安装(如我的)中,dbus 包未安装。因此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
...
如果您知道哪个文件/设备产生了问题,那么您可以开始修复它。