SystemD wprowadza koncepcję jednostek systemowych w Linux. Za e.G., jednostka serwisowa, jednostka docelowa, jednostka montażowa itp. są typami jednostek z rozszerzeniem pliku jako .praca, .cel, .zamontować odpowiednio. Plik konfiguracyjny reprezentujący te jednostki są przechowywane w katalogach:/usr/lib/systemd/system/,/run/Systemd/System/,/etc/Systemd/System/
Wcześniejsze wersje Red Hat Enterprise Linux (RHEL) użyły skryptów initin. Skrypty te zostały napisane w Bash i znajdowały się w katalogu „/etc/rc.d/init.D/". Są to skrypty używane do kontrolowania usług i demonów. Później w RHEL 7, wprowadzono jednostki serwisowe w celu zastąpienia skryptów init. Fedora, która jest wystającym systemem operacyjnym Red Hat Enterprise Linux, zaczęła korzystać z systemu z Fedora w wersji 15.
Jednostki serwisowe mają .Rozszerzenia pliku usługi i mają podobne role jak skrypty init. „SystemD” korzysta z narzędzia „SystemCTL” do zarządzania usługami systemowymi. Można go używać do przeglądania, uruchamiania, zatrzymywania, ponownego uruchomienia, włączenia lub wyłączania tych usług.
Zalety systemu nad systemem init init
Co obejmiemy?
W tym przewodniku dowiemy się o zarządzaniu procesami systemowymi. Zobaczymy, jak włączyć i wyłączyć usługi uruchamiania w BOOT i jak wykonywać operacje serwisowe, takie jak Start, Stop, Restart itp. Wykonaliśmy poniższe ćwiczenia na stacjach roboczych Fedora 30, które będą najbardziej miało zastosowanie do innych systemów Linux.
Wypisz usługi uruchamiania w BOOT w Fedora Linux
Stara metoda SYSV korzysta z usługi i CHKCONFIG Polecenia do zarządzania Usługami. Te polecenia są teraz zastąpione poleceniami systemowymi, takimi jak Systemctl. Zobaczmy niektóre operacje „SystemCTL” na różnych usługach w Linux.
1. Aby wymienić wszystkie usługi działające w twoim systemie, wraz z ich stanami (włączonymi lub wyłączonymi), użyj poniższego polecenia:
$ sudo systemCtl List-Unit-Files --Type = Service
Usługa może mieć trzy stany: 1) włączone 2) wyłączone 3) statyczne
Włączona usługa ma symbol w .chce katalogu, podczas gdy usługa niepełnosprawna nie ma. Usługa statyczna nie ma sekcji instalacji w odpowiednim skrypcie inicjowym. Nie można go włączyć ani wyłączyć.
Aby uzyskać więcej szczegółów na temat Usług, należy użyć poniższego polecenia.
$ sudo systemCtl -at Service
Podsumowanie powyższych nazw kolumn:
Jednostka - Nazwa jednostki SystemD (tutaj nazwa usługi).
Załaduj - określ, czy urządzenie SystemD zostało poprawnie załadowane, czy nie.
Active - State of the Unit (tutaj usługa).
Sub - substan aktywacji jednostkowej.
Opis - krótka informacja jednostki.
Możemy również użyć następującego polecenia:
$ sudo ls/lib/systemd/system/*.praca
Lub
$ sudo/etc/systemd/system/*.praca
„/Etc/inittab” jest teraz zastąpiony przez „/ETC/Systemd/System/” w systemie. Ten katalog zawiera teraz symbolizny do plików w katalogu „/Usr/lib/systemd/system". Skrypty init są umieszczane w „/usr/lib/lib/systemd/system”. Usługa musi być zmapowana na „/ETC/Systemd/System/” za uruchomienie go w rozruchu systemowym. W tym celu polecenie SystemCtl jest używane w Fedorze i innych najnowszych systemach Linux.
2. Zobaczmy poniższy przykład włączenia usługi HTTPD:
$ sudo systemctl włącz HTTPD.praca
Możemy również użyć poniższego polecenia, aby filtrować wszystkie włączone usługi:
$ sudo Systemctl List-Unit-Files | GREP włączony
lub użyj polecenia:
$ sudo systemctl | Grep bieganie
3. Aby wymienić wszystkie aktywne (działające) usługi, użyj polecenia:
$ sudo Systemctl -t Service --state = Active
4. Aby zobaczyć, które usługi są włączone do automatycznego uruchamiania w rozruchu systemowym, możemy również użyć następującego polecenia:
$ sudo systemCtl List-Unit-Files --type = service --state = enabled --all
5. Podobnie możemy sprawdzić usługi wyłączone, aby zacząć od rozruchu z poleceniem:
$ sudo systemCtl List-Unit-Files --Type = service --state = niepełnosprawny --all
6. Możemy również zobaczyć, o której godzinie każda usługa przyjmuje podczas startupu:
$ sudo systemd-analize winę
7. Aby sprawdzić, czy usługa jest włączona dla Autostart w rozruchu, użyj polecenia:
$ sudo systemctl IS-obserwowany xxx
Umieść nazwę usługi zamiast xxx. mi.G., W przypadku usługi HTTPD poleceniem będzie:
$ sudo systemCtl Is-obsługuje httpd.praca
Lub
$ sudo systemCtl Is-obsługuje httpd
8. Aby sprawdzić status usługi, użyj polecenia:
$ sudo Systemctl Status xxx.praca
Na przykład, aby sprawdzić status usługi SSHD:
$ sudo Systemctl Status Sshd.praca
9. Aby sprawdzić, czy usługa działa, czy nie, po prostu uruchom poniższe polecenie:
$ sudo systemctl is-aktywny xxx.praca
Na przykład, aby sprawdzić status Telnet:
$ sudo systemctl is-aktywny telnet.praca
10. Aby rozpocząć usługę martwą lub nieaktywną, użyj polecenia:
$ sudo systemctl start xxx.praca
Na przykład, aby rozpocząć usługę SSHD:
$ sudo systemctl start sshd
11. Aby wyłączyć usługę w rozruchu systemowym
$ sudo systemctl wyłącz xxx
Na przykład, aby wyłączyć usługę HTTPD:
$ sudo systemctl wyłącz httpd.praca
Lub
$ sudo systemctl wyłącz httpd
12. Aby zrestartować działającą usługę
$ sudo systemctl restart xxx.praca
Aby zrestartować usługę SSHD, użyj polecenia:
$ sudo systemctl restart sshd
Jeśli usługa jeszcze się nie działa, zostanie uruchomiona.
13. Aby ponownie załadować usługę działającą
$ sudo systemCtl Reload xxx.praca
Na przykład ponownie załaduj usługę HTTPD za pomocą:
$ sudo systemCtl RELOOD HTTPD.praca
To polecenie ponownie załaduje konfigurację określonej usługi. Aby ponownie załadować plik konfiguracyjny jednostki SystemD, potrzebujemy polecenia:
$ sudo systemctl demon-powód
14. Aby wymienić wszystkie zależności usługi:
$ sudo systemCtl zależność od listy xxx.praca
W przypadku usługi HTTPD poleceniem będzie:
$ sudo systemCtl zależność od listy httpd.praca
Wniosek
W tym przewodniku widzieliśmy różne sposoby zarządzania usługami z systemem, takie jak umożliwianie usług w czasie uruchamiania, rozpoczynając i zatrzymywanie itp. Jeśli przyzwyczajono Cię do polecenia serwisowego Old Sysvinit, powinieneś przełączyć się na systemD, ponieważ ma on więcej funkcji i jest to domyślny system init w nowszych wersjach Fedory, Rhel i większości innych głównych dystrybucji Linux.