Entwickelt von |
Lennart Poettering Freedesktop.org |
---|---|
Erste Version | 30. März 2010 |
Letzte Version | 248 (30. März 2021) |
Anzahlung | github.com/systemd/systemd |
Projekt-Status | In Entwicklung |
Geschrieben in | C , Python |
Betriebssystem | Linux |
Umgebung | GNU / Linux |
Art | Boot-System , Daemon |
Verteilungsrichtlinie | Kostenlos |
Lizenz | GNU LGPL |
Webseite | systemd.io |
Chronologie der Versionen
systemd ist eine Software-Suite, die eine Reihe von Systemkomponenten für Linux-Betriebssysteme bereitstellt.
Die erste Komponente von systemd ist das Initialisierungssystem. Ziel ist es, ein besseres Framework für die Verwaltung von Abhängigkeiten zwischen Diensten bereitzustellen, das parallele Laden von Diensten beim Start zu ermöglichen und Aufrufe von Shell- Skripten zu reduzieren . Es ist eine Alternative zu SysV init . Es bietet auch Ersatz für verschiedene Daemons und Dienstprogramme, einschließlich Geräteverwaltung, Benutzerverbindungsverwaltung, Netzwerkverbindungsverwaltung und Ereignisprotokollierung.
Das Projekt wurde 2010 von Lennart Poettering gestartet und unter der GNU LGPL Version 2.1- Lizenz veröffentlicht . Der Name dieses Programms stammt von " Systemdämon ": dem Systemdämon .
Dieses Projekt hat unter den Entwicklern von GNU / Linux große Kontroversen ausgelöst .
Im Jahr 2015 haben die meisten GNU / Linux-Distributionen dieses Boot-System übernommen .
Systemd basiert auf einigen Dutzend Binärdateien, die das gesamte Boot-System verwalten und damit die UNIX- Philosophie von KISS verlassen .
Systemd führt ein neues Protokollierungssystem namens " The Journal " ein, das eine schnellere und effizientere Protokollierung der verschiedenen Startphasen ermöglicht. Die Protokolle werden authentifiziert, um das Risiko einer Beschädigung während eines Hacks zu verringern. Sie sind portabel und das Tool umfasst die Verwaltung der Speicherplatzsättigung, um die Ablaufverfolgung besser verwalten zu können. Jeder von systemd verwaltete Dienst wird automatisch angemeldet, es sei denn, er fordert an, nicht angemeldet zu werden. Es ist standardmäßig mit einer Netzwerkumgebung kompatibel und kann Standardprotokolle wie Syslog durchlaufen .
Systemd enthält ein Tool namens " systemd-analyse ", mit dem die Startzeit analysiert, die verschiedenen Phasen verfolgt und die Analysen in Form einfacher Grafiken ( SVG- Format ) ausgegeben werden können, um die Engpässe der Startsequenz leicht zu verstehen.
Systemd unterscheidet sich von System V init in:
Im April 2012wurde der udev- Quellcode in systemd integriert. systemd ersetzt daher System V und udev in ihren jeweiligen Funktionen.
Es gibt eine Debian-Gabel namens Devuan , die die Verwendung von systemd vermeidet.
Gentoo entwickelt eudev seit 2013. Dies ist eine Abzweigung von udev, deren Ziel es ist, eine bessere Unterstützung für Systeme zu erhalten, die systemd nicht verwenden. Für binäre Verteilungen, ihre Wahl, inJanuar 2014, läuft darauf hinaus, ob sie GNOME unterstützen möchten und in diesem Fall, ob sie systemd bevorzugen oder ob sie im anderen Fall die zusätzliche Komplexität einer GNOME-Installation ohne systemd bevorzugen.
Das Projekt wurde vielfach kritisiert und löste heftige Debatten aus.
Für einige Entwickler ist systemd zu einem größeren Problem geworden, als es lösen soll, da es dem Administrator nicht die Möglichkeit bietet, Systemverwaltungsrichtlinien zu erstellen, sondern seine Richtlinien direkt bereitstellt, bis zu dem Punkt, an dem wir systemd manchmal mit dem Windows Service Host vergleichen . Einige dieser Kritiker, Debian - Benutzer, auch drohen Gabel ihre Verteilung , wenn sie effektiv die Verwendung von systemd statt sysvinit zwingt. Eine Gabel namens Devuan wurde von Gegnern erstellt, die nicht zufrieden waren, und die erste Version von Devuan kam spät heraus.Mai 2017.
Hier sind einige Bewertungen:
$ 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, fehler = remount-ro, data = order 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 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 / freezer cgroup rw, nosuid, nodev, noexec, relatime, freezer 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 0
cgroup / sys / fs / cgroup / Geräte cgroup rw, nosuid, nodev, noexec, relatime, Geräte 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, direkt 0 0
mqueue / dev / mqueue mqueue rw, relatime 0 0
debugfs / sys / kernel / debug debugfs rw, relatime 0 0
hugetlbfs / dev / riesige seiten hugetlbfs rw, relatime 0 0
fusectl / sys / fs / fuse / verbindungen fusectl rw, relatime 0 0
/ dev / sda2 / boot / efi vfat rw, relatime, fmask = 0077, dmask = 0077, codepage = 437, iocharset = iso8859 -1, Kurzname = gemischt, Fehler = 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-Sicherung / run / user / 1000 / gvfs fuse.gvfsd-Sicherung 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