Targety

Targety (ang. target – cel) to po prostu logiczne zbiory unitów. To specjalny typ unitu z rozszerzeniem .target. Niektóre targety są odpowiednikiem runleveli znanych z SysVinit, są jednak nazwane a nie ponumerowane. Targety są używane do wykonywania serii unitów. Jest to zazwyczaj prawda gdy chodzi o bootowanie systemu do konkretnego  poziomu operacyjnego (runlevelu o konkrenym numerze) ze wszystkimi wymaganymi usługami uruchomionymi w tym poziomie. Niektóre targety dziedziczą wszystkie usługi z innych targetów i dodają do nich swoje. Systemd zawiera wiele predefiniowanych targetów, które opisuje tabela poniżej wraz z odpowiednikami w SysVinit.

Target SysVinit Run Level Opis
halt 0 Zamyka i zatrzymuje system.
poweroff lub runlevel0 0 Zamyka i wyłącza z zasilania system.
shutdown  0 Zamyka system.
rescue lub runlevel1 1, s, lub single Target Single-user przeznaczony do czynności administracyjnych i odzyskiwania systemu. Lokalny system plików jest podmontowany. Część niezbędnych usług jest uruchomiona ale sieć jest odłączona.
multi-user lub runlevel2|3|4  3 Target multi-user z pełną obsługą sieci ale bez GUI.
graphical lub runlevel5  5 Target multi-user z pełną obsługą sieci oraz GUI.
reboot lub runlevel6  6 Zamyka i uruchamia ponownie system.
default  3 lub 5
Domyślny boot target zlinkowany z targetem multi-user.target i graphical.target.
emergency  – Uruchamiany jako powłoka awaryjna. Główny system plików (root) jest podmontowany w trybie tylko do odczytu, inne systemy plików nie są montowane. Sieć i inne usługi są wyłączone.
hibernate  – Wprowadza system w stan hibernacji zapisując stan systemu na twardym dysku i wyłączając zasilanie. Gdy zasilanie powraca system startuje z poziomu zapisanego na twardym dysku stanu.
suspend  – Podobnie do hibernacji ale stan systemu zapisywany jest do pamięci operacyjnej, której nie jest odłączane zasilanie.
hybrid-sleep  – Wprowadza system w stan hibernacji  i stan uśpienia.

 

Lista wszystkich wczytanych i aktywnych targetów:
# systemctl -t target

 

Zarządzanie targetami.

Wyświetlanie i ustawianie domyślnego boot targetu:
# systemctl get-default

Zmiana domyślnego boot targetu na muli-user.target:
# systemctl set-default multi-user.target

Przełączenie na multi-user target (odpowiednik run levelu 3):
# systemctl isolate multi-user.target

Przełączenie na garficzny target (odpowiednik run levelu 6):
# systemctl isolate graphical.target

Zamknięcie systemu:
# systemctl halt

Zamknięcie systemu i wyłączenie zasilania:
# systemctl poweroff

Reboot systemu:
# systemctl reboot

Wprowadzenie systemu w stan hibernacji i uśpienie:
# systemctl hybrid-sleep

Przełączenie systemu w stan zgodny z run level 3:
# systemctl isolate runlevel3.target

 

Używanie komendy shutdown.

Komenda shutdown używana jest do zatrzymywania systemu, wyłączania zasilania lub rebootowania systemu. Polecenie wysyła komunikat ostrzegawczy wszystkim zalogowanym użytkownikom, wyłącza możliwość logowania i oczekuje określony czas na wylogowanie się użytkowników, a dalej  wyłącza wszystkie usługi i system do określonego targetu.

Natychmiastowe zamknięcie systemu i reboot systemu:
# shutdown -r now

Rozpoczyna zamykanie systemu i wyłączenie zasilania po 5 minutach:
# shutdown -h 5

Rozpoczyna zamykanie systemu i jego zatrzymanie po 10 minutach:
# shutdown -H 10

Rozpoczyna zamykanie systemu i wyłączenie zasilania po 20 minutach:
# shutdown -P 20

 

Używanie komend halt, poweroff i reboot.

Komendy te są dostępne w RHEL7 tylko z powodu wstecznej kompatybilności, rekomendowane jest korzystanie z komendy systemctl.

Stara komenda Odpowiednik shutdown
# halt   # shutdown -H now
# poweroff # shutdown -P now
# reboot # shutdown -r now

 

Statystyki wydajności bootowania systemu.

Wyświetlenie całkowitej ilości czasu potrzebnej do załadowania systemu (kernel, initrd i przestrzeń użytkownika):
# systemd-analze

Czas jaki zajęło każde zadania w czasie procesu bootowania systemu:
# systemd-analyze blame

Leave a Reply

Your email address will not be published.