Systemd Service File

Systemd Service File



V systému Linux výstup stavu systemctl ukazuje, že služba je načtena prostřednictvím souboru, který se nazývá soubor služby. Tyto soubory jsou přístupné v /lib/systemd/system nebo /etc/systemd/system adresáře.

Soubory služeb mají .servis rozšíření a obsahují pokyny, které jsou vyžadovány systemd spravovat službu.







The systemd init system spravuje inicializaci systému pomocí Jednotka . Jednotka je objekt, který provádí úlohu nebo akci, jako je správa služby, která zahrnuje její řízení a monitorování. Tyto jednotky jsou v podstatě soubory nazývané servisní soubory, které zahrnují závislosti jednotek a příkazy. Tyto soubory jsou klíčové pro efektivní řízení procesů na pozadí a správu zdrojů.



V průvodci prozkoumám soubor služby systemd, jeho strukturu a hlavní směrnice, které službu řídí.



Při práci se systemd jsou podmínky soubor služby systemd a soubor systemd unit se často používají zaměnitelně, protože technicky odkazují na stejnou věc.





Co je Systemd Service File

V Linuxu systemd spravuje služby pomocí souborů služeb, které obsahují konfigurační instrukce, takže systemd může rozumět a spustit.

Pro výpis jednotek použijte systemctl s –seznam jednotek příkaz.



systemctl --list-units

Chcete-li číst soubor služeb jakékoli služby, použijte kočka příkaz s cestou k souboru.

kočka [ / cesta-souboru služby ]

Chcete-li například zobrazit soubor služby ssh.service použijte daný příkaz.

kočka / lib / systemd / Systém / ssh.service

Anatomie souboru služeb Systemd

Soubory servisních jednotek systemd obecně obsahují tři sekce.

  • Jednotka
  • Servis
  • Nainstalujte

Soubor jednotky specifický pro službu bude mít specifickou sekci nazvanou Servis sekce.

Upozorňujeme, že služba je pouze typ jednotky. Jednotka může mít různé typy, jako je zásuvka, zařízení, držák, automount, swap, cíl, časovač, řez a rozsah. Tyto sekce jsou umístěny mezi sekcemi Jednotka a Instalace. Přípona souboru bude také nahrazena příslušným typem jednotky, například typ jednotky zásuvky bude mít a .zásuvka přípona souboru.

Poznámka: V této příručce se zaměřím na typ servisní jednotky, protože je široce používán administrátory a vývojáři.

Tyto části jsou uzavřeny v hranatých závorkách ([]). Každá sekce obsahuje příslušnou sadu instrukcí. Obecná struktura souboru služeb je uvedena níže.

[ Jednotka ]

Směrnice1 = Návod 1

Směrnice2 = Návod 2

[ Servis ]

Směrnice1 = Návod 1

Směrnice2 = Návod 2

[ Nainstalujte ]

Směrnice1 = Návod 1

Směrnice2 = Návod 2

Pořadí sekcí lze změnit; výše uvedené pořadí se však obecně dodržuje.

[Jednotka] Sekce

Sekce jednotek obsahuje popis jednotek a jejich závislostí. Tato sekce je podle konvence umístěna v horní části souboru služby. Běžně používané směrnice jsou uvedeny níže:

Směrnice Popis
Popis Tato směrnice se používá k uvedení názvu služby. Délka popisu nesmí přesáhnout 80 znaků.
Dokumentace Tato direktiva obsahuje manuálovou stránku nebo URL služby.
Vyžaduje Tato směrnice se používá ke zmínce o závislosti na aktuální službě. Pokud nebude provedena aktivace této závislé služby, aktuální služba nebude spuštěna.
chce Tato směrnice se používá ke zmínce o závislosti na aktuální službě. Ke spuštění aktuální služby však není vyžadována aktivace této závislé služby.
Před Po aktivaci aktuální jednotky se spustí služba uvedená v této směrnici.
Po Před aktivací aktuální jednotky bude spuštěna služba uvedená v této směrnici.
BindsTo Tato směrnice propojuje aktuální službu se zmíněnou službou. Pokud se propojená služba restartuje, restartují se také aktuální služby.

Kromě těchto směrnic existují ještě dvě směrnice; Stav a Tvrdit. Mnoho služeb vyžaduje specifické systémové podmínky pro úspěšné spuštění a tyto direktivy se používají ke zmínce o podmínkách.

Sekce [Instalovat]

Tato část není povinná a je nezbytná pouze v případě, že služba vyžaduje aktivaci nebo deaktivaci při spouštění. Navíc je třeba zmínit i službu alias. Běžně používané direktivy pro sekci Install jsou uvedeny níže:

Směrnice Popis
WantedBy Tato směrnice nastavuje úroveň běhu * cíl služby. Pokud je cíl nastaven na víceuživatelský.cíl pak bude služba povolena na této úrovni běhu.
Vyžadováno Tato direktiva se podobá WantedBy, ale i bez závislosti uvedené v direktivě bude služba povolena.
Přezdívka Tato direktiva se používá k povolení služby s jiným názvem. Když je služba povolena, vytvoří se symbolický odkaz s tímto názvem.

Většinou, víceuživatelský.cíl se používá jako WantedBy parametr. Ale co je multi-user.target?

Multi-user.target představuje stav systému připravený přijímat negrafické víceuživatelské relace. Je to stav před spuštěním GUI.

Existují různé úrovně běhu systému, pojďme se dozvědět o funkci těchto úrovní běhu.

V systemd jsou služby seskupeny na základě úrovní běhu, které se nazývají cíle . Každá úroveň běhu má soubor s .cílová rozšíření v /etc/systemd/system adresář. Služba bude spuštěna na základě stavu úrovně spuštění.

Úroveň běhu Cíle Stát Soubory
0 vypnout Vypnout a vypnout vypnutí.cíl
1 zachránit Spustí záchranný shell záchrana.cíl
2,3,4 Multi uživatel Spustí víceuživatelský shell bez GUI víceuživatelský.cíl
5 grafický Zakládá víceuživatelský GUI shell grafický.cíl
6 restartovat Vypněte a restartujte restart.cíl

Sekce [Servis]

Tato část obsahuje nastavení konfigurace služby. Primární konfigurace této sekce definuje typ a příkazy, které mají být provedeny při spuštění služby. Typ a ExecStart jsou hlavní směrnice používané k nastavení služby.

Různé typy služeb jsou uvedeny v následující tabulce.

Typ služby Popis
jednoduchý Je to výchozí typ, když není uveden typ nebo název sběrnice a je uveden pouze ExecStart. Systemd nejprve provede hlavní proces a poté následují jednotky.
rozvětvení Tento typ se používá k udržení služby spuštěné, i když je nadřazená služba uzavřena. Po uzavření nadřazeného procesu rozdělí podřízený proces.
jeden výstřel Systemd nejprve provede hlavní proces a když hlavní proces opustí, spustí se následné jednotky.
dbus Služba s dbus se používá ke komunikaci s jiným procesem na sběrnici. Pokud je uveden název sběrnice, bude proces aktivován po získání názvu sběrnice.
oznámit Služba vás upozorní při zahájení procesu. Po vydání oznámení systemd přejde k navazujícím jednotkám.
líný Udržuje službu, dokud nejsou odeslány všechny aktivní úlohy; primárně užitečné pro zlepšení výstupu konzole.

Běžně používané direktivy v sekci Service jsou uvedeny níže:

Směrnice Popis
ExecStart Zachovává úplnou cestu příkazu, který má být proveden, aby byl proces zahájen.
ExecStartPre Uchovává příkazy, které by měly být provedeny před zahájením hlavního procesu.
ExecStartPost Uchovává příkazy, které by měly být provedeny po zahájení hlavního procesu.
ExecReload Uchovává příkaz pro opětovné načtení konfigurace služby.
Restartujte Automaticky restartovat službu za okolností, jako je při selhání, při úspěchu, při abnormálním stavu, při přerušení a při sledování.
RestartSec Chcete-li zachovat počet sekund, po kterých se služba automaticky restartuje.

The ExecStart je jednou z klíčových direktiv používaných v sekci Service. Obsahuje úplná cesta ke spustitelnému souboru že se služba spustí při vyvolání.

Závěr

Servisní soubor systemd je konfigurační soubor, který je strukturován pomocí direktiv a příkazů, takže je lze spravovat pomocí systemd. Tyto soubory obsahují pokyny udávající, jak je služba spravována systémem systemd. V této příručce jsem se zabýval tím, jak získat přístup k souboru služby systemd, jeho sekcím a direktivám, které spravují služby. Chcete-li se dozvědět více o pokynech pro servisní soubor, přečtěte si nalezenou oficiální dokumentaci tady .