我希望在 Ubuntu 16.04.4 上配置时间同步,但 timedatectl 给出无法创建总线连接:没有这样的文件或目录

我希望在 Ubuntu 16.04.4 上配置时间同步,但 timedatectl 给出无法创建总线连接:没有这样的文件或目录

当我看着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尝试打开多个文件/设备。其中一个文件/设备在您的情况下失败。启动timedatectlstrace搜索错误消息:

$ 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
...

如果您知道哪个文件/设备产生了问题,那么您可以开始修复它。

相关内容