Errori del servizio utente systemd
È possibile che venga visualizzato uno dei seguenti errori durante l’upgrade o durante l’esecuzione di initialize-tsm
nel corso di una nuova installazione:
- "Impossibile ottenere la connessione D-Bus: file o directory non trovato"
- "$XDG_RUNTIME_DIR non trovato"
- "user@<userID> dell’unità systemd non è in esecuzione. Controlla /var/log/messages o /var/log/syslog."
Background
A partire dalla versione 2018.1, Tableau Server utilizza il servizio utente systemd
per gestire i processi. Ciò significa che esiste un processo systemd
che viene eseguito come utente senza privilegi. Per impostazione predefinita, il programma di installazione di Tableau Server crea un account senza privilegi denominato tableau
. I processi di Tableau Server vengono generati dal processo systemd
e non dal processo systemd
a livello di sistema, che viene eseguito come root.
Importante: questa nota per la risoluzione dei problemi si applica principalmente alle distribuzioni basate su RHEL 7. Tuttavia, se vedi uno di questi errori, è possibile che siano presenti gli stessi problemi nelle distribuzioni Ubuntu.
Il servizio utente systemd
non viene utilizzato comunemente come il normale gestore di processi systemd
. RedHat ha disabilitato il servizio utente systemd
in RHEL 7 (e quindi in tutte le distribuzioni che provengono da RHEL, come CentOS, Oracle Linux 7 e Amazon Linux 2). Tuttavia, RedHat ha assicurato a Tableau che l’esecuzione del servizio utente systemd
è supportata, a condizione che il servizio venga nuovamente abilitato.
Upgrade da Tableau Server 10.5 su Linux
Se esegui l’upgrade da Tableau Server 10.5, verifica che l’utente senza privilegi disponga di una shell e di una home directory valide. Per Tableau Server 10.5, Tableau ha deliberatamente creato l’utente senza privilegi con la shell impostata su /sbin/nologin
e la home directory "/
". Se l’utente senza privilegi è stato creato da initialize-tsm
, durante l’upgrade alla versione 2018.1 Tableau aggiorna la shell e la home directory.
Tuttavia, se l’utente senza privilegi è stato creato durante l’installazione iniziale della versione 10.5, verrà visualizzato un errore durante il tentativo di upgrade.
Per risolvere questo problema, devi impostare la shell su /sbin/nologin
e la home directory "/
", quindi eseguire nuovamente l’upgrade.
Risoluzione dei problemi relativi alle nuove installazioni
Verifica che il servizio utente systemd
sia in esecuzione.
Controlla eseguendo il comando ps -fww $(pgrep -f "systemd --user")
Se il servizio utente systemd
non è in esecuzione, qualcosa ne ha impedito l’avvio.
Segui questo elenco per risolvere i problemi:
Controlla i log in
/var/log/messages
Esegui
journalctl
.Verifica che le eventuali personalizzazioni che hai eseguito alla configurazione PAM non abbiano rimosso
pam_systemd.so
.Se il file PAM di RHEL 7
/etc/pam.d/system-auth
risulta mancante, la seguente riga:-session optional pam_systemd.so
deve essere aggiunta di nuovo per il corretto funzionamento di Tableau Server.
Se
-session optional pam_systemd.so
è presente nella configurazione PAM, non è possibile avviare il servizio utente e il messaggio di errore$XDG_RUNTIME_DIR not found
viene visualizzato in/var/log/messages
, non tentare di impostare la variabile di ambiente. In questo scenario, l’errore non è accurato.Il vero errore è che il modulo PAM
pam_systemd.so
non è in grado di allocare la sessione utente. La configurazione predefinita elimina i messaggi di errore provenienti dapam_systemd.so
. Per visualizzare i messaggi di errore e i messaggi di debug, modifica la riga in/etc/pam.d/system-auth
da-session optional pam_systemd.so
asession optional pam_systemd.so debug
. La rimozione del trattino iniziale consentirà di visualizzare i messaggi di errore e l’aggiunta didebug
renderà più dettagliata la registrazione.Ora puoi esaminare i file
/var/log/messages
,/var/log/secure
e/var/log/audit/audit.log
per visualizzare i messaggi di errore.
Esempio
Potrebbe essere visualizzato il seguente messaggio di errore:
systemd
-logind: Failed to mount per-user tmpfs directory /run/user/0: Permission denied
In questo caso, la ricerca dell’errore online porta all’articolo della Knowledge Base di RedHat, https://access.redhat.com/solutions/2460611(Il collegamento viene aperto in una nuova finestra).
L’articolo consiglia di aggiornare il pacchetto selinux-policy
eseguendo sudo yum update selinux-policy
.
In alcuni casi, l’upgrade dalla versione 3.12.X alla 3.13.X consente di risolvere un problema $XDG_RUNTIME_DIR not found
. Assicurati di eseguire sudo reboot
dopo aver aggiornato il pacchetto.