Stații de lucru online OnWorks Linux și Windows

logo

Găzduire online gratuită pentru stații de lucru

<Înapoi | Cuprins | Următor>

5.4. Servicii de management‌‌


Kali folosește systemd ca sistemul său de inițiere, care nu este doar responsabil pentru secvența de pornire, ci acționează permanent și ca un manager de servicii complet, pornire și monitorizare.

systemd poate fi interogat și controlat cu systemctl. Fără niciun argument, rulează list-unități systemctl comanda, care scoate o listă a activelor de unităţi. Dacă fugi starea systemctl, rezultatul arată o imagine de ansamblu ierarhică a serviciilor care rulează. Comparând ambele rezultate, vedeți imediat că există mai multe tipuri de unități și că serviciile sunt doar unul dintre ele.

Fiecare serviciu este reprezentat de a unitate de service, care este descris de un fișier de serviciu livrat de obicei în

/lib/systemd/system/ (sau /run/systemd/system/, sau /etc/systemd/system/; sunt listate în ordine crescătoare a importanței, iar ultimul câștigă). Fiecare este posibil modificat de altul numele serviciului.service.d/*.conf fișiere din același set de directoare. Acele fișiere unitare sunt fișiere text simplu al căror format este inspirat din binecunoscutele fișiere „*.ini” ale Microsoft Windows, cu cheie

= valoare perechi grupate între [secțiune] anteturi. Aici vedem un exemplu de fișier de serviciu pentru /lib/ systemd/system/ssh.service:


[Unitate]

Descriere=Server OpenBSD Secure Shell After=network.target auditd.service ConditionPathExists=!/etc/ssh/sshd_not_to_be_run


[Serviciu]

EnvironmentFile=-/etc/default/ssh ExecStart=/usr/sbin/sshd -D $SSHD_OPTS ExecReload=/bin/kill -HUP $MAINPID KillMode=proces

Restart=la eșec RestartPreventExitStatus=255 Tip=notify


[Instalare]

WantedBy=multi-user.target Alias=sshd.service

[Unitate]

Descriere=Server OpenBSD Secure Shell After=network.target auditd.service ConditionPathExists=!/etc/ssh/sshd_not_to_be_run


[Serviciu]

EnvironmentFile=-/etc/default/ssh ExecStart=/usr/sbin/sshd -D $SSHD_OPTS ExecReload=/bin/kill -HUP $MAINPID KillMode=proces

Restart=la eșec RestartPreventExitStatus=255 Tip=notify


[Instalare]

WantedBy=multi-user.target Alias=sshd.service


Unitățile țintă sunt o altă parte a designului Systemd. Ele reprezintă o stare dorită pe care doriți să o atingeți în ceea ce privește unitățile activate (ceea ce înseamnă un serviciu în funcțiune în cazul unităților de service). Ele există în principal ca o modalitate de a grupa dependențe de alte unități. Când sistemul pornește, permite unităților necesare să ajungă la implicit.ţintă (care este un link simbolic către grafică.ţintă, și care la rândul său depinde de multi-utilizator.tinta). Deci, toate dependențele acelor ținte sunt activate în timpul pornirii.

Astfel de dependențe sunt exprimate cu Vreau directivă asupra unității țintă. Dar nu trebuie să editați unitatea țintă pentru a adăuga noi dependențe, puteți, de asemenea, să creați un link simbolic care să indice către

unitate dependentă în / Etc / systemd / system /nume-țintă.țintă.dorește/ director. Și asta este exact ceea ce systemctl activate foo.service face. Când activați un serviciu, îi spuneți systemd să adauge o dependență de țintele enumerate în WantedBy intrarea a [Instalare] secțiunea fișierului unității de service. Invers, dezactivarea sistemului foo.service elimină aceeași legătură simbolică și astfel dependența.

permite și dezactivați comenzile nu schimbă nimic în ceea ce privește starea curentă a serviciilor. Ele influențează doar ceea ce se va întâmpla la următoarea pornire. Dacă doriți să rulați imediat serviciul, ar trebui să executați pornire systemctl foo.service. Dimpotrivă, puteți opri cu systemctl stop foo.service. De asemenea, puteți inspecta starea actuală a unui serviciu cu starea systemctl foo.service, care include în mod util cele mai recente rânduri ale jurnalului asociat. După ce ați schimbat configurația unui serviciu, este posibil să doriți să-l reîncărcați sau să-l reporniți: acele operațiuni se fac cu reîncărcare systemctl foo.service și reporniți systemctl foo. serviciu respectiv.


imagine

# starea systemctl postgresql

● postgresql.service - PostgreSQL RDBMS

Încărcat: încărcat (/lib/systemd/system/postgresql.service; dezactivat; prestabilit furnizor:

dezactivat)

Activ: inactiv (mort)

# ls -al /etc/systemd/system/multi-user.target.wants/postgresql.service

ls: nu poate accesa „/etc/systemd/system/multi-user.target.wants/postgresql.service”: Nu

un astfel de fișier sau director

# systemctl permite postgresql

[...]

# ls -al /etc/systemd/system/multi-user.target.wants/postgresql.service

lrwxrwxrwx 1 root root 38 Apr 21 16:21 /etc/systemd/system/multi-user.target.wants/

postgresql.service -> /lib/systemd/system/postgresql.service

# starea systemctl postgresql

● postgresql.service - PostgreSQL RDBMS

Încărcat: încărcat (/lib/systemd/system/postgresql.service; activat; prestabilit furnizor:

dezactivat)

Activ: inactiv (mort)

# systemctl start postgresql

# starea systemctl postgresql

● postgresql.service - PostgreSQL RDBMS

Încărcat: încărcat (/lib/systemd/system/postgresql.service; activat; prestabilit furnizor:

dezactivat)

Activ: activ (ieșit) din joi 2016-04-21 16:22:29 EDT; Acum 2 secunde Proces: 6355 ExecStart=/bin/true (cod=exit, status=0/SUCCESS)

PID principal: 6355 (cod=ieșit, stare=0/SUCCES)


Apr 21 16:22:29 kali-rolling systemd[1]: Se pornește PostgreSQL RDBMS... Apr 21 16:22:29 kali-rolling systemd[1]: S-a pornit PostgreSQL RDBMS.

Top OS Cloud Computing la OnWorks: