Acest articol ar putea fi o comandă scurtă, dar imprimarea rezultată este foarte lungă.

comanda dump

Dacă cineva vă cere să afișați întreaga configurație a sistemului dvs., utilizați comanda dump.

$ systemd –dump-configuration-items

fișierul acoperă toate unitățile pe care le au pe sistem. Odată ce un dezvoltator are acest fișier disponibil, persoana va trece prin ceea ce aveți și va încerca să găsească problemele cu care vă confruntați. Terminat și gata., Cu toate acestea, nu ați citi acest articol dacă ați lăsa pe altcineva să facă totul. Să vedem ce puteți face cu un serviciu la un moment dat și să învețe câteva trucuri pentru a filtra rezultatele.

ierarhia systemd

pentru a deveni eficient, trebuie să realizați că, în cadrul systemd, aveți ierarhie și puteți seta fiecare serviciu să depindă și / sau să aștepte alte servicii. Diferitele moduri în care faceți acest lucru sunt evidente în fișierele de servicii. Diferitele declarații pe care le aveți sunt „dorințe”, „necesare”, „înainte” și „după”., Pentru o analiză eficientă, le puteți utiliza pentru a vedea dacă unitatea dvs. este în jos din cauza dependențelor. Puteți urmări apoi înapoi unde se află problema de bază. Aici este un exemplu de acest lucru.

$ systemctl lista-dependențe-înainte de xpra.serviciul

imprimarea arată celelalte unități care xpra.serviciul se bazează pe. În acest caz, celelalte unități sunt active, așa că trebuie să ne concentrăm asupra motivului pentru care unitatea în sine este ruptă. Exemplul lipsea un fișier de certificat.,

cea mai importantă utilizare a acestui lucru este de a investiga dacă serviciul dvs. lipsește dependențe, utilizați comanda în acest fel.

$ systemctl lista-dependențe xringd

rezultatul este o listă lungă, convenabil organizate într-un copac și arată toate serviciile fel de verde sau roșu dacă ceva este în neregulă. De asemenea, puteți vedea dependențele din fișierul servicii. Deschideți fișierul folosind editorul preferat sau utilizați systemctl, care va deschide fișierul cu editorul implicit.,când doriți să investigați un sistem, va trebui să știți cum se potrivesc unitățile. Pentru a face acest lucru, aveți o serie de opțiuni pentru imprimarea detaliilor. Puteți enumera ce sisteme sunt ocupate, eșuate și așa mai departe. Mai important, puteți lista modul în care acestea sunt puse împreună, care unitate, serviciu etc. unitatea curentă depinde de. Comanda principală pentru a face acest lucru este systemctl, opțiunile sunt utile pentru a restrânge problema dvs. specifică.

pentru a obține utilizarea corectă a systemctl, priviți cu atenție opțiunile pentru comandă., Există opțiuni pentru a alege exact ceea ce aveți nevoie, în special în ceea ce privește starea oricăror Servicii. Aici căutăm servicii care au probleme.

$ systemctl list-unit-files –type=service

această listă este de asemenea lungă și trebuie să parcurgeți toate serviciile pentru a găsi ceea ce căutați. Cu mai mulți parametri, puteți filtra pentru unul specific sau pentru cei care sunt dezactivați. Comanda de mai jos va găsi toate unitățile care sunt mascate.,

$ systemctl lista-unitate-fișiere-type=servicii de stat=mascat

Mascat servicii sunt blocate, astfel încât alte servicii nu poate începe, chiar dacă la alte service are nevoie de ele. Acest lucru poate fi folosit pentru a vă asigura că nu aveți servicii conflictuale care rulează. În mod obișnuit, multe servicii sunt mascate de managerul de pachete atunci când eliminați pachetul. Puteți elimina complet fișierul de serviciu dacă doriți după eliminarea unui serviciu. De asemenea, este posibil să distrugă o mulțime de servicii pe care le doriți, așa că asigurați-vă că știți dacă aveți nevoie de serviciile mascate.,unele servicii sunt mascate de procese și nu intenționați întotdeauna ca serviciul să fie mascat. Când acest lucru sa întâmplat cu sistemul dvs., prima acțiune de luat este de a demasca folosind systemctl. Cu toate acestea, acest lucru nu este întotdeauna posibil, deci trebuie să eliminați linkul din directorul corespunzător. În majoritatea sistemelor, acesta va fi lib/systemd/system. Înainte de a face totuși, verificați dacă fișierul este de fapt un link către /dev/null.,

$ ls-l lib/systemd/sistem> |grep nul

atunci Când sunteți sigur că doriți să eliminați acest link, scoateți-l cu rm sau separați.

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

acum că știți cum să faceți acest lucru, auziți acest avertisment: de multe ori este necesar să aveți acest link acolo. Luați lvm2 ca exemplu, este mascat de funcționare, astfel încât să nu interfereze cu noul sistem, unde lvm2 vine la fel de multe servicii mici., Vezi rezultatul:

$ systemctl statutul lvm2*

Eliminarea link-ul poate provoca haos pe sistemul dumneavoastră, deoarece lvm2 în sine are nevoie de ea, pentru a evita conflictele. Acesta este doar un exemplu, așa că aveți grijă înainte de a merge mai departe.

concluzie

când doriți să listați servicii în systemd, trebuie să reflectați mai întâi la ceea ce căutați în căutarea dvs. Căutați un serviciu de care aveți nevoie sau vedeți că aveți prea multe servicii. În orice caz, trebuie să vă adaptați interogarea la nevoile dvs. particulare., Systemd pare confuz la început, dar când te uiți mai aproape, totul folosește o modalitate simplă de a unifica start-up-ul, astfel încât serviciile să poată începe în paralel acolo unde sistemul are nevoie de el, în timp ce fiecare serviciu așteaptă serviciul specific de care depind.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *