无法在 centos 7 虚拟机中运行 hostnamectl 等命令

无法在 centos 7 虚拟机中运行 hostnamectl 等命令

我有一个作为虚拟机运行的 Centos 7 映像(而不是 Docker 映像)。

当虚拟机启动时,它使用systemctl启动多个服务,其中一个是我的应用程序,它尝试hostname使用命令在虚拟机中设置:

hostnamectl set-hostname my_host

但是,它失败并出现以下错误:

Failed to create bus connection: No such file or directory.

我已经检查过dbus

ps aux| grep dbus

root      4555  0.0  0.0 112704   924 pts/4    S+   11:29   0:00 grep --color=auto dbus
dbus     25493  0.1  0.1  58084  2236 ?        Ss   10:54   0:03 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation

另外,我可以运行systemctl命令来启动和停止某些服务,但尝试启动firewalld也会产生错误。

有想法该怎么解决这个吗 ?

编辑 我发现问题在于,system_bus_socket 位于 /run/dbus 中,而不是 /var/run/dbus 中。创建指向 /var/run/dbus 的符号链接可让 hostnamectl 成功运行。

但是,我的问题是,为什么system_bus_socket最初被放在/run/dbus中?

相关内容