(LINUX) systemctl

Aus TippvomTibb
Zur Navigation springen Zur Suche springen

Allgemeines

Eigentlich koennte ich diese Seite in eine neue Kategorie 'weird things' packen.

Um systemctl und damit systemd besser einordnen zu koennen, dient vielleicht folgender Artikel.

Motivation

Ich habe 08/2021 meinen Server auf eine neue alte Hardware umgezogen. Da die Server-Hardware (XW8400 auf XW8600; ja ich geb es zu alt ist gar kein Ausdruck, aber 8 Kerne und 16 GB RAM sind fuer meinen Server ausreichend; vorerst;-)) sich unwesentlich geaendert hat, war es fast damit getan die Festplatten umzustecken. Die wesentlichen Anpassungen bezogen sich auf BIOS und Netzwerk. Nur die grafische Oberflaeche wollte partout nicht starten, daher der Titel.

BIOS

TODO

Netzwerk

Da die Zuordnung der Netzdevices ueber die MAC-Adresse geschieht, waren die erwartungsgemaesz falsch. Ich hatte nach dem Start eth3, eth4 und eth5 anstatt eth0-2. BTW: Die dritte Karte ist eine LWL-Karte zur direkten Anbindung an das Backbone. Die Zuordnungsdatei ist bei OpenSuse 15.3 unter

  1. /etc/udev/rules.d/70-persistent-net.rules

zu finden. Dort habe ich die alten Eintraege geloescht/auskommentiert(#) und die neuen Zuordnungen eingetragen. Die Uebernahme war nach einem Reboot richtig. Vielleicht waere es auch ohne Reboot gegangen, evtl. mit udevadm trigger

Bei der Gelegenheit bin ich noch ueber eine Beschriftung der unteren der beiden RJ45-Netzwerkbuchsen mit ASF gestolpert. ASF steht fuer Alert Standard Format der DMTF nicht zu verwechseln mit DTMF;-)

Grafische Oberflaeche

Es sei erwaehnt, dass ein startx mit einem User zum Erfolg fuehrt, aber das ist ja keine Dauerloseung. Es handelt sich also nicht um die mit jedem Update/Upgrade auftauchenden NVIDA-Treiber Probleme.

Erst einmal das default target kontrolliert.

server:~ # systemctl get-default
graphical.target

Das stimmt soweit. Wenn ein target "sein Ziel" nicht erreicht liegt es oft an fehlerhaften Services.

systemctl list-dependencies graphical.target

In der Ausgabe (Liste von Abhaengigkeiten) sind Dienste, etc. mit einer "farbigen" Markierung versehen.

  • gruen in Orndung
  • rot Fehler
  • schwarz/grau nicht aktiv(iert)

Ich habe alle "roten Dienste" disabled. z.B.

systemctl disable dhcpd

Aber obwohl danach alle Abhaengigkeiten gruen oder schwarz waren, hat es nicht den gewuenschten Erfolg gebracht.

Dann mal weitersuchen. Wo hat systemd seine configs versteckt?

server:~ # pkg-config systemd --variable=systemdsystemconfdir
/etc/systemd/system
In der Regel in /usr/local/lib/systemd/system und /usr/lib/systemd/system
Full list of directories is provided in systemd.unit(5).

In dem Verzeichnis /etc/systemd/system gibt es ein Verzeichnis graphical.target.wants in dem sich eine Service-Datei befindet.

server:/etc/systemd/system # ll graphical.target.wants/
insgesamt 0
lrwxrwxrwx 1 root root 47 28. Apr 2019  display-manager.service -> /usr/lib/systemd/system/display-manager.service

Darauf hin mal den Status gescheckt.

systemctl status display-manager.service

Und weird#unknown display-manager active and running. Mit Alt-F7 sieht man tatsaechlich einen Cursor blinken.

The Simple Desktop Display Manager (SDDM) a display manager. It is the recommended display manager for the KDE Plasma and LXQt desktop environments. 

Next weird#

server:/etc/systemd/system # psgrep sddm
1747 ?        Sl     0:00 /usr/bin/sddm

server:/etc/systemd/system # systemctl status sddm ● sddm.service - Simple Desktop Display Manager

    Loaded: loaded (/usr/lib/systemd/system/sddm.service; disabled; vendor preset: disabled)
    Active: inactive (dead)
      Docs: man:sddm(1)
            man:sddm.conf(5)

Grrrrrrrrr!

Zurueck auf Anfang. Bei ersten Booten (mit fehlerhaften Diensten) ist das System im Emegency-Mode gelandet.

Emergency and rescue targets

Both of these shells require the root password. The emergency target keeps the root file system mounted read-only, while rescue. target waits for sysinit. target to complete first so that more of the system will be initialized, for example, logging, file systems, etc.

server:/etc/systemd/system # systemctl --failed
 UNIT LOAD ACTIVE SUB DESCRIPTION
 0 loaded units listed.

Bei OpenSuse gibt es keine Xwrapper.config -> weird#++