systemd

Jak vypsat službu pomocí systemd

Jak vypsat službu pomocí systemd
Tento článek může být o jeden příkaz krátký, ale výsledný výtisk je velmi dlouhý.

Příkaz výpisu

Pokud vás někdo požádá o zobrazení celé konfigurace vašeho systému, použijte příkaz dump.

$ systemd --dump-configuration-items

Soubor pokrývá všechny jednotky, které máte v systému. Jakmile vývojář má tento soubor k dispozici, osoba projde tím, co máte, a pokusí se najít problémy, kterým čelíte. Přes a hotovo. Tento článek byste však nečetli, pokud byste nechali někoho jiného dělat všechno. Podívejme se, co můžete dělat se službou najednou, a naučíme se několik triků, jak filtrovat výsledky.

Hierarchie systemd

Abyste se stali efektivními, musíte si uvědomit, že v systemd máte hierarchii a můžete nastavit každou službu tak, aby byla závislá a / nebo počkat na další služby. Různé způsoby, jak to provést, jsou patrné v souborech služeb. Různé příkazy, které máte, jsou „chce“, „povinné“, „před“ a „po“. Pro efektivní analýzu můžete pomocí nich zjistit, zda je vaše jednotka nefunkční kvůli závislostem. Poté můžete vystopovat zpět na místo, kde leží základní problém. Zde je příklad toho.

$ systemctl list-dependencies - before xpra.servis

Výpis ukazuje ostatní jednotky, které xpra.služba spolehnout. V tomto případě jsou ostatní jednotky aktivní, takže se musíme zaměřit na to, proč je samotná jednotka rozbitá. V příkladu chyběl soubor certifikátu.

Nejdůležitějším použitím je zjistit, zda ve vaší službě chybí závislosti, použijte příkaz tímto způsobem.

$ systemctl seznam závislostí xringd

Výsledkem je dlouhý seznam, pohodlně uspořádaný do stromu a zobrazující všechny služby zeleně nebo červeně, pokud něco není v pořádku. Závislosti můžete vidět také v souboru služeb. Otevřete soubor pomocí svého oblíbeného editoru nebo použijte systemctl, který soubor otevře ve výchozím editoru.

Výpis aktivních služeb

Chcete-li prozkoumat systém, budete potřebovat vědět, jak jednotky do sebe zapadají. Chcete-li to provést, máte řadu možností pro tisk podrobností. Můžete uvést, které systémy jsou zaneprázdněny, selhaly atd. Ještě důležitější je uvést, jak jsou sestaveny, která jednotka, služba atd. aktuální jednotka závisí na. Hlavním příkazem k tomu je systemctl, možnosti jsou užitečné pro zúžení vašeho konkrétního problému.

Chcete-li správně používat systemctl, pečlivě se podívejte na možnosti příkazu. Existují možnosti, jak si vybrat přesně to, co potřebujete, zejména pokud jde o stav všech služeb. Zde hledáme služby, které mají problémy.

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

Tento seznam je také dlouhý a musíte procházet všemi službami, abyste našli to, co hledáte. U některých dalších parametrů můžete filtrovat konkrétní nebo deaktivované. Níže uvedený příkaz najde všechny jednotky, které jsou maskované.

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

Maskované služby jsou blokovány, takže je ostatní služby nemohou spustit, i když je druhá služba potřebuje. To lze použít k zabezpečení, že nemáte spuštěné konfliktní služby. Při odebrání balíčku obvykle mnoho služeb maskuje správce balíčků. Po odebrání služby můžete soubor služby úplně odebrat. Je také možné, že zničí mnoho služeb, které chcete, takže se ujistěte, že víte, jestli maskované služby potřebujete.

Některé služby jsou maskované procesy a vy nemáte vždy v úmyslu maskovat službu. Když se to ve vašem systému stalo, první akcí, kterou je třeba provést, je demaskování pomocí systemctl. To však není vždy možné, takže je třeba odebrat odkaz ve správném adresáři. Ve většině systémů to tak bude lib / systemd / system. Než to uděláte, zkontrolujte, zda je soubor ve skutečnosti odkazem na / dev / null.

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

Pokud jste si jisti, že chcete tento odkaz odebrat, odeberte jej pomocí rm nebo zrušte propojení.

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

Nyní, když víte, jak na to, uslyšíte toto varování: mnohokrát je nutné mít tento odkaz tam. Vezměte si lvm2 jako příklad, je maskovaný z provozu, takže nebude zasahovat do nového systému, kde lvm2 přichází tolik malých služeb. Podívejte se na výsledek:

$ systemctl status lvm2 *

Odebrání odkazu může ve vašem systému způsobit zmatek, protože samotný lvm2 to potřebuje, aby nedocházelo ke konfliktům. Toto je pouze příklad, takže si dejte pozor, než půjdete dál.

Závěr

Pokud chcete vypsat služby v systemd, musíte nejprve přemýšlet o tom, co hledáte ve svém úkolu. Hledáte službu, kterou potřebujete, nebo vidíte, že máte příliš mnoho služeb. V obou případech je třeba přizpůsobit dotaz vašim konkrétním potřebám. Systemd vypadá zpočátku matoucí, ale když se podíváte blíže, vše používá přímý způsob, jak sjednotit spuštění, aby služby mohly začít paralelně tam, kde to systém potřebuje, a zároveň mít možnost každou službu počkat na konkrétní službu, na které závisí.

Jak používat Xdotool ke stimulaci kliknutí myší a klávesových zkratek v systému Linux
Xdotool je bezplatný a otevřený nástroj příkazového řádku pro simulaci kliknutí myší a stisknutí kláves. Tento článek se bude věnovat krátkému průvodc...
Top 5 ergonomických produktů pro počítačové myši pro Linux
Způsobuje dlouhodobé používání počítače bolest zápěstí nebo prstů? Trpíte ztuhlými klouby a neustále si musíte třást ruce? Cítíte pálivou bolest pokaž...
Jak změnit nastavení myši a touchpadu pomocí Xinput v Linuxu
Většina linuxových distribucí je ve výchozím nastavení dodávána s knihovnou „libinput“ pro zpracování vstupních událostí v systému. Může zpracovávat v...