Systemd – poradnik

Nowe narzędzie startowych Systemd jest już szereg dystrybucji jako alternatywa dla Upstart lub w zapylonym sysvinit. Niektóre sysvinit- Dorobkiewicz i rozkłady znajome polecenia i sztuczki działają poprzez środki zgodności pod Systemd. Aby skorzystać z możliwości Systemd prawidłowo, Jednak administrator powinien również wiedzieć, narzędzia i parametry Systemd.

Najważniejszym narzędziem do interakcji z Systemd Command programu linia systemctl. W przypadku zmian w konfiguracji lub wznowieniu usług tła wymaga uprawnień roota; Niektóre rozmowy diagnostyczne muszą również wykonywać proste użytkownikowi. Który wywołuje program bez żadnych parametrów, uzyskać listę „jednostki”, wykonać przy starcie wykorzystywane zadań. Oprócz integracji i testowania tomów obejmuje usługi początek tła lub konfiguracji sprzętu.

W domyślnej instalacji Fedory 16 Wykazy Systemctl sześćdziesiąt aktywnych jednostek w dziesięciu różnych odmian. Wśród najważniejszych jednostek usługowych. Dbają usług tle, dystrybucja sysvinit zazwyczaj rozpoczyna się o skryptach startowych. Uchwyt- i jednostki uchwyt samochodowy powiązać systemy plików. Gniazdko Jednostki legen Gniazda; zaczną Zależności niebezpośrednie jedną jednostką, wkrótce dostęp do gniazda. (Szczegółowe wyjaśnienie pojęcia jednostkowej wyrobu w pierwszej części.)

Można użyć parametru pouczać Systemctl, wymienić tylko jednostki określonego rodzaju, o każdy jednostki usługowe:

systemctl --type = usługa

Systemctl automatycznie przekierowuje swoją moc dalej do mniej; Za pomocą klawiszy strzałek jest nie tylko wysoki- i przewiń w dół, ale także w prawo, bo czasami ukryć więcej szczegółów.

Uruchamianie odbywa się Systemd Jednostek. Które są dostępne w różnych formach, Systemctl można wymienić osobno. VergrößernW pierwszej kolumnie wyjściu nazwa urządzenia jest. Druga kolumna wskazuje, czy Systemd może załadować definicji jednostki, trzeci, czy urządzenie jest aktywne. Nieaktywne - zainstalowany, ale nieprzeznaczonych do Start - Jednostki są tylko program z przełącznikiem -a z; to samo odnosi się do jednostek, Nie mógł załadować system startowy o powodu błędu w pliku jednostkowej.

Kolumna cztery zapewnia aktualny stan. „zakończony” wyświetlacze, że proces został zakończony bez błędów. Jest to na przykład miejsce w przypadku usług, biegu w tle - na przykład w jednostce usługowej, wykonuje powody zgodnością znane sysvinit pliku /etc/rc.local przy starcie systemu. „bieganie” stoi na usługi, uruchomiony w tle: cron, dbus, sshd, udev i innych.

Piąta kolumna jest opis Jednostka. W obliczu „LSB” lub „SYSV” rozpocznie, Systemd generowane automatycznie jednostkę, Tradycyjne Skrypt startowy odpracować.

W przypadku usług, że nie można uruchomić albo awarii uległy później, w czwartej kolumnie „powiodło” - podświetlone na czerwono, pod warunkiem, że wyjściowy kolor konsola dominuje. Das status-Komenda sytemctl to czas odwołania i zwrócony kod błędu programu, na przykład

systemctl NetworkManager.service statusu

Komenda status Systemctl dostarcza czas rozbiórki i kod błędu rozbił usługi. W świeżo zainstalowanych Fedorze 16 wymienia Systemctl 60 jednostki usługowe na. Wśród nich są procesy logowania dla textconsole (agetty), ponieważ w przeciwieństwie do sysvinit obsługuje Systemd nich za pośrednictwem jednostek usługowych jako normalna usługa w tle.

jednostki …

Pliki konfiguracyjne do wygenerowania Jednostek, Systemd przynosi, znajdują się w / lib / Systemd / System /; Jednak sam plik / etc / Systemd / system / nadpisania.

Definicja jednostki są zwykle znacznie krócej niż klasyczne Sys V skryptów startowych. Plik długo jednostka za usługę dla sieci synchronizacja czasu przez NTP jest tylko kilka linii:

[Jednostka]
Opis usługi Network Time =

[Usługa]
ExecStart = / usr / bin / ntpd -n -u ntp:ntp -g

[zainstalować]
WantedBy = multi-user.target

Wszystkie pliki zawierają jednostkowe przez [Unit] wprowadzony odcinek z ogólnymi ustawieniami, łącznie z krótkim opisem. sekcja [Service] śledzić informacje specyficzne dla usług; NTP jest tylko komenda, uruchomić usługę. Jeśli jest to konieczne specjalnego polecenia do zatrzymania, Może to mieć ExecStop-zestaw instrukcji. W demona NTP, że jest niepotrzebna, ponieważ może on zakończyć się w dobrej tradycji Unix sygnałem SIGTERM; wysyłanie Systemd wypowiedzenia, jeśli żadna inna komenda jest określona.

sekcja [Install] zawiera instrukcje, Systemd w (od-)instalacja interpretować; oznacza wpis w NTP Przykładzie, że synchronizacja czasu na jazdę tarczy „Multi-User” na miano.

… i cele

Jednostki docelowe oferują koncepcję, który przypomina poziom pracy z sysvinit; Ze względu na kompatybilność rozumie Systemd nawet nazwę prowadzony na poziomie do zwalczania celów równoważnych. Jak zwykle, jest zatem możliwe w Fedorze 16 jądro w parametrze ładującego single dać; Systemd następnie steruje rescue.target na, minimalna, Oferuje trybie pojedynczego użytkownika odpowiedniego środowiska.

również 3 prace, w tryb wielu użytkowników bez graficznego menedżera logowania do kontrolowania. Ten tryb jest przedstawiony na Systemd przez jednostkę docelową wieloużytkownikowej. Um multi-user.target aby stać się standardem, twierdzi Linki:

ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

Jeśli graficzny menedżer logowania później jednak ponownie uruchomić domyślnie, mogą być w taki sam sposób, graphical.target podniesienie poziomu docelowego; jest to równoważne z poziomem roboczym 5 Fedora i openSUSE. Jako alternatywa dla starych nazw run szczebla może dać do jądra i nazwy wyjściowego jednostki docelowej:

systemd.unit = multi-user.target

Do sterowania inną docelową w operacji, służy isolate-Komenda Systemctl:

systemctl izolat rescue.target

Zmiana w celu ratowania jest interesujący dla zadań administracyjnych, bo to Systemd kończy wszystkie loginy i usług działających w tle, tak, że tylko usługi systemowe run - takie jak monitorowanie woluminów logicznych (lvm2 monitorów). Czasami mają zostać zamknięty z powodu remontu, co z trybu awaryjnego emergency.target osiągnąć sukces; tylko nadal działa wątki jądra.

popyt

Das show-Komenda Systemctl zapewnia jedne z wewnętrznych jednostek operacyjnych oraz prac wykonywanych na nich. Dzięki niemu można również wyjście, Które jednostki Systemd w prowadzeniu wielu użytkowników połączeń docelowych:

systemctl pokazują -p chce multi-user.target

W numerze można znaleźć inne cele - około multi-user.target basic.target. To z kolei zależy od sysinit.target z, das local-fs.targetzakłada. Te trzy cele dbają o podstawowej konfiguracji systemu; te obejmują integrację systemu plików i początek udev. Aby określić funkcję podstawowego celu plik konfiguracyjny Urządzenie zawiera następujące informacje multi-user.target:

Wymaga = basic.target
Po = basic.target

przez After-Określanie dowiaduje Systemd, że nie tylko zadzwonić cel, ale musi czekać na jego pełnego uruchomienia. następny Requires istnieje również słabsze Wants. W określonych jednostkach nazywa się również Systemd, ale również ustawia wyjścia kontynuuje, jeśli jeden z nich nie chce się uruchomić.

Ten rodzaj uzależnienia może być określony poprzez linki do plików jednostkowych, które są tworzone w katalogu, którego nazwa składa się z nazwy jednostki docelowej oraz przymocowanego .wants, o

.../systemd/system/multi-user.target.wants/

Ausknipsen

Kto chce się wyłączyć jednostki usługowej ntpd, W ten sposób system w czasie rozruchu nie jest zsynchronizowany poprzez NTP, można wykonać następujące polecenie:

systemctl wyłączyć ntpd.service

Tutaj Systemctl nic nie robi, Aby usunąć link do pliku jednostka usługowa w katalogach Wants; podczas aktywacji usługi enableNarzędzie tworzy link. Oba mogą również zrobić to ręcznie, Jednostki na zamówienie (z)pole wyboru, aby umożliwić.

Jeśli usługa nie jest Unit, ale rozpoczął tradycyjny skrypt startowy, Systemctl przekazuje żądanie do aktywacji programu chkconfig więcej. Fedora jest o sprawie, jeśli zainstalowany Apache i aktywowany poprzez Systemctl.

Das (z)Aktywacja usługi wpływa do czasu ponownego uruchomienia lub zamknięcia systemu. Poniższe polecenie uruchamia usługę raz natychmiast:

systemctl rozpocząć ntpd.service

parametr stop kończy służbę. polecenie status dostarcza informacji o urządzeniu Systemctl, w tym ich aktualny stan i nazwę pliku, który ma być określony. Ponadto, kwestie programowe, czy i jak długo usługa jest już uruchomiony i procesy, które należą do niego; główny proces ma Systemctl to wyraźnie wyklucza.

O przynależności do grupy mogą być postrzegane, do której należy serwis procesem.
Przynależność do skali Systemd grup kontrolnych może być dość łatwo zorientować się,, które procesy zostały uruchomione z których usług. Skala Systemd cgroup hierarchii daje komendę systemd-cgls z; Alternatywnie PS oznacza przynależność do grupy:PS xaw EO PID,args,cgroup

abgesoffen

W przypadku wystąpienia problemów z uruchamianiem, gdzie wydaje Systemd bezpośrednio lub pośrednio zaangażowane, należy podać do jądra, następujące parametry w programie rozruchowym:

systemd.log_target = kmsg systemd.log_level = debug

Systemd następnie zapisuje szczegółowe informacje debugowania na konsoli i w buforze komunikatów jądra, do ciebie później dmesg można przeczytać.

Systemd obejmuje narzędzi wiersza poleceń poweroff, halt i reboot; Alternatywnie, można zamknąć systemu na tych samych warunkach Systemctl poleceń lub restartu. Restart można także uzyskać za pomocą polecenia

systemctl kexec


narzędzie „Systemd-cgls” Grupy kontrolne i związane z nimi procesy mogą wyświetlenia.
Po zatrzymaniu wszystkich usług Systemd instruuje jądrze, Aby rozpocząć wcześniej skonfigurowane jądro bezpośrednio - bez BIOS testu i ładującym. Jeśli nie skonfigurowano jądro kexec, przeprowadzono normalny restart.

Ranholas

W typowych zadań administracyjnych dostać tylko usługę- i jednostki docelowe w bezpośrednim kontakcie; pozostałe jednostki są szczególnie ważne dla konkretnych funkcji Systemd czy podczas startu wszystkie te rzeczy, wokół którego w sysvinit- wziął skrypty pielęgnacji i rozkłady dorobkiewicz dystrybucji specyficznych. Wśród nich jest włączenie podany w pliku / etc / fstab systemu plików, aktywowanie pamięci wymiany lub sporadyczne czyszczenie się z katalogu / tmp.

Dla niektórych z tych prac Systemd przynosi funkcję automatycznego montowania, pseudo-zamontować punkty mogą ubiegać się o skonfigurowany w pliku / etc / fstab systemu plików; jednak są one faktycznie zaangażowany jedynie przy pierwszym dostępie. Dodawanie „comment=systemd.automount” w / etc / fstab zamienia dowolny punkt montowania w samochodzie punkt montowania. Może to przyspieszyć proces uruchamiania i jest przydatna na przykład do udziałów sieciowych, Jeśli połączenie sieciowe przez zarządcę sieci jest ustawiona tylko przy logowaniu użytkownika.

Analiza Przyczyną

Można Systemctl do Systemd do transmitowania sygnału powołanie, nie znając identyfikator procesu usługi. Kolejne miejsca dowodzenia Rsyslogd w trybie debugowania; To jest zakończony, Dzwoniąc komendę po raz drugi:

systemctl zabić --signal = USR1 rsyslogd.service

Jeśli pominąć wskazania sygnału mają być przekazywane, wysyła Systemctl normalny sygnał termin, przy czym wszystkie te procesy powinny kończyć, przynależności do służby.

Systemd przynosi program, wizualizację procesu uruchamiania; Ciemne czerwone obszary wskazują na fazę rozruchu usług od. Vergrößern
polecenie systemd-analyze wyjścia, Jak długo uruchomić system i ile czasu to kosztem jądra, Initramfs pominięte, a środki z takich środowisk według Systemd. polecenie systemd-analyze blame czasy rozpoczęcia poszczególnych jednostkach. program dla bliższej analizie procesu rozruchowego wygenerować plik SVG, die Units start der wizualizowane:

Systemd przeanalizować wykres > plot.svg

Czasami można się więc do śledzenia jednostek, który mocno pociągnąć uruchomienie długości. Niektóre informacje dotyczące właściwej interpretacji tych wyników zapewnia siódmą część serii blogu „Systemd dla administratorów”. Poprzednie dwanaście nici seria obejmuje również wiele innych wskazówek i podpowiedzi dla praktycznego wykorzystania przez Systemd:

  1. Weryfikacja Bootup
  2. Usługa, która jest właścicielem, który przetwarza?
  3. Jak przekonwertować SysV Init skrypt do Systemd plik Service?
  4. zabijanie usługi
  5. Trzy poziomy „Poza”
  6. Zmienianie Roots
  7. Winę gier
  8. Pliki nowej konfiguracji
  9. Na / etc / sysconfig i / etc / default
  10. instancja usługi
  11. Konwersja inetd Services
  12. Zabezpieczanie usług

o Lennart Poettering stronę występują również liczne artykuły z tła dla init. im trzeci „Systemd Aktualizacja statusu” Poettering także wymieniono niektóre z innowacji niedawno, które zostały włączone do ostatniego półtora roku w Systemd.

 

tych: http://www.heise.de/open/artikel/Das-Init-System-Systemd-Teil-2-1563461.htmL