Hostnamectl에서 "버스 연결을 생성할 수 없습니다. 해당 파일이나 디렉터리가 없습니다"라는 오류가 표시됩니다.

Hostnamectl에서 "버스 연결을 생성할 수 없습니다. 해당 파일이나 디렉터리가 없습니다"라는 오류가 표시됩니다.

hostnameansible 모듈을 사용하여 설정 하려고 하면 다음과 같은 결과가 나타납니다.

TASK [set hostname] **************************************************************************************
fatal: [10.1.38.15]: FAILED! => {"changed": false, "msg": "Command failed rc=1, out=, err=Failed to create bus connection: No such file or directory\n"}

흥미롭게 hostnamectl도 컴퓨터에 SSH를 통해 호스트 이름을 설정하려고 할 때도 오류가 발생합니다.

bash-4.2# hostnamectl set-hostname foo.bar.com
Failed to create bus connection: No such file or directory

나는 이 두 가지 질문이 서로 관련되어 있다고 생각하지만, dbus그것이 효과가 있다는 것을 보여주기 위해

● dbus.service - D-Bus System Message Bus
   Loaded: loaded (/usr/lib/systemd/system/dbus.service; static; vendor preset: disabled)
   Active: active (running) since Tue 2020-01-07 09:04:45 CST; 2h 28min ago

무엇이 문제일까요? 센토스7을 사용하고 있습니다.

분명히 내가 strace hostnamectl얻을 때

connect(3, {sa_family=AF_LOCAL, sun_path="/var/run/dbus/system_bus_socket"}, 33) = -1 ENOENT (No such file or directory)

/var/run/dbus/system_bus_socket존재하지 않는 것을 확인할 수 있습니다

앤서블을 플레이하는 방법은 다음과 같습니다.

- name: set hostname
  hostname
    name: cp-1-2.foo.bar.com

답변1

/var/run/dbus/system_bus_socket존재하지 않는 것을 확인할 수 있습니다 .

그렇다면 문제가 있습니다. /var/run에 기호적으로 연결되어야 /run하며 /run/dbus/system_bus_socket의 결과로 생성되어야 합니다 dbus.socket.

dbus.service그건 그렇고, 그렇지 않은 경우 아무리 조작해도 이러한 문제가 해결되지 않습니다. 기호 링크를 복구하거나 다시 초기화하세요.소켓.

답변2

/var/run에 대한 심볼릭 링크가 끊어졌습니다. 심볼릭 링크를 다시 생성하면 됩니다.

sudo rm /var/run -R
sudo ln -s /run /var
sudo reboot

관련 정보