GNU/Linux >> Znalost Linux >  >> Linux

Démon dbus selže s nedefinovaným symbolem:XML_SetHashSalt Fix

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”


Linux
  1. Nakonfigurujte si svého démona Chrony pomocí příručky Ansible

  2. Ssh uvnitř Ssh selže s „stdin:Is Not A Tty“?

  3. Linux – nechat démona spustit s Linuxem?

  1. vncserver selže s „Spouštění serveru VNC:nejsou nakonfigurovány žádné displeje“

  2. dynamic_cast selže při použití s ​​dlopen/dlsym

  3. co je dbus daemon a proč jej vlc potřebuje

  1. nedefinovaný odkaz na symbol '[email protected]@GLIBC_2.4'

  2. numpy nedefinovaný symbol:PyFPE_jbuf

  3. Ubuntu create-react-app se nezdaří s odepřeným oprávněním