Systemd Infos und Anleitung

systemd

ist ein moderner SysV-ähnlicher Init- und RC-Ersatz für Linux-Systeme. Es wird in Gentoo als alternatives Init-System unterstützt.

Der Kern, um den alle Distributionen herum aufgebaut sind, ist der Linux-Kernel.Es ist die Schicht zwischen den Benutzerprogrammen und der Systemhardware. Gentoo stellt seinen Benutzern mehrere mögliche Kernelquellen zur Verfügung. Eine vollständige Liste mit einer Beschreibung finden Sie auf der Kernel-Übersichtsseite.
Für amd64-basierte Systeme empfiehlt Gentoo das Paket sys-kernel / gentoo-sources.

Wählen Sie eine geeignete Kernelquelle und installieren Sie sie mit emerge:

root #emerge --ask --verbose sys-kernel/gentoo-sources

Kernel

systemd nutzt viele moderne Linux-Kernel-Funktionen. Im Moment wird die untere Grenze der Kernel-Version im Ebuild auf 2.6.39 gesetzt. In neueren Versionen von sys-kernel / gentoo-sources gibt es eine bequeme Möglichkeit, die obligatorischen und optionalen Kernel-Optionen für systemd auszuwählen

Um die Kernel-Optionen manuell zu konfigurieren (dies ist die einzige Option, wenn sys-kernel / gentoo-sources nicht verwendet wird), sind die folgenden Kernel-Konfigurationsoptionen erforderlich oder empfohlen:

Aktivieren Sie für ein UEFI-System außerdem Folgendes:

/etc/mtab

Upstream unterstützt nur die Datei / etc / mtab als Symlink zu / proc / self / mounts.Wenn Sie diesen Symlink nicht erstellen, werden auch Probleme mit mount (Bug # 434090) und df (Bug # 477240) verursacht. In der Vergangenheit haben einige Dienstprogramme Informationen (wie Mount-Optionen) in / etc / mtab geschrieben und sollten daher eine reguläre Datei sein. Heutzutage soll alle Software dieses Problem vermeiden.

Stellen Sie sicher, dass /usr beim Booten vorhanden ist

Für eine Split / usr-Konfiguration verwenden Sie initramfs, um / usr zu mounten, bevor Sie systemd starten. Für den Moment bedeutet dies, dass sys-kernel / dracut oder sys-kernel / genkernel-next verwendet wird, bis Unterstützung für / usr in sys-kernel / genkernel verfügbar ist. Berücksichtigen Sie jetzt die Zeit für die Migration:

root # emerge --ask -c sys-kernel/genkernel
root # emerge --ask sys-kernel/dracut
root # emerge --ask sys-kernel/genkernel-next
 
Aktivieren Sie bei Verwendung von dracut das Modul usrmount, wenn es nicht automatisch aktiviert wird, um / usr automatisch zu mounten.
 
Wenn genkernel-next verwendet wird, stellen Sie vor dem Neuaufbau des Kernels sicher, dass die UDEV-Variable in der genkernel-Konfigurationsdatei auf yes gesetzt wird. Dies zieht / usr in den initramfs:
 
root #genkernel --install all

Profile

Aktivieren Sie das systemd USE-Flag global (in make.conf).Das Konsolenkit USE-Flag sollte ebenfalls deaktiviert werden, um Konflikte mit dem Systemd-Logind-Dienst zu vermeiden.Es ist auch möglich, in ein systemd-Subprofil zu wechseln, um die Standardeinstellungen für USE-Flags zu verwenden. In diesem Fall ist es nicht notwendig, make.conf zu ändern:

root #eselect profile list

Zuletzt aktualisieren Sie das System mit dem neuen Profil:

root #emerge -avDN @world

Wenn Abhängigkeitsprobleme auftreten (z. B. sys-fs / udev-Blockierung von sys-apps / systemd), kann sys-fs / udev möglicherweise in der world-Datei registriert sein. Versuchen Sie, dies zu lösen, indem Sie die Auswahl aufheben:

root #emerge --deselect sys-fs/udev

sys-apps / systemd enthält udev. Nach der Installation kann sys-fs / udev entfernt werden, da systemd der Provider für die Anforderung virtual / udev sein wird.

Netzwerk systemd-networkd

systemd-networkd ist nützlich für die einfache Konfiguration von verkabelten Netzwerkschnittstellen. Es ist standardmäßig deaktiviert.

Um systemd-networkd zu konfigurieren, erstellen Sie eine    .network-Datei unter / etc / systemd / network. Siehe systemd.network (5) als Referenz. Eine einfache DHCP-Konfiguration ist unten angegeben:

DATEI /etc/systemd/network/50-dhcp.network

[Spiel]
Name = en *
 
[network]
DHCP = yes

KommandoOpenRCSystemd
Einen Service starten/etc/init.d/ start
rc-service start
systemctl start
Einen Service stoppen/etc/init.d/ stop
rc-service stop
systemctl stop
Einen Service neu starten/etc/init.d/ restart
rc-service restart
systemctl restart
Den Service-Status abrufen/etc/init.d/ status
rc-service status
systemctl status
Bekannte Startskripte anzeigenrc-status
rc-update show
systemctl list-units
Alle Startskripts anzeigenls /etc/init.d/
rc-update -v show
systemctl list-unit-files --type=service
Den Dienst beim Start aktivierenrc-update add systemctl enable
Den Dienst beim Start deaktvierenrc-update del systemctl disable

Die folgende Tabelle enthält eine Liste nützlicher Systemd-Befehle, die kein OpenRC-Äquivalent haben:

 

Deaktivieren von automatisch generierten Servicesystemctl mask
Alle mit dem Dienst verbundenen Prozesse beendensystemctl kill
Show protokolliert Ereignisse, die heute aufgetreten sind, die letzten Ereignisse zuerstjournalctl -r --since=today
Protokollereignisse für einen bestimmten Service anzeigenjournalctl _SYSTEMD_UNIT=.service