systemd

Systemd - Jak to spustí váš systém

Systemd - Jak to spustí váš systém
Systemd byl vyvinut, když vývojáři zjistili, že paralelní spuštění systému není možné. Starší systémy procházejí spouštěcími soubory systému jeden po druhém. To může způsobit zastavení spouštění při čekání na pomalé zdroje. Jedním z příkladů toho je, když proces musí mít spuštěnou síť. Používání sítě je velmi pomalé, ostatní prostředky by neměly čekat. Tento problém lze zmírnit jinými způsoby, ale u systemd se všechny spouštění provádějí paralelně, kde je to možné. Výsledkem by mělo být mnohem rychlejší spuštění složitých systémů, které zahrnují i ​​váš desktopový systém.

Systemd: Otec všech ostatních procesů

Linux a jakýkoli jiný * nixový systém vždy spustí proces, který je otcem všech ostatních procesů. Pokud používáte Systemd, tento proces je systemd, proces se vždy nazývá 'init' bez ohledu na systém init. Jakmile je systemd spuštěn, spustí se démoni, kteří provozují subsystémy. Démoni řídí, jaké zdroje máte a jaké systémy jsou otevřené. Výzva k přihlášení je služba spravovaná společností systemd. Systemd spouští mnoho dalších služeb a také připojuje všechny vaše disky, včetně snap mountů.

Jak ovládáte, co začíná?

Nejdříve ze všeho nejdříve systém init měl úrovně běhu, které mnoho čtenářů pozná. Runlevel 1 byl režim pro jednoho uživatele, 2 režim pro více uživatelů bez připojení k síti a 3-5 pro více uživatelů a grafický. Nastavení úrovně běhu na 0 znamenalo zastavení a 6 znamenalo restart. Vývojáři systemd zjistili, že tyto úrovně jsou nejasné, a proto je změnili na cíle. Cíle nejsou úplně stejné, ale mají podobnou funkci. Když běží konkrétní cíl, běží konkrétní kolekce jednotek. Více o jednotkách později.

Nastavení „runlevel“, tzv. Cíle.

Cíl můžete změnit za běhu, například můžete použít terminál k nastavení cíle na více uživatelů. To by zastavilo vaše grafické uživatelské rozhraní, X nebo Wayland, ale umožnilo vám a ostatním přihlásit se pomocí textové konzoly. Použijte následující příkaz.

$ systemctl izolovat více uživatelů.cílová

Nebo pokud chcete spustit plochu, použijte následující příkaz.

$ systemctl izolovat graficky.cílová

To, co vás opravdu zajímá, je, jak spustit správnou úroveň, tímto způsobem můžete zjistit, co právě máte.

$ systemctl get-default

Chcete-li změnit výchozí nastavení, nastavte jej.

$ systemctl set-default grafické.cílová

Tento příkaz ve skutečnosti způsobí spuštění mnoha jednotek a služeb při spuštění počítače. Možná budete chtít spustit nebo zastavit jednu službu.

SPUŠTĚNÍ, zastavení, povolení a zakázání služby.

Zde máte šanci změnit to, co se děje při bootování a během normálního provozu. Na rozdíl od cílů jsou jednotky speciální pro konkrétní službu. Chcete-li zastavit službu, použijte 'systemctl stop', stejně můžete použít 'start' a 'restart'. Chcete-li službu spustit při spuštění, použijte „povolit“, abyste ji zastavili „deaktivovat“. Vyberte službu a spusťte a zastavte ji, když je spuštěna.

$ systemctl stavové poháry.servis

Tento příkaz zobrazuje stav služby, zobrazuje také seznam akcí provedených systémem týkajících se služby. Službu zastavíte pomocí níže uvedeného příkazu.

$ systemctl stop kelímky.servis

Služba je nyní pro aktuální relaci zastavena. Chcete-li jej změnit tak, aby se nespustil při příštím spuštění, použijte deaktivaci.

$ systemctl deaktivovat poháry.servis

Všimněte si, že byste mohli službu pouze deaktivovat, nemělo by to žádný vliv na vaši aktuální situaci. Služba stále běží. Při příštím spuštění však službu nespustí.

Systemd také ovládá držáky, zařízení, zásuvky a další. Jednotky jsou nižší a srozumitelnější, pokud jste se již dříve zabývali Linuxem. Můžete je také nastavit sami, ale největší vliv na bootování má ovládání služeb.

Jak přidáváte vlastní skripty?

Své skripty můžete přidávat docela snadno. Zajímavé jsou podrobnosti o tom, jak můžete svůj skript nebo službu záviset na ostatních. To je úhledně předvedeno v tomto souboru služby obnovení WiFi.

[Jednotka]
Popis = Restartujte networkmanager při obnovení
After = pozastavit.cílová
After = hibernace.cílová
After = hybridní spánek.cílová
 
[Servis]
Typ = onehot
ExecStart = / bin / systemctl restartuje správce sítě.servis
 
[Nainstalujte]
WantedBy = pozastavit.cílová
WantedBy = hibernace.cílová
WantedBy = hybridní spánek.cílová

Tento kód vytvoří službu, která se stane jednou (onehot) po třech cílech uvedených v kódu. Kód, který se provede, je v tomto případě jediný příkaz. Stejně tak můžete ukázat ExecStart na skript podle vašeho výběru.

Závěr

Změnu systému, zejména jeho spuštění, můžete provést sami, ale mějte na paměti, že to má pro každou službu mnoho důsledků, takže se ujistěte, že je váš kód stabilní a rychle proveditelný.

Hry Výukový program OpenTTD
Výukový program OpenTTD
OpenTTD je jednou z nejpopulárnějších her pro obchodní simulaci. V této hře musíte vytvořit skvělé dopravní podnikání. Začnete však na začátku kolem r...
Hry SuperTuxKart pro Linux
SuperTuxKart pro Linux
SuperTuxKart je skvělý titul navržený tak, aby vám ve vašem systému Linux přinesl zážitek Mario Kart zdarma. Je to docela náročné a zábavné hrát, je n...
Hry Výukový program Battle for Wesnoth
Výukový program Battle for Wesnoth
The Battle for Wesnoth je jednou z nejpopulárnějších strategických her s otevřeným zdrojovým kódem, které si v tuto chvíli můžete zahrát. Tato hra se ...