Opracowany przez |
Lennart Poettering Freedesktop.org |
---|---|
Pierwsza wersja | 30 marca 2010 |
Ostatnia wersja | 248 (30 marca 2021 r) |
Kaucja | github.com/systemd/systemd |
Stan projektu | W opracowaniu |
Napisane w | C , Python |
System operacyjny | Linux |
Środowisko | GNU / Linux |
Rodzaj | System startowy , demon |
Polityka dystrybucji | Wolny |
Licencja | GNU LGPL |
Stronie internetowej | systemd.io |
Chronologia wersji
systemd to pakiet oprogramowania zapewniający szereg składników systemowych dla systemów operacyjnych Linux.
Pierwszym komponentem systemd jest system inicjalizacji , jego celem jest zapewnienie lepszej struktury do zarządzania zależnościami między usługami, umożliwienie równoległego ładowania usług podczas uruchamiania i zmniejszenie wywołań skryptów powłoki . Jest to alternatywa dla inicjalizacji SysV . Zapewnia również zamienniki różnych demonów i narzędzi, w tym zarządzanie urządzeniami, zarządzanie połączeniami użytkowników, zarządzanie połączeniami sieciowymi i rejestrowanie zdarzeń.
Projekt został uruchomiony przez Lennarta Poetteringa w 2010 roku i wydany na licencji GNU LGPL w wersji 2.1. Nazwa tego programu pochodzi od „ demona systemowego ”: demona systemowego.
Projekt ten wzbudził wielkie kontrowersje wśród twórców GNU / Linuksa .
W 2015 roku większość dystrybucji GNU / Linuksa przyjęła ten system startowy .
Systemd opiera się na kilkadziesiąt binarne zarządzanie całym systemem rozruchu , a tym samym pozostawiając UNIX filozofię z KISS .
Systemd przyjmuje nowy system logowania o nazwie „ The Journal ”, który umożliwia szybsze i bardziej wydajne rejestrowanie różnych faz uruchamiania. Dzienniki są uwierzytelniane w celu zmniejszenia prawdopodobieństwa uszkodzenia podczas włamania, są przenośne, a narzędzie obejmuje zarządzanie nasyceniem miejsca na dysku w celu lepszego zarządzania śladami. Każda usługa zarządzana przez systemd jest logowana automatycznie, chyba że zażąda, aby się nie logować. Domyślnie jest kompatybilny ze środowiskiem sieciowym i może przechodzić przez standardowe protokoły, takie jak syslog .
Systemd zawiera narzędzie o nazwie „ systemd-analysis ”, pozwalające na analizę czasu uruchamiania, śledzenie poszczególnych etapów i wyprowadzanie analiz w postaci prostej grafiki (format SVG ), co pozwala łatwo zrozumieć wąskie gardła sekwencji rozruchowej.
Systemd różni się od init Systemu V:
W kwiecień 2012, kod źródłowy udev został zintegrowany z systemd. dlatego systemd zastępuje System V i udev w ich odpowiednich funkcjach.
Istnieje rozwidlenie Debiana o nazwie Devuan , które unika używania systemd.
Gentoo rozwija eudev od 2013 roku. Jest to rozwidlenie udev, którego celem jest lepsze wsparcie dla systemów, które nie używają systemd. W przypadku dystrybucji binarnych ich wybór wStyczeń 2014, sprowadza się do tego, czy chcą obsługiwać GNOME iw tym przypadku czy wolą używać systemd, czy w drugim przypadku wolą obsługiwać dodatkową złożoność instalacji GNOME bez systemd.
Projekt spotkał się z ostrą krytyką i wywołał gorącą debatę.
Dla niektórych programistów systemd stał się większym problemem, niż powinien rozwiązać, ponieważ zamiast zapewnić administratorowi środki do tworzenia zasad zarządzania systemem, udostępnia swoje zasady bezpośrednio, do tego stopnia, że czasami porównujemy systemd do hosta usługi Windows . Niektórzy z tych krytyków, użytkownicy Debiana, grożą nawet rozwidleniem ich dystrybucji, jeśli skutecznie wymusi to użycie systemd zamiast sysvinit. Widelec zwany Devuan został stworzony przez przeciwników, którzy nie odczuwali satysfakcji, a pierwsza wersja Devuan wyszła późno.Maja 2017.
Oto kilka recenzji:
$ cat / etc / mtab
sysfs / sys sysfs rw, nosuid, nodev, noexec, relatime 0 0
proc / proc proc rw, nosuid, nodev, noexec, relatime 0 0
udev / dev devtmpfs rw, nosuid, relatime, size = 1963456k, nr_inodes = 490864, mode = 755 0 0
devpts / dev / pts devpts rw, nosuid, noexec, relatime, gid = 5, mode = 620, ptmxmode = 000 0 0
tmpfs / run tmpfs rw, nosuid, noexec, relatime, size = 396480k, mode = 755 0 0
/ dev / sdb3 / ext4 rw, relatime, errors = remount-ro, dane = zamówione 0 0
securityfs / sys / kernel / security securityfs rw, nosuid, nodev, noexec, relatime 0 0
tmpfs / dev / shm tmpfs rw, nosuid, nodev 0 0
tmpfs / run / lock tmpfs rw, nosuid, nodev, noexec, relatime, size = 5120k 0 0
tmpfs / sys / fs / cgroup tmpfs ro, nosuid, nodev, noexec, mode = 755 0 0
cgroup / sys / fs / cgroup / systemd cgroup rw, nosuid, nodev, noexec, relatime, xattr, release_agent = / lib / systemd / systemd-cgroups-agent, name = systemd 0 0
pstore / sys / fs / pstore pstore rw, nosuid, nodev, noexec, relatime 0 0
efivarfs / sys / firmware / efi / efivars efivarfs rw, nosuid, nodev, noexec, relatime 0 0
cgroup / sys / fs / cgroup / pids cgroup rw, nosuid, n odev, noexec, relatime, pids 0 0
cgroup / sys / fs / cgroup / memory cgroup rw, nosuid, nodev, noexec, relatime, memory 0 0
cgroup / sys / fs / cgroup / cpu, cpuacct cgroup rw, nosuid, nodev, noexec, relatime, cpu, cpuacct 0 0
cgroup / sys / fs / cgroup / Frezer cgroup rw, nosuid, nodev, noexec, relatime, zamrażarka 0 0
cgroup / sys / fs / cgroup / perf_event cgroup rw, nosuid, nodev, noexec, relatime, perf_event 0 0
cgroup / sys / fs / cgroup / cpuset cgroup rw, nosuid, nodev, noexec, relatime, cpuset 0 0
cgroup / sys / fs / cgroup / blkio cgroup rw, nosuid, nodev, noexec, relatime, blkio 0 0
cgroup / sys / fs / cgroup / devices cgroup rw, nosuid, nodev, noexec, relatime, devices 0 0
cgroup / sys / fs / cgroup / net_cls, net_prio cgroup rw, nosuid, nodev, noexec, relatime, net_cls, net_prio 0 0
cgroup / sys / fs / cgroup / hugetlb cgroup rw, nosuid, nodev, noexec, relatime, hugetlb 0 0
systemd-1 / proc / sys / fs / binfmt_misc autofs rw, relatime, fd = 22, pgrp = 1, timeout = 0, minproto = 5, maxproto = 5, direct 0 0
mqueue / dev / mqueue mqueue rw, relatime 0 0
debugfs / sys / kernel / debug debugfs rw, relatime 0 0
hugetlbfs / dev / hugepages hugetlbfs rw, relatime 0 0
fusectl / sys / fs / fuse / connections fusectl rw, relatime 0 0
/ dev / sda2 / boot / efi vfat rw, relatime, fmask = 0077, dmask = 0077, codepage = 437, iocharset = iso8859 -1, shortname = mixed, errors = remount-ro 0 0
binfmt_misc / proc / sys / fs / binfmt_misc binfmt_misc rw, relatime 0 0
tmpfs / run / user / 1000 tmpfs rw, nosuid, nodev, relatime, size = 396480k, mode = 700, uid = 1000, gid = 1000 0 0
gvfsd-fuse / run / user / 1000 / gvfs fuse. Gvfsd-fuse rw, nosuid, nodev, relatime, user_id = 1000, group_id = 1000 0 0
/ dev / sdb2 / media / fda / Sandisk480-UltraII fuseblk rw, nosuid, nodev, relatime, user_id = 0, group_id = 0, default_permissions, allow_other, blksize = 4096 0 0