Historia „init” i „systemd”, dlaczego „init” wymagał zastąpienia „systemd” w Linux

Historia „init” i „systemd”, dlaczego „init” wymagał zastąpienia „systemd” w Linux

Jestem subskrybowany z kilkoma listami mailingowymi związanymi z różnymi dystrybucjami Linux i aplikacjami, aby informować się o tym, co się dzieje. Jakie są nowe błędy? Jakie są wydane łatki? To, czego oczekuje się w następnej wersji? i wiele innych rzeczy. Obecnie lista mailingowa jest mocno wypełniona „Wybierz swoją stronę w Linux Divide”, głównie na liście mailingowej Debiana.

SystemD zastępuje init
O czym jest „Wybierz swoją stronę w Linux Divide”, o czym polega?

w tym Demon zostanie zastąpiony Dememonem Systemd w niektórych dystrybucjach Linux, podczas gdy wiele z nich już to zaimplementowało. To jest/będzie tworzyć ogromną lukę między tradycyjnym strażem UNIX/Linux a nowym Linux Guard - programistami i administratorami systemowymi.

W tym artykule omówimy i rozwiążemy po wszystkich zapytaniach jeden po drugim.

  1. Co to jest inicjowanie?
  2. Co to jest systemd?
  3. Dlaczego init musiał zostać wymieniony?
  4. Jakie funkcje będą posiadać systemd.

Co jest w środku?

W Linux, w tym jest skrótem do inicjalizacji. w tym jest procesem demona, który rozpoczyna się, gdy tylko komputer się rozpocznie i kontynuuje, aż do wyłączenia. Intrial instalujący jest pierwszym procesem, który rozpoczyna się, gdy komputer się biega, co czyni go rodzicem wszystkich innych uruchomionych procesów bezpośrednio lub pośrednio, a zatem zazwyczaj jest przypisywany ”PID = 1".

Jeśli w jakiś sposób w tym Daemon nie mógł się uruchomić, nie zostanie uruchomiony proces, a system osiągnie etap o nazwie „Panika jądra". INIT jest najczęściej określany jako System v Init. System V jest pierwszym komercyjnym systemem operacyjnym UNIX zaprojektowanym i zastosowanie inicjów w większości dzisiejszych rozkładów Linux jest identyczne z System V OS z kilkoma wyjątkami, takimi jak Slackware przy użyciu BSD w stylu BSD i gentoo za pomocą niestandardowych inicjów.

Z dłuższego czasu odczuwano potrzebę zastąpienia inicjantów na coś doskonałego i od czasu do czasu opracowano kilka alternatyw, z których niektóre stały się natywnym zastępcą inicjatury dystrybucji, z których niektóre to:

  1. Dorobkiewicz - Demon zastępczy init zaimplementowany w Ubuntu GNU/Linux i zaprojektowany do uruchamiania przetwarzania asynchronicznego.
  2. Epoka - Demon zastępczy init zbudowany wokół prostoty i zarządzania usług.
  3. Mudar - Demon zastępczy init napisany w Pythonie, zaimplementowany na Pardus GNU/Linux i zaprojektowany do uruchamiania przetwarzania asynchronicznego.
  4. Systemd - Demon zastępczy init zaprojektowany do uruchamiania procesu równolegle, zaimplementowany w wielu standardowych rozkładach - Fedora, OpenSuse, Arch, Rhel, Centos itp.

Co to jest systemd?

A Systemd to demon zarządzania systemem nazwany z konwencją Unix, aby dodaćD„Na końcu demona. Że można je łatwo rozpoznać. Początkowo został wydany na podstawie licencji publicznej GNU, ale teraz wydania są wydawane na podstawie licencji publicznej GNU mniejszej. Podobnie jak init, SystemD jest rodzicem wszystkich innych procesów bezpośrednio lub pośrednio i jest pierwszym procesem, który rozpoczyna się od rozruchu, stąd zwykle przypisywany „”PID = 1".

A Systemd, może odnosić się do wszystkich pakietów, narzędzi i bibliotek wokół demona. Został zaprojektowany w celu przezwyciężenia niedociągnięć init. Sama to procesy tła, które mają równolegle uruchamiać procesy, zmniejszając w ten sposób czas rozruchu i koszty obliczeniowe. Ma wiele innych funkcji w porównaniu z inicjantem.

Dlaczego wymagano zastąpienia inicj?

Proces inicjowania rozpoczyna się seryjnie i.mi., Jedno zadanie rozpoczyna się dopiero po zakończeniu ostatniego uruchomienia zadania i zostało załadowane do pamięci. To często spowodowało opóźniony i długi czas uruchamiania. Jednak SystemD nie został zaprojektowany z myślą o prędkości, ale do starannego wykonania rzeczy, które z kolei unikają wszystkich niepotrzebnych opóźnień.

Cechy systemu
  1. Czysty, stanowy i wydajny projekt.
  2. Prostszy proces rozruchu.
  3. Równoczesne i równoległe przetwarzanie podczas rozruchu.
  4. Lepszy API.
  5. Prosta składnia jednostki.
  6. Możliwość usuwania opcjonalnych komponentów.
  7. Niskie ślady pamięci.
  8. Ulepszona technika wyrażania zależności.
  9. Instrukcja inicjalizacji napisana w pliku konfiguracji, a nie w skrypcie powłoki.
  10. Skorzystaj z gniazda domeny unix.
  11. Planowanie zadań za pomocą liczników kalendarza systemu Systemd.
  12. Logowanie zdarzeń z Journald.
  13. Wybór zdarzeń systemu rejestrowania z systemem, a także Syslog.
  14. Dzienniki są przechowywane w pliku binarnym.
  15. Stan SystemD może zostać zachowany tak, aby został wywołany później w przyszłości.
  16. Proces śledzenia za pomocą Cgroup Kernel, a nie PID.
  17. Logowanie użytkowników zarządzane przez SystemD-Logind.
  18. Lepsza integracja z GNOME w celu interoperacyjności.
BottleCks Systemd
  1. Wszystko w jednym miejscu.
  2. Nie standard POSIX.

Integracja systemu i dystrybucji

Rozkład Linuksa Integracja
Fedora Tak, pierwsze dystrybucja do przyjęcia systemu
Łuk Tak
Czerwony kapelusz Tak
Centos Tak
Debian Tak, Debian 8 Codename Jessie będzie domyślnie mieć systemd
Gentoo Tak, ale trzeba pobrać, zainstalować i skonfigurować stronę za pomocą niestandardowego initin
OpenSuse Tak
Luźny Nie (choć do tej pory nie został przyjęty w Slackware, Patric Volkerding nie wykazał żadnych wskazówek, czy zostanie przyjęty, czy nie)
Ubuntu Tak, należy zainstalować i skonfigurować z uptream.
Spór

Linus Torvalds, główny architekt jądra Linux, odczuwa postawę kluczowego programistę SystemD wobec użytkowników, a raporty o błędach nie wydaje się OK. Doniesiono również, że filozofia SystemD jest dziwna i jest obcą sposobem kontrolowania procesów systemowych. To samo zostało zarejestrowane od Patric Volkerding i innych znaczących użytkowników i programistów Linux, a także na forum online, czas na czas.

SystemD vs Init

Cechy w tym Systemd
Zależność dbus - obowiązkowa NIE Tak
Aktywacja oparta na urządzeniu NIE Tak
Konfiguracja zależności urządzenia z UDEV NIE Tak
Aktywacja oparta na timer Cron/At Prawnie zastrzeżony
Zarządzanie kwotą NIE Tak
Automatyczna obsługa uzależnienia od usług NIE Tak
Zabija przetwarzanie użytkowników podczas wylogowania NIE Tak
Zarządzanie zamiany NIE Tak
Integracja Selinux NIE Tak
Obsługa zaszyfrowanego dysku twardego NIE Tak
Ładowanie modułu statycznego Kernle NIE Tak
GUI NIE Tak
Wymień wszystkie procesy dziecięce NIE Tak
SYSV kompatybilny Tak Tak
Interaktywne uruchamianie NIE Tak
Przenośne do non x86 Tak NIE
Adoptowane Kilka dystrybucji Kilka dystrybucji
Uruchamianie usług równoległych NIE Tak
Limit zasobów na usługę NIE Tak
Łatwy rozszerzalny skrypt startupowy Tak NIE
Oddziel plik kodu i konfiguracji Tak NIE
Automatyczne obliczenia zależności NIE Tak
Rażony debugowanie Tak NIE
Wersja Nie dotyczy V44+
Rozmiar 560 kb Nie dotyczy
Liczba plików 75 plików 900 plików + glib + dbus
Linie kodu - LOC 15000 (ok.) 224000 (ok.) (Kody INC, komentarze i biała przestrzeń) 125000 (ok.) (Kod akcji)

Wniosek

Wszystko działające jak PID = 1 nie może pękać, nie może być bałagan i musi być kontrolowane przez użytkowników skutecznie i wydajnie. Wielu użytkowników uważa, że ​​zastąpienie IIT dla SystemD jest niczym więcej niż na nowo odkrywaniu koła jako efektem ubocznym Linuksa. Ale to jest różnorodna natura Linuksa. Dzieje się tak, ponieważ Linux jest tak potężny. Zmiana jest dobra i musimy to docenić, jeśli tak jest nie bez powodu.

To wszystko na teraz. Będę tu ponownie z kolejnym interesującym artykułem, które ludzie pokochasz. Do tego czasu bądź na bieżąco i podłączony do Tecmint. Nie zapomnij przekazać nam cennej informacji zwrotnej w komentarzach poniżej.