sistema

Come elencare il servizio con systemd

Come elencare il servizio con systemd
Questo articolo potrebbe essere un comando breve ma la stampa risultante è molto lunga.

Il comando dump

Se qualcuno ti chiede di mostrare l'intera configurazione del tuo sistema, usa il comando dump.

$ systemd --dump-configuration-items

Il file copre tutte le unità che hai sul sistema. Una volta che uno sviluppatore ha questo file disponibile, la persona esaminerà ciò che hai e cercherà di trovare i problemi che stai affrontando. Fatto. Tuttavia, non leggeresti questo articolo se avessi intenzione di lasciare che qualcun altro faccia tutto. Vediamo cosa puoi fare con un servizio alla volta e impariamo alcuni trucchi per filtrare i risultati.

La gerarchia di systemd

Per diventare efficiente devi renderti conto che, all'interno di systemd, hai una gerarchia e puoi impostare ogni servizio in modo che dipenda e/o attenda altri servizi. I diversi modi in cui lo fai è evidente nei file di servizio. Le diverse dichiarazioni che hai sono "Desidera", "Obbligatorio", "Prima" e "Dopo". Per un'analisi efficace, puoi usarli per vedere se la tua unità è fuori uso a causa di dipendenze. È quindi possibile risalire a dove si trova il problema di fondo. Ecco un esempio di questo.

$ systemctl list-dipendenze --before xpra.servizio

La stampa mostra le altre unità che xpra.servizio su cui contare. In questo caso le altre unità sono attive, quindi dobbiamo concentrarci sul motivo per cui l'unità stessa è rotta. Nell'esempio mancava un file di certificato.

L'uso più importante di questo è indagare se nel tuo servizio mancano le dipendenze, usa il comando in questo modo.

$ systemctl list-dipendenze xringd

Il risultato è un lungo elenco, organizzato convenientemente in un albero e che mostra tutti i servizi in verde o in rosso se qualcosa non va. Puoi anche vedere le dipendenze nel file services. Apri il file usando il tuo editor preferito o usa systemctl, che aprirà il file con l'editor predefinito.

Elenco dei servizi attivi

Quando si desidera indagare su un sistema, è necessario sapere come si adattano le unità. Per fare ciò, hai una serie di opzioni per stampare i dettagli. Puoi elencare quali sistemi sono occupati, guasti e così via. Ancora più importante, puoi elencare come sono messi insieme, quale unità, servizio ecc. l'unità corrente dipende da. Il comando principale per farlo è systemctl, le opzioni sono utili per restringere il tuo problema specifico.

Per ottenere l'uso corretto di systemctl, osserva attentamente le opzioni per il comando. Ci sono opzioni per scegliere esattamente ciò di cui hai bisogno, soprattutto per quanto riguarda lo stato di qualsiasi servizio. Qui stiamo cercando servizi che hanno problemi.

$ systemctl list-unit-files --type=service

Anche questo elenco è lungo e devi scorrere tutti i servizi per trovare quello che stai cercando. Con alcuni parametri in più, puoi filtrare per uno specifico o per quelli che sono disabilitati. Il comando seguente troverà tutte le unità mascherate.

$ systemctl list-unit-files --type=service --state=mascherato

I servizi mascherati sono bloccati in modo che altri servizi non possano avviarli, anche se l'altro servizio ne ha bisogno. Questo può essere usato per assicurarsi che non ci siano servizi in conflitto in esecuzione. Di solito, molti servizi sono mascherati dal tuo gestore di pacchetti quando rimuovi il pacchetto. Puoi rimuovere completamente il file del servizio se lo desideri dopo aver rimosso un servizio. È anche possibile che distrugga molti servizi che desideri, quindi assicurati di sapere se hai bisogno dei servizi mascherati.

Alcuni servizi sono mascherati da processi e non sempre si intende mascherare il servizio. Quando questo è successo al tuo sistema, la prima azione da intraprendere è smascherare usando systemctl. Tuttavia, questo non è sempre possibile, quindi è necessario rimuovere il collegamento nella directory corretta. Nella maggior parte dei sistemi, questo sarà lib/systemd/system. Prima di farlo, controlla che il file sia effettivamente un collegamento a /dev/null.

$ ls -l lib/systemd/system> |grep null

Quando sei sicuro di voler rimuovere questo collegamento, rimuovilo con rm o scollega.

$ rm /lib/systemd/system/udisks2.servizio

Ora che sai come farlo, ascolta questo avviso: molte volte è necessario avere questo collegamento lì dentro. Prendi lvm2 come esempio, è mascherato dal funzionamento in modo che non interferisca con il nuovo sistema, dove lvm2 arriva come tanti piccoli servizi. Guarda il risultato di:

$ stato systemctl lvm2*

La rimozione del collegamento può causare il caos sul tuo sistema perché lo stesso lvm2 ne ha bisogno per evitare conflitti. Questo è solo un esempio, quindi fai attenzione prima di andare avanti.

Conclusione

Quando vuoi elencare i servizi in systemd, devi prima riflettere su cosa stai cercando nella tua ricerca. Cerchi un servizio di cui hai bisogno o vedi di avere troppi servizi. In ogni caso, devi adattare la tua richiesta alle tue esigenze particolari. Systemd sembra inizialmente confuso, ma quando guardi più da vicino, tutto utilizza un modo semplice per unificare l'avvio in modo che i servizi possano avviarsi in parallelo dove il sistema ne ha bisogno pur essendo in grado di fare in modo che ogni servizio attenda il servizio specifico da cui dipendono.

Trackpad e puntatore del mouse su schermo AppyMouse per tablet Windows
Gli utenti di tablet spesso mancano il puntatore del mouse, soprattutto quando sono abituati a usare i laptop laptop. Gli smartphone e i tablet touchs...
Il pulsante centrale del mouse non funziona in Windows 10
Il tasto centrale del mouse ti aiuta a scorrere lunghe pagine web e schermate con molti dati. Se si ferma, finirai per usare la tastiera per lo scorri...
Come cambiare i pulsanti sinistro e destro del mouse su PC Windows 10
È abbastanza normale che tutti i mouse dei computer siano progettati ergonomicamente per gli utenti destrimani. Ma sono disponibili dispositivi mouse ...