{"id":4974,"date":"2019-06-16T10:52:29","date_gmt":"2019-06-16T08:52:29","guid":{"rendered":"https:\/\/speefak.spdns.de\/oss_lifestyle\/?p=4974"},"modified":"2025-03-24T19:47:55","modified_gmt":"2025-03-24T18:47:55","slug":"systemd","status":"publish","type":"post","link":"https:\/\/speefak.spdns.de\/oss_lifestyle\/systemd\/","title":{"rendered":"Systemd"},"content":{"rendered":"<p>Systemd hat mittlerweile andere Bootverwaltungsroutinen gr\u00f6\u00dftenteils abgel\u00f6st. Die Syntax ist im Vergleich zu den bereits bekannten Routinen etwas gew\u00f6hnungsbed\u00fcrftig. Systemd ist jedoch schneller, da es weniger Skripte verwendet und Aufgaben parallel ausf\u00fchrt, allerdings auch umstritten. Die Konfiguration ist unter \/etc\/systemd zu finden.<\/p>\n<hr \/>\n<h2>Boot Prozess<\/h2>\n<p>Systemd\u2019s haupts\u00e4chliche Aufgabe liegt darin, den Bootprozess zu verwalten und Informationen dar\u00fcber zur Verf\u00fcgung zu stellen. Um die Dauer des Bootprozesses anzeigen zu lassen:<\/p>\n<pre class=\"lang:sh decode:true\">systemd-analyze<\/pre>\n<p>Um sich die Zeit, die jeder Prozess beim Bootvorgang ben\u00f6tigt hat, anzeigen zu lassen:<\/p>\n<pre class=\"lang:sh decode:true\">systemd-analyze blame<\/pre>\n<hr \/>\n<h2>Journal-Analyse<\/h2>\n<p>Zus\u00e4tzlich ist Systemd verantwortlich f\u00fcr das System Event Log, ein Syslog Dameon wird nicht mehr ben\u00f6tigt. Um sich den Inhalt des Systemd Journals anzeigen zu lassen:<\/p>\n<pre class=\"lang:sh decode:true\">journalctl<\/pre>\n<p>Prozessbezogene Ereignisse von crond anzeigen lassen:<\/p>\n<pre class=\"lang:sh decode:true\">journalctl \/sbin\/crond<\/pre>\n<p>Anzeiger aller Meldungen seit dem letzten Reboot:<\/p>\n<pre class=\"lang:sh decode:true\">journalctl -b<\/pre>\n<p>Anzeige aller Ereignisse von heute:<\/p>\n<pre class=\"lang:sh decode:true\">journalctl --since=today<\/pre>\n<p>Anzeige aller Ereignisse mit der Priorit\u00e4t err (Fehler):<\/p>\n<pre class=\"lang:sh decode:true\">journalctl -p err<\/pre>\n<p>Anzeige der lezten 10 Ereignisse (Echtzeitaktualisierung\u00a0 \/ equivalent zu tail -f \/var\/log\/messages):<\/p>\n<pre class=\"lang:sh decode:true\">journalctl -f<\/pre>\n<hr \/>\n<h2>Kontrollgruppen<\/h2>\n<p>Systemd organisiert Aufgaben in Kontrollgruppen. Beispielsweise werden alle Prozesse, die vom Apache Webserver gestartet werden, in derselben Kontrollgruppe zusammen gefasst, CGI Skripte ebenso.<\/p>\n<p>Um sich die Hierarchie der Kontrollgruppen anzeigen zu lassen:<\/p>\n<pre class=\"lang:sh decode:true\">systemd-cgls\r\n<\/pre>\n<p>Listen basierte Anzeige der Kontrollgruppen, sortiert nach CPU, Speicher und Disk I\/O:<\/p>\n<pre class=\"lang:sh decode:true\">systemd-cgtop<\/pre>\n<p>Anzeiger aller einem Apache Webserver zugeordneten Prozesse:<\/p>\n<pre class=\"lang:sh decode:true\">systemctl kill httpsd<\/pre>\n<p>Zuweisung eines Resourcenlimits von 500 CPUShares f\u00fcr einen Prozess:<\/p>\n<pre class=\"lang:sh decode:true\">systemctl set-property httpsd.service CPUShares=50<\/pre>\n<p><strong>ACHTUNG!!! Die \u00c4nderung wird in die sogenannte \u201eservice unit\u201c Datei geschrieben. Um das zu verhindern und die Zuweisung nur f\u00fcr die aktuelle Laufzeit zu setzten, muss man die <code>\u2013runtime<\/code> Option setzen. Standardm\u00e4\u00dfig wird jedem Service 1024 CPUShares zugewiesen. Es gibt aber keinen Grund einem Service weniger oder gar mehr davon zuzuweisen.<\/strong><\/p>\n<p>Anzeige des akteullen Wertes der CPUShares f\u00fcr einen Service:<\/p>\n<pre class=\"lang:sh decode:true\">systemctl show -p CPUShares httpsd.service<\/pre>\n<hr \/>\n<h2>Service Management<\/h2>\n<p>Systemd ist u.a. zust\u00e4ndig f\u00fcr alle Aspekte des Service Managments. Das <code>systemctl<\/code> Kommando ersetzt <code>chkconfig<\/code> und das <code>service<\/code> Kommando. Die alten Kommandos sind verlinkt auf die jeweiligen systemctl Aufrufe.<\/p>\n<p>Aktivierung des NTP Service beim Bootvorgang:<\/p>\n<pre class=\"lang:sh decode:true\">systemctl enable ntpd<\/pre>\n<p><strong>ACHTUNG!!! Du solltest im obigen Beispiel ntpd.service angeben, aber per Default wird das .service Suffix hinzugef\u00fcgt. Wenn du einen Pfad angibst, wird das .mount Suffix hinzugef\u00fcgt. <\/strong><\/p>\n<p>NTP Serviceverwaltung (deaktivieren, starten, stoppen, neu starten, reload):<\/p>\n<pre class=\"lang:sh decode:true\">systemctl disable ntpd\r\nsystemctl start ntpd\r\nsystemctl stop ntpd\r\nsystemctl restart ntpd\r\nsystemctl reload ntpd<\/pre>\n<p>\u00dcberpr\u00fcfung der NTP Aktivierung beim Bootvorgang:<\/p>\n<pre class=\"lang:sh decode:true\">systemctl is-enabled ntpd\r\n<\/pre>\n<p>\u00dcberpr\u00fcfung von aktivem NTP Service:<\/p>\n<pre class=\"lang:sh decode:true \">systemctl is-active ntpd<\/pre>\n<p>Anzeige des NTP Servicestatus:<\/p>\n<pre class=\"lang:sh decode:true\">systemctl status ntpd<\/pre>\n<p>Systemctl Reload nach \u00c4nderungen:<\/p>\n<pre class=\"lang:sh decode:true\">systemctl daemon-reload<\/pre>\n<p>\u00dcbersicht aller Units (Services, Mount Orte, Ger\u00e4te):<\/p>\n<pre class=\"lang:sh decode:true\">systemctl<\/pre>\n<p>Etwas \u00fcbersichtlicher:<\/p>\n<pre class=\"lang:sh decode:true\">systemctl list-unit-files<\/pre>\n<p>Servicefehlerliste f\u00fcr beim Boot gestartete Dienste:<\/p>\n<pre class=\"lang:sh decode:true\">systemctl --failed<\/pre>\n<p>Anzeige von Prozessstatusinformationen:<\/p>\n<pre class=\"lang:sh decode:true\">systemctl status httpsd.service<\/pre>\n<hr \/>\n<h2>Target Files anstatt Runlevel<\/h2>\n<p>Systemd verwaltet ebefalls Runlevel mithilfe der sogenannten \u201etarget files\u201c, anstatt der bisher bekannten Init Skripte.<\/p>\n<p>Wechsel in den \u201esingle user mode\u201c:<\/p>\n<pre class=\"lang:sh decode:true\">systemctl rescue<\/pre>\n<p>Wechsel in den Runlevel 3 (Multi-user):<\/p>\n<pre class=\"lang:sh decode:true \">systemctl isolate runlevel3.target<\/pre>\n<p>oder<\/p>\n<pre class=\"lang:sh decode:true\">systemctl isolate multi-user.target<\/pre>\n<p>Wechsel in den grafischen Runlevel:<\/p>\n<pre class=\"lang:sh decode:true\">systemctl isolate graphical.target<\/pre>\n<p>Setzen des default Runlevel auf den Nicht-grafischen Modus:<\/p>\n<pre class=\"lang:sh decode:true\">systemctl set-default multi-user.target<\/pre>\n<p>oder umgekehrt:<\/p>\n<pre class=\"lang:sh decode:true\">systemctl set-default graphical.target<\/pre>\n<p>Sich den aktuellen run level ausgeben zu lassen:<\/p>\n<pre class=\"lang:sh decode:true\">systemctl get-default\r\n<\/pre>\n<p>System herunterfahren:<\/p>\n<pre class=\"lang:sh decode:true\">systemctl poweroff<\/pre>\n<p><strong>ACHTUNG!!! Man kann auch das gewohnte poweroff Kommando verwenden, es ist gelinkt zu dem equivalenten systemctl Kommando.<\/strong><\/p>\n<p>Server in verschiedene Suspendlevel versetzen (neustarten, pausieren, suspend) :<\/p>\n<pre class=\"lang:sh decode:true \">systemctl reboot\r\nsystemctl suspend\r\nsystemctl hibernate<\/pre>\n<hr \/>\n<h2>Sonstiges<\/h2>\n<p>Anzeige des Servernamens:<\/p>\n<pre class=\"lang:sh decode:true\">hostnamectl<\/pre>\n<p><strong><br \/>\nACHTUNG!!! Es gibt drei verschiedene Arten von Hostnamen: static, transient und pretty.<br \/>\nDer Hostname vom Typ \u201estatic\u201c ist der traditionelle Hostname, welcher vom Benutzer ausgew\u00e4hlt werden kann, und wird in \/etc\/hostname gespeichert. Der Hostname des Types \u201etransient\u201c wird dynamisch verwaltet vom Kernel. Dieser kann per DHCP oder mDNS zur Laufzeit ge\u00e4ndert werden. Der dritte Hosttyp \u201epretty\u201c ist ein frei w\u00e4hlbarer UTF8 name zur Pr\u00e4sentation f\u00fcr den Benutzer.<\/strong><\/p>\n<p>Permanentes setzes des Hostnamens:<\/p>\n<pre class=\"lang:sh decode:true\">hostnamectl set-hostname rhel7<\/pre>\n<p>Um sich die aktuellen Einstellungen f\u00fcr \u201elocale\u201c, \u201evirtual console keymap\u201c und X11 Keyboard Layout anzeigen zu lassen:<\/p>\n<pre class=\"lang:sh decode:true\">localectl\r\n<\/pre>\n<p>Um de_DE.utf8 als Wert f\u00fcr \u201elocale\u201c zu setzen:<\/p>\n<pre class=\"lang:sh decode:true\">localectl set-locale LANG=de_DE.utf8<\/pre>\n<p>Um de_DE.utf8 als Wert f\u00fcr \u201evirtual console keymap\u201c zu setzen:<\/p>\n<pre class=\"lang:sh decode:true \">localectl set-keymap de_DE<\/pre>\n<p>Um de_DE.utf8 als Wert f\u00fcr \u201eX11\u201c zu setzen:<\/p>\n<pre class=\"lang:sh decode:true\">localectl set-x11-keymap de_DE<\/pre>\n<p>Um sich das aktuelle Datum und die Zeit anzeigen zu lassen:<\/p>\n<pre class=\"lang:sh decode:true\">timedatect<\/pre>\n<p>Um ein neues Datum zu setzen:<\/p>\n<pre class=\"lang:sh decode:true\">timedatectl set-time YYYY-MM-DD<\/pre>\n<p>Um eine neue Zeit zu setzten:<\/p>\n<pre class=\"lang:sh decode:true\">timedatectl set-time HH:MM:SS<\/pre>\n<p>Um eine Liste der Zeitzonen anzeigen zu lassen:<\/p>\n<pre class=\"lang:sh decode:true\">timedatectl list-timezones<\/pre>\n<p>Um die Zeitzone auf Europe\/Berlin<\/p>\n<pre class=\"lang:sh decode:true\">timedatectl set-timezone Europe\/Berlin<\/pre>\n<p>Um sich eine Liste der Benutzer ausgeben zu lassen:<\/p>\n<pre class=\"lang:sh decode:true\">loginctl list-users<\/pre>\n<p>Um sich die Liste der aktuellen Benutzer Sessions ausgeben zu lassen:<\/p>\n<pre class=\"lang:sh decode:true\">loginctl list-sessions<\/pre>\n<p>Um sich die Eigenschaften des Benutzers &#8220;user&#8221; anzeigen zu lassen:<\/p>\n<pre class=\"lang:sh decode:true \">loginctl show-user user<\/pre>\n<hr \/>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-2821 alignleft\" src=\"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-content\/uploads\/2014\/08\/CC_BY_NC_SA.png\" alt=\"CC_BY_NC_SA\" width=\"65\" height=\"23\" \/><span style=\"font-size: 10pt;\">by Speefak<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Systemd hat mittlerweile andere Bootverwaltungsroutinen gr\u00f6\u00dftenteils abgel\u00f6st. Die Syntax ist im Vergleich zu den bereits bekannten Routinen etwas gew\u00f6hnungsbed\u00fcrftig. Systemd ist jedoch schneller, da es weniger Skripte verwendet und Aufgaben parallel ausf\u00fchrt, allerdings auch umstritten. Die Konfiguration ist unter \/etc\/systemd zu finden. Boot Prozess Systemd\u2019s haupts\u00e4chliche Aufgabe liegt darin, den Bootprozess zu verwalten und Informationen [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,24,26],"tags":[],"class_list":["post-4974","post","type-post","status-publish","format-standard","hentry","category-anleitungen","category-it-syntax","category-linux"],"rttpg_featured_image_url":null,"rttpg_author":{"display_name":"speefak","author_link":"https:\/\/speefak.spdns.de\/oss_lifestyle\/author\/speefak_oss\/"},"rttpg_comment":0,"rttpg_category":"<a href=\"https:\/\/speefak.spdns.de\/oss_lifestyle\/category\/anleitungen\/\" rel=\"category tag\">Anleitungen<\/a> <a href=\"https:\/\/speefak.spdns.de\/oss_lifestyle\/category\/it-syntax\/\" rel=\"category tag\">IT Syntax<\/a> <a href=\"https:\/\/speefak.spdns.de\/oss_lifestyle\/category\/linux\/\" rel=\"category tag\">Linux<\/a>","rttpg_excerpt":"Systemd hat mittlerweile andere Bootverwaltungsroutinen gr\u00f6\u00dftenteils abgel\u00f6st. Die Syntax ist im Vergleich zu den bereits bekannten Routinen etwas gew\u00f6hnungsbed\u00fcrftig. Systemd ist jedoch schneller, da es weniger Skripte verwendet und Aufgaben parallel ausf\u00fchrt, allerdings auch umstritten. Die Konfiguration ist unter \/etc\/systemd zu finden. Boot Prozess Systemd\u2019s haupts\u00e4chliche Aufgabe liegt darin, den Bootprozess zu verwalten und Informationen&hellip;","_links":{"self":[{"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/posts\/4974","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/comments?post=4974"}],"version-history":[{"count":0,"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/posts\/4974\/revisions"}],"wp:attachment":[{"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/media?parent=4974"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/categories?post=4974"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/tags?post=4974"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}