systemd

Ako vypísať službu s systemd

Ako vypísať službu s systemd
Tento článok by mohol byť krátky o jeden príkaz, ale výsledný výtlačok je veľmi dlhý.

Príkaz výpisu

Ak vás niekto požiada, aby ste ukázali celú konfiguráciu vášho systému, použite príkaz dump.

$ systemd --dump-configuration-items

Súbor pokrýva všetky jednotky, ktoré máte v systéme. Keď má vývojár k dispozícii tento súbor, osoba si prejde, čo máte, a pokúsi sa nájsť problémy, ktorým čelíte. Koniec a hotovo. Tento článok by ste však nečítali, ak by ste sa nechali niekým iným nechať urobiť všetko. Pozrime sa, čo môžete robiť so službou naraz, a naučte sa niekoľko trikov na filtrovanie výsledkov.

Hierarchia systému

Aby ste dosiahli efektivitu, musíte si uvedomiť, že v systéme máte hierarchiu a môžete nastaviť, aby každá služba bola závislá a / alebo čakala na ďalšie služby. Rôzne spôsoby, ako to urobíte, sú zrejmé v súboroch služieb. Máte rôzne výroky: „Chce“, „Vyžadované“, „Pred“ a „Po“. Pre efektívnu analýzu môžete pomocou nich zistiť, či je vaša jednotka nefunkčná z dôvodu závislostí. Potom môžete vystopovať späť k miestu, kde leží základný problém. Tu je príklad tohto.

$ systemctl zoznam závislostí - pred xpra.služby

Výtlačok zobrazuje ďalšie jednotky, ktoré xpra.služba spoľahnúť. V tomto prípade sú ostatné jednotky aktívne, takže sa musíme zamerať na to, prečo je samotná jednotka pokazená. V príklade chýbal súbor s certifikátom.

Najdôležitejšie to je zistiť, či vo vašej službe chýbajú závislosti. Použite príkaz týmto spôsobom.

$ systemctl zoznam závislostí xringd

Výsledkom je dlhý zoznam, ktorý je pohodlne usporiadaný do stromu a ktorý zobrazuje všetky služby zelenou alebo červenou farbou, ak niečo nie je v poriadku. Závislosti môžete vidieť aj v súbore služieb. Otvorte súbor pomocou svojho obľúbeného editora alebo použite systemctl, ktorý otvorí súbor s predvoleným editorom.

Zoznam aktívnych služieb

Ak chcete preskúmať systém, budete potrebovať vedieť, ako jednotky do seba zapadajú. Máte k dispozícii niekoľko možností tlače podrobností. Môžete uviesť, ktoré systémy sú zaneprázdnené, zlyhané atď. Ešte dôležitejšie je uviesť, ako sú zostavené, ktorá jednotka, služba atď. aktuálna jednotka závisí od. Hlavným príkazom na tento účel je systemctl, možnosti sú užitočné na zúženie vášho konkrétneho problému.

Ak chcete správne používať systemctl, pozorne si pozrite možnosti príkazu. Existujú možnosti, ako si presne vybrať, čo potrebujete, najmä pokiaľ ide o stav akýchkoľvek služieb. Tu hľadáme služby, ktoré majú problémy.

$ systemctl list-unit-files --type = služba

Tento zoznam je tiež dlhý a musíte prechádzať všetkými službami, aby ste našli to, čo hľadáte. Pomocou ďalších parametrov môžete filtrovať konkrétny alebo deaktivované parametre. Nasledujúci príkaz nájde všetky jednotky, ktoré sú maskované.

$ systemctl list-unit-files --type = service --state = maskovaný

Maskované služby sú blokované, takže ich iné služby nemôžu spustiť, aj keď ich druhá služba potrebuje. To sa dá použiť na zabezpečenie toho, že nemáte spustené konfliktné služby. Správca balíkov pri odstránení balíka zvyčajne maskuje mnoho služieb. Po odstránení služby môžete servisný súbor úplne odstrániť. Je tiež možné, že to stroskotá na mnohých službách, ktoré požadujete, takže nezabudnite, že viete, či maskované služby potrebujete.

Niektoré služby sú maskované procesmi a nie vždy máte v úmysle maskovať túto službu. Keď sa to vo vašom systéme stalo, prvá akcia, ktorú musíte urobiť, je demaskovať pomocou systemctl. To však nie je vždy možné, takže je potrebné odobrať odkaz v správnom adresári. Vo väčšine systémov to tak bude lib / systemd / system. Predtým však skontrolujte, či je súbor skutočne odkazom na / dev / null.

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

Ak ste si istí, že chcete tento odkaz odstrániť, odstráňte ho pomocou rm alebo zrušte prepojenie.

$ rm / lib / systemd / system / udisks2.služby

Teraz, keď viete, ako na to, začujte toto varovanie: mnohokrát je potrebné mať tento odkaz tam. Vezmime si ako príklad lvm2, je maskovaný z prevádzky, takže nebude prekážať novému systému, kde lvm2 ponúka toľko malých služieb. Zobraziť výsledok:

$ systemctl status lvm2 *

Odstránenie odkazu môže spôsobiť zmätok vo vašom systéme, pretože samotný lvm2 ho potrebuje, aby sa predišlo konfliktom. Toto je iba príklad, takže si dajte pozor skôr, ako budete pokračovať.

Záver

Ak chcete uviesť zoznam služieb v systéme systemd, musíte si najskôr premyslieť, čo hľadáte vo svojej úlohe. Hľadáte službu, ktorú potrebujete, alebo vidíte, že máte príliš veľa služieb. V každom prípade musíte svoj dopyt prispôsobiť svojim konkrétnym potrebám. Systemd vyzerá spočiatku mätúco, ale keď sa pozriete bližšie, všetko využíva priamy spôsob zjednotenia spustenia, aby služby mohli začať paralelne tam, kde to systém potrebuje, a zároveň umožniť každej službe čakať na konkrétnu službu, od ktorej závisí.

Hry 5 najlepších arkádových hier pre Linux
5 najlepších arkádových hier pre Linux
V dnešnej dobe sú počítače vážne stroje používané na hranie hier. Ak nemôžete dosiahnuť nové najvyššie skóre, budete vedieť, čo tým myslím. V tomto pr...
Hry Battle For Wesnoth 1.13.6 Vývoj uvoľnený
Battle For Wesnoth 1.13.6 Vývoj uvoľnený
Battle For Wesnoth 1.13.6 vydané minulý mesiac, je šiestym vývojovým vydaním v 1.13.séria x a prináša množstvo vylepšení, najmä používateľského rozhra...
Hry Ako nainštalovať League Of Legends na Ubuntu 14.04
Ako nainštalovať League Of Legends na Ubuntu 14.04
Ak ste fanúšikom League of Legends, potom je to pre vás príležitosť otestovať spustenie League of Legends. Upozorňujeme, že program PlayOnLinux podpor...