Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



25.02.2020

Koszty w górę

Zmiany w licencjach VMware
24.02.2020

VPN na nowo

WireGuard w Linuksie
24.02.2020

Wydajność pod kontrolą

Citrix Analytics for Performance
24.02.2020

Zaawansowany backup

Veeam Availability Suite v10
20.02.2020

Serwery Enterprise

OVHCloud stawia na Ryzeny
20.02.2020

Monitory dla biznesu

Newline IP
20.02.2020

Przemysłowe SSD

Dyski Transcend M.2 NVMe
23.01.2020

Google Project Zero

Inicjatywa Google Project Zero
23.01.2020

Ochrona tylko w chmurze

Kaspersky Security Cloud Free

Systemd – więcej niż init

Data publikacji: 21-07-2015 Autor: Grzegorz Kuczyński

Choć Linux jest najszybciej rozwijającym się systemem na rynku, to zgodnie z filozofią systemu UNIX niektóre jego składniki nie uległy zmianie niemal od dwóch dekad. Takim elementem jest proces init, zajmujący się uruchomieniem systemu. Systemd jako pierwszy przełamuje utarty schemat budowy systemu Linux.

Proces init pełni szczególną rolę w systemach GNU/Linux. Gdy komputer jest uruchamiany, bootloader ładuje jądro systemu do pamięci i przekazuje mu sterowanie, jądro z kolei musi uruchomić jakiś proces, gdyż samo jest bez­użyteczne. Tym procesem jest właśnie init. Ponieważ jest pierwszym uruchamianym procesem, otrzymuje PID o numerze 1, co sprawia, iż jest to proces uprzywilejowany, w pewnym sensie tak samo, jak użytkownik z UID równym 0 (root). Co ciekawe, mimo iż init ma możliwości, jakich nie ma żaden inny proces, to wcale z nich nie korzysta. Jego pierwotnym zadaniem jest uruchomienie skryptów startowych, które zazwyczaj są zlokalizowane w katalogach /etc/rc?.d/, te z kolei odpowiedzialne są za uruchamianie usług na zadanym poziomie (tzw. runlevel). Init może zmienić poziom działania, co oznacza wykonanie skryptów z odpowiedniej lokalizacji. Jeżeli zadanym poziomem będzie 0 lub 6, to po wykonaniu odpowiednich skryptów init sam skończy działanie. Proces init wraz ze wszystkimi skryptami i towarzyszącymi im zasadami tworzy pewnego rodzaju system, którego zadaniem jest uruchomienie procesów użytkownika, tzw. userspace. Nie zmienia to faktu, iż jest to zbiór luźno związanych ze sobą skryptów o znacznym poziomie skomplikowania. I jak powszechnie wiadomo, szybkość działania nie jest domeną skryptów.

Działanie systemu w tym zakresie próbowano od dawna usprawnić. Powstał na przykład projekt Upstart zainicjowany przez projekt Ubuntu i zaadaptowany nawet w RHEL, ale zmiany, które wprowadzono, w przypadku systemd poszły o wiele dalej. Obecnie to systemd jest domyślnym procesem init w najważniejszych dystrybucjach, tj. CentOS7 i RHEL7, Debian Jessie i Ubuntu 15.04. Systemd całkowicie zmienia dotychczasowy sposób zarządzania systemem, co pociąga za sobą konieczność przyswojenia nowych umiejętności przez każdego administratora systemu Linux.

> Nowy zakres zadań

Podczas uruchamiania systemu Linux z systemd zaskoczy nas jego szybki start. Jednak nie to było przyczyną, dla której Lennart Poettering postanowił napisać na nowo proces init. Głównym powodem były nowe możliwości, które pojawiły się wraz z wprowadzeniem do jądra Linux takich mechanizmów, jak cgroups i namespaces. Systemd realizuje więc znacznie więcej zadań niż proces init. Jest menedżerem nie tylko usług, ale i wielu komponentów systemu, w tym np. sesji. Lennart nie ukrywa, że czerpał inspiracje z systemu Mac OS i działającego w nim demona launchd. Systemd zajmuje się również montowaniem systemu plików, przechwytywaniem i przekazywaniem logów, zarządzaniem sesjami i użytkownikami, podstawową konfiguracją sieci, synchronizacją czasu, rozwiązywaniem nazw, ustawianiem nazwy hosta, czasu i lokalizacji, a nawet monitorowaniem działających w ramach hosta kontenerów i maszyn wirtualnych. Oczywiście wymienione czynności nie są głównym zadaniem systemd, nadal pozostaje nim zarządzanie usługami. Wciąż dostępne są również stare narzędzia do zarządzania wymienionymi powyżej czynnościami, jednak w przyszłości możemy spodziewać się, że systemd przejmie ich zadania na stałe i być może zastąpi takie demony jak inetd, acpid, udev, syslog, watchdog, cron i atd.

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"