Terminal pogryzł człowieka: systemd
Choć starych drzew się nie przesadza i wbrew zasadzie „po co zmieniać [[Init|sysvinit]] skoro działa”, otwarty świat poszedł na współpracę z demonizowanym [[systemd]]. Zwykłym użytkownikom nie pozostał nic innego, jak dostosować się do zmian w krajobrazie i odnaleźć się w zmodernizowanej nomenklaturze zawiadywania usługami linuksowymi i nie tylko. A jest to proces nieuchronny, gdyż 98% nowych dystrybucji korzysta już ze wspomnianego systemd. Nawet nadchodzące Ubuntu 16.04 LTS.
- możliwość równoległego uruchamiania usług,
- uruchamianie zadań za pomocą socketów D-Bus,
- uruchamianie usług na żądanie,
- śledzenie działania procesów przy pomocy grup kontrolnych (cgroups),
- wsparcie dla zachowywania i przywracania stanu usług w systemie,
- utrzymanie punktów montowania i automatycznego montowania w systemie,
- oparta na zależnościach logika kontroli usług,
- działa jako zamiennik SysVinit.
Do kontrolowania zadań służy narzędzie systemctl i to na nim skupimy się dzisiaj. Jak bowiem na język systemd przełożyć większość poleceń którymi posługiwaliśmy się do tej pory, aby obsłużyć usługi i komponenty systemowe? Nieodzowna można stać się skrócona ściąga:
| zadanie | sysvinit | systemd |
|---|---|---|
| zadanie | sysvinit | systemd |
| Uruchom usługę | service example start | systemctl start example |
| Zatrzymaj usługę | service example stop | systemctl stop example |
| Zrestartuj usługę (Stop - Start) | service example restart | systemctl restart example |
| Przeładuj konfigurację usługi | service example reload | systemctl reload example |
| Status usługi | service example status | systemctl status example |
| Zrestartuj usługę jeżeli działa | service example condrestart | systemctl condrestart example |
| Pozwól na start usługi przy uruchamianiu systemu | chkconfig example on | systemctl enable example |
| Zabroń startu usługi podczas uruchamiania systemu | chkconfig example off | systemctl disable example |
| Sprawdź czy usługa jest uruchamiana wraz ze startem systemu | chkconfig example | systemctl is-enabled example |
| Lista usług uruchamianych bądź nie wraz ze startem systemu | chkconfig --list | systemctl list-unit-files --type=service |
| Informacje o konkretnej usłudze | chkconfig example --list | systemctl show example |
| Dodaj i skonfiguruj usługę | chkconfig example --add | systemctl edit --full example |
To większość podstawowych operacji które zwykle przeprowadzamy manipulując usługami systemowymi. Nie wyczerpuje to możliwości systemd / systemctl i jeżeli ktoś chce doskonalić swe umiejętności dalej, powinien zapoznać się z pełniejszym rozpisaniem opcji systemd.