Tento příspěvek je o selhání démona dbus s nedefinovaným symbolem a opravě.
Abych byl upřímný, byl jsem s tímto problémem zaneprázdněn 2 dny. Všude jsem googlil a vyzkoušel všechna navrhovaná řešení, ale nic nefunguje. Zatímco se systém spouští, stále visí se startovacími zprávami D-bus. Dostat se do konzole trvá příliš dlouho, ale i přes to se nebudete moci přihlásit pomocí klientů LDAP nebo ssh. Všechny služby využívající Dbus jsou mimo provoz.
Jediným způsobem je použití záchranného režimu k rychlému vyřešení tohoto problému.
Problém je způsoben dbus
propojení proti nekompatibilní knihovně s názvem libexpat.so.1
a má přednost před knihovnou dodávanou Red Hatem v /usr/lib64
.
Krok 1 :Vyšetřování
Přihlaste se jako root a použijte příkazy journalctl k zobrazení chyb
journalctl --since "2 days ago" | grep -i error
journalctl --since "2 days ago" | grep -i Failed
Krok 2 :Analýza
Nyní víme, že něco není v pořádku s /sur/bin/dbus-doemon
#ldd /usr/bin/dbus-daemon | grep libexpat
libexpat.so.1 => /app/Oracle/product/12.2.0/client_1/lib/libexpat.so.1 (0x00007f6d65a89000)
Krok 3:Démon dbus selže s nedefinovaným symbolem – Řešení
Zkontrolujte a odstraňte cesty ke knihovnám třetích stran z /etc/ld.so.conf.d
#cat /etc/ld.so.conf.d/temp.conf
/app/Oracle/product/12.2.0/client_1/lib/
Odebrat nebo přesunout do jiného adresáře
mv /etc/ld.so.conf.d/temp.conf /root
Znovu vytvořte starou mezipaměť
#ldconfig
Ověřte, že dbus
nyní odkazuje na očekávanou knihovnu v /usr/lib64
# ldd /usr/bin/dbus-daemon | grep libexpat
libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f43abb55000)
jak vidíte, systém je zpět k normálu
Krok 4:Restartujte server
Všechny služby by nyní měly být spuštěny a v pořádku, včetně Dbus a Polikit
systemctl status polkit a Dbus
# systemctl status polkit
● polkit.service - Authorization Manager
Loaded: loaded (/usr/lib/systemd/system/polkit.service; static; vendor preset: disabled)
Active: active (running) since Fri 2022-02-18 09:31:01 CET; 4h 17min ago
Docs: man:polkit(8)
Main PID: 901 (polkitd)
CGroup: /system.slice/polkit.service
└─901 /usr/lib/polkit-1/polkitd --no-debug
systemctl status dbus
● dbus.service - D-Bus System Message Bus
Loaded: loaded (/usr/lib/systemd/system/dbus.service; static; vendor preset: disabled)
Active: active (running) since Fri 2022-02-18 09:31:01 CET; 4h 17min ago
Docs: man:dbus-daemon(1)
Main PID: 881 (dbus-daemon)
CGroup: /system.slice/dbus.service
└─881 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
Přečtěte si také náš článek související s Polkit a Dus s touto chybovou zprávou
„Autorizace není k dispozici“. Zkontrolujte, zda je spuštěna služba polkit”