Palvelutiedostot ovat .palvelu laajennuksia ja sisältävät ohjeet, jotka vaaditaan systemd hoitaa palvelua.
The systemd init-järjestelmä hallitsee järjestelmän alustusta käyttämällä Yksikkö . Yksikkö on objekti, joka suorittaa tehtävän tai toiminnon, kuten palvelun hallinnan, johon kuuluu sen ohjaaminen ja valvonta. Nämä yksiköt ovat pohjimmiltaan palvelutiedostoiksi kutsuttuja tiedostoja, jotka sisältävät yksiköiden riippuvuuksia ja komentoja. Nämä tiedostot ovat ratkaisevan tärkeitä taustaprosessien tehokkaan hallinnan ja resurssien hallinnan kannalta.
Oppaassa tutkin systemd-palvelutiedostoa, sen rakennetta ja tärkeimpiä palvelua ohjaavia direktiivejä.
Kun työskentelet systemdin kanssa, ehdot systemd-palvelutiedosto ja systemd-yksikkötiedosto käytetään usein vaihtokelpoisina, koska teknisesti ne viittaavat samaan asiaan.
Mikä on Systemd Service File
Linuxissa systemd hallitsee palveluita käyttämällä palvelutiedostoja, jotka sisältävät konfigurointiohjeet, jotta systemd voi ymmärtää ja suorittaa.
Listaa yksiköt käyttämällä systemctl-komentoa -luetteloyksiköt komento.
systemctl --lista-yksiköt
Voit lukea minkä tahansa palvelun palvelutiedoston käyttämällä kissa komento tiedostopolun kanssa.
kissa [ / palvelu-tiedostopolku ]Esimerkiksi nähdäksesi palvelutiedoston ssh.service käytä annettua komentoa.
kissa / lib / systemd / järjestelmä / ssh.service
Systemd-palvelutiedoston anatomia
Yleensä systemd-palveluyksikkötiedostot sisältävät kolme osaa.
- Yksikkö
- Palvelu
- Asentaa
Palvelukohtaisessa yksikkötiedostossa on erityinen osio nimeltä Palvelu osio.
Huomaa, että palvelu on vain eräänlainen yksikkö. Yksiköllä voi olla erilaisia tyyppejä, kuten pistorasia, laite, kiinnitys, automaattinen asennus, swap, kohde, ajastin, lohko ja laajuus. Nämä osat sijoitetaan yksikkö- ja asennusosien väliin. Myös tiedostopääte korvataan vastaavalla yksikkötyypillä, esimerkiksi socket-yksikkötyypillä on a .pistoke tiedostopääte.
Huomautus: Tässä oppaassa keskityn palveluyksikkötyyppiin, koska järjestelmänvalvojat ja kehittäjät käyttävät sitä laajasti.
Nämä osat on suljettu hakasulkeisiin ([]). Jokainen osa sisältää asiaankuuluvan ohjesarjan. Alla on esitetty palvelutiedoston yleinen rakenne.
[ Yksikkö ]direktiivi1 =Ohje 1
direktiivi2 =Ohje 2
[ Palvelu ]
direktiivi1 =Ohje 1
direktiivi2 =Ohje 2
[ Asentaa ]
direktiivi1 =Ohje 1
direktiivi2 =Ohje 2
Osioiden järjestystä voidaan muuttaa; kuitenkin yleensä noudatetaan edellä mainittua järjestystä.
[Yksikkö] -osio
Yksikköosa sisältää yksikön kuvauksen ja yksikköriippuvuudet. Tämä osio sijoitetaan tavanomaisesti palvelutiedoston yläosaan. Yleisesti käytetyt direktiivit on lueteltu alla:
Direktiivi | Kuvaus |
Kuvaus | Tätä ohjetta käytetään mainitsemaan palvelun nimi. Kuvauksen pituus saa olla enintään 80 merkkiä. |
Dokumentointi | Tämä ohje sisältää palvelun man-sivun tai URL-osoitteen. |
Vaatii | Tätä direktiiviä käytetään mainitsemaan riippuvuus nykyisestä palvelusta. Jos tätä riippuvuuspalvelua ei aktivoida, nykyistä palvelua ei käynnistetä. |
Haluaa | Tätä direktiiviä käytetään mainitsemaan riippuvuus nykyisestä palvelusta. Tätä riippuvuuspalvelua ei kuitenkaan tarvitse aktivoida nykyisen palvelun suorittamiseksi. |
Ennen | Kun nykyinen yksikkö on aktivoitu, tässä ohjeessa mainittu palvelu käynnistetään. |
Jälkeen | Ennen kuin nykyinen yksikkö on aktivoitu, tässä ohjeessa mainittu palvelu käynnistetään. |
BindsTo | Tämä ohje linkittää nykyisen palvelun mainittuun palveluun. Jos linkitetty palvelu käynnistyy uudelleen, myös nykyiset palvelut käynnistyvät uudelleen. |
Näiden direktiivien lisäksi on olemassa kaksi muuta direktiiviä; Kunto ja Väitä. Monet palvelut vaativat tietyt järjestelmäehdot toimiakseen onnistuneesti, ja näitä direktiivejä käytetään ehtojen mainitsemiseen.
[Asenna] -osio
Tämä osio ei ole pakollinen, ja se on välttämätön vain, kun palvelu vaatii aktivoinnin tai deaktivoinnin käynnistyksen yhteydessä. Lisäksi on mainittava myös aliaspalvelu. Yleisesti käytetyt Asennus-osion käskyt on lueteltu alla:
Direktiivi | Kuvaus |
WantedBy | Tämä direktiivi määrittää ajon tason * palvelun kohde. Jos tavoite on asetettu monen käyttäjän.kohde sitten palvelu otetaan käyttöön tällä suoritustasolla. |
Edellyttämät | Tämä direktiivi muistuttaa WantedByä, mutta palvelu otetaan käyttöön myös ilman direktiivissä mainittua riippuvuutta. |
Alias | Tätä ohjetta käytetään palvelun käyttöönottoon toisella nimellä. Tällä nimellä luodaan symbolilinkki, kun palvelu otetaan käyttöön. |
Enimmäkseen, monen käyttäjän.kohde käytetään nimellä WantedBy parametri. Mutta mikä on multi-user.target?
Multi-user.target edustaa järjestelmän tilaa, joka on valmis hyväksymään ei-graafiset usean käyttäjän istunnot. Se on tila ennen GUI:n käynnistämistä.
Järjestelmässä on erilaisia ajotasoja, tutustutaanpa näiden ajotasojen toimintaan.
Systemd:ssä palvelut ryhmitellään ajotasojen perusteella, joita kutsutaan tavoitteita . Jokaisella suoritustasolla on tiedosto .kohde laajennus /etc/systemd/system hakemistosta. Palvelu toimii ajotason tilan perusteella.
Run Level | Tavoitteet | Osavaltio | Tiedostot |
0 | virta pois | Sammuta ja sammuta virta | poweroff.target |
1 | pelastaa | Käynnistää pelastuskuoren | pelastus.kohde |
2,3,4 | monen käyttäjän | Käynnistää usean käyttäjän ei-GUI-kuoren | monen käyttäjän.kohde |
5 | graafinen | Perustaa usean käyttäjän GUI-kuoren | graafinen.target |
6 | käynnistä uudelleen | Sammuta ja käynnistä uudelleen | reboot.target |
[Palvelu] -osio
Tämä osio sisältää palvelun konfigurointiasetukset. Tämän osion ensisijainen kokoonpano on palvelun alussa suoritettavan tyypin ja kometojen määrittäminen. Tyyppi ja ExecStart ovat tärkeimmät palvelun perustamiseen käytetyt direktiivit.
Palvelutyypit on lueteltu seuraavassa taulukossa.
palvelutyyppi | Kuvaus |
yksinkertainen | Se on oletustyyppi, kun tyyppiä tai väylänimeä ei mainita ja vain ExecStart mainitaan. Systemd suorittaa ensin pääprosessin ja sitten seurantayksiköt. |
haarukka | Tätä tyyppiä käytetään pitämään palvelu käynnissä, vaikka pääpalvelu olisi suljettu. Se muodostaa lapsiprosessin pääprosessin sulkemisen jälkeen. |
yksi laukaus | Systemd suorittaa pääprosessin ensin ja kun pääprosessi poistuu, seurantayksiköt käynnistyvät. |
dbus | Dbus-palvelua käytetään kommunikoimaan toisen väylän prosessin kanssa. Jos väylän nimi mainitaan, prosessi aktivoituu, kun väylän nimi on hankittu. |
ilmoittaa | Palvelu ilmoittaa prosessin aloittamisesta. Systemd jatkaa seurantayksiköihin ilmoituksen antamisen jälkeen. |
tyhjäkäynnillä | Se säilyttää palvelun, kunnes kaikki aktiiviset työt on lähetetty; ensisijaisesti hyödyllinen parantamaan konsolin lähtöä. |
Palvelu-osiossa yleisesti käytetyt käskyt on mainittu alla:
Direktiivi | Kuvaus |
ExecStart | Se säilyttää suoritettavan komennon täyden polun prosessin aloittamiseksi. |
ExecStartPre | Se säilyttää komennot, jotka tulee suorittaa ennen pääprosessin alkamista. |
ExecStartPost | Se säilyttää komennot, jotka tulee suorittaa pääprosessin alkamisen jälkeen. |
ExecReload | Se säilyttää komennon ladata palvelun kokoonpano uudelleen. |
Uudelleenkäynnistää | Palvelun automaattinen käynnistäminen uudelleen sellaisissa olosuhteissa kuin epäonnistuminen, onnistuminen, epänormaali, keskeytys ja vahtikoira. |
RestartSec | Säilytä sekuntien lukumäärä, jonka jälkeen palvelu käynnistyy automaattisesti uudelleen. |
The ExecStart on yksi palveluosiossa käytetyistä keskeisistä ohjeista. Se sisältää suoritettavan tiedoston koko polku että palvelu suoritetaan kutsuttaessa.
Johtopäätös
Systemd-palvelutiedosto on konfiguraatiotiedosto, joka on rakennettu käskyillä ja komennoilla, jotta systemd voi hallita niitä. Nämä tiedostot sisältävät ohjeita, jotka osoittavat, kuinka systemd hallitsee palvelua. Tässä oppaassa kerroin, kuinka pääset käsiksi systemd-palvelutiedostoon, sen osioihin ja palveluita hallitseviin ohjeisiin. Saat lisätietoja palvelutiedostojen ohjeista lukemalla löytyneen virallisen dokumentaation oppaan tässä .