Skip to content

Debian 9 Stretch - Systemd deinstallieren und SysV-Init verwenden

Seit einigen Jahren setzen viele Distributionen auf systemd. Das neue Init System ist allerdings nicht bei allen beliebt und führte in der Vergangenheit zu Forks wie beispielsweise Devuan.

Ebenfalls sind im Vergleich zu SysV-Init noch Unstimmigkeiten oder Sicherheitslücken vorhanden. (Siehe CVE)

debian

Welches System am Ende zum Einsatz kommt, hängt oft von der verwendeten Distribution ab.

Das muss nicht sein, denn Systeme wie Debian 9 lassen sich einfach umstellen.

Zunächst sollte überprüft werden, welches Standard-Init-System aktuell im Einsatz ist:

ps -p 1

PID TTY          TIME CMD
    1 ?        00:00:10 systemd

 

 

Debian 9 - Systemd deinstallieren

apt install sysvinit-core

reboot

sysvinit-debian

apt remove --purge --auto-remove systemd*

nano /etc/apt/preferences.d/systemd

Package: systemd
Pin: release *
Pin-Priority: -1

 

SysV-Init überprüfen

Die Überprüfung erfolgt auf die gleiche Weise wie am Anfang des Artikels.

debian9-init

Fazit

Die Umstellung eines aktuellen Debian 9 Stretch Systems ist schnell erledigt, mit Devuan 1.0 ist seit Mitte des Jahres ein Debian Fork vorhanden, welcher direkt auf das alte SysV-Init setzt.

Admin Panels Part2: Cockpit - Leitstand für Fedora, CentOS oder Ubuntu

Tools für eine zentrale Verwaltung von Linux Servern gibt es einige. Mit Ajenti und LinuxDash hatte ich bereits zwei vorgestellt.
Einen weitern interessanten Ansatz verfolgt Red Hat seit einiger Zeit.

Cockpit - Serververwaltung

Mit Cockpit haben sie eine frei über Github entwickelte Linux Steuerzentrale in petto, welche auf neueren Distributionen von Fedora, CentOS oder ArchLinux bereits vorinstalliert oder zumindest als fertiges Installationspaket bereit liegt.
Cockpit setzt auf systemd und ist somit auf dem aktuellen Ubuntu 14.04 LTS nicht unbedingt praktikabel, da aber Ubuntu 16.04 bereits in den Startlöchern steht, sieht es für Cockpit auf Ubuntu Systemen in Zukunft ebenfalls gut aus.

Das Verwaltungstool unterstützt nicht nur verschiedene Systeme, es kann über das zentrale Dashboard auch auf eine ganze heterogene Umgebung zugreifen, um diese zu verwalten. Die Kommunikation zwischen den Maschinen erfolgt über SSH.

cockpit

Schlicht aber effektiv

Die einfache Bedienung des Tools fängt beim Login an, hier werden automatisch hinterlegte Nutzer mit root Rechten für den Login freigeschaltet.
Nicht nur die moderne und aufgeräumte Oberfläche wirkt erfrischend, auch die Auswertungen von Systemperformance ist schlicht und ausreichend.
Die Usability endet bei einem eingebundenen Terminal, welches das Arbeiten auf der Konsole über die Oberfläche ermöglicht.

cockpit-login

Sichere Sache

Anders als Webmin, Ajenti und Co, benötigt Cockpit keinen Apache Server oder ähnliches, welcher ständig in Betrieb sein muss. Der eigene Dienst cockpit-ws startet den Webserver nur, sobald eine Anfrage auf dem Standard Port 9090 ankommt. Sollten keine weiteren Anfragen auf dem Port ankommen, legt er sich nach 90 Sekunden Inaktivität wieder schlafen.

Ist der Webserver aktiv kann er über HTTP und HTTPS erreicht werden, HTTP wird aber automatisch auf HTTPS umgeleitet.  Ein Zertifikat kann unter "/etc/cockpit/ws-certs.d" abgelegt werden. SSL3 und RC4 sind von Haus aus deaktiviert.

Die wichtigsten Cockpit Konsolen Befehle

Prüfen welches Zertifikat verwendet wird

sudo remotectl certificate

Cockpit manuell starten

sudo systemctl enable cockpit.socket
sudo systemctl start cockpit.service
sudo systemctl status cockpit.service

Cockpit Autostart Eintrag erstellen

sudo systemctl enable cockpit.socket

Anderen Port hinterlegen

Temporär

sudo nano /usr/lib/systemd/system/cockpit.socket

oder permanent

sudo cp /lib/systemd/system/cockpit.socket /etc/systemd/system
sudo nano /etc/systemd/system/cockpit.socket

ListenStream=666

sudo systemctl daemon-reload
sudo systemctl restart cockpit.socket

Cockpit Oberfläche (Standardport)

https://cockpit-server:9090

cockpit_install

Installation unter CentOS

Unter bereits voll unterstützen Systemen, ist die Installation ein Kinderspiel

yum install cockpit
sudo systemctl start cockpit

Den Dienst erlauben

systemctl enable cockpit.socket

Wenn nötig die Firewall öffnen

firewall-cmd --permanent --zone=public --add-service=cockpit
sudo firewall-cmd --reload

Das System ist nun über den oben erwähnten Port ereichbar.

cockpit-uebersicht


Installation from Source (Ubuntu)

Eine Installation ist eigentlich erst ab Ubuntu 15.10 sinnvoll, aber dennoch auf 14.04 möglich.

Pakete installieren

sudo apt-get install xsltproc libglib2.0-dev libjson-glib-dev libpolkit-agent-1-dev libkrb5-dev liblvm2-dev libgudev-1.0-dev libssh-dev libpam0g-dev libkeyutils-dev libpcp3-dev libpcp-import1-dev libpcp-pmda3-dev intltool xmlto libxslt1-dev selinux-policy-dev checkpolicy selinux-policy-doc libdbus-1-dev libsystemd-dev glib-networking

wget https://github.com/cockpit-project/cockpit/releases/download/0.102/cockpit-0.102.tar.xz
tar xvf cockpit-0.102.tar.xz
cd /cockpit-0.102
sudo ./configure
make
make install

Mögliche Fehler

Starting Cockpit Web Service...
remotectl[26324]: Generating temporary certificate using: openssl req -x509 -days 36500 -newkey rsa:2048 -keyout /usr/local/etc/cockpit/ws-certs.d/0-self-signed.P7XPFY.tmp -keyform PEM -nodes -o
remotectl[26324]: remotectl: /usr/local/etc/cockpit/ws-certs.d/0-self-signed.cert: TLS support is not available
systemd[1]: cockpit.service: Control process exited, code=exited status=1
systemd[1]: Failed to start Cockpit Web Service.
systemd[1]: cockpit.service: Unit entered failed state.
systemd[1]: cockpit.service: Failed with result 'exit-code'.

Lösung

sudo apt-get install glib-networking

Installation von PPA (Ubuntu)

Via PPA fällt die Installation um einiges leichter, allerdings kommt hier ein relativ altes Installationspaket zum Einsatz (0.38).

    sudo add-apt-repository ppa:jpsutton/cockpit

    sudo apt-get update

    sudo apt-get install cockpit

cockpit-dashboard

 

Ubuntu 14.04

Um Cockpit unter älteren Systemen zu starten, kann nicht auf systemd zurückgegriffen werden, es startet hier wie folgt.

sudo /usr/sbin/remotectl certificate --ensure --user=root
sudo /usr/libexec/cockpit-ws

Natürlich kann die mit einem eigenen Init Script automatisiert werden, dies bleibt jedem selbst überlassen.

Fazit

Sowohl für einzelne Server, als auch für kleinere Netzwerke, bestehend aus Linux Rechnern, bietet Cockpit eine Möglichkeit Server einfach zu warten und zu überwachen. Durch die leichte Installation und die klare Oberfläche ist sie besonders für Einsteiger geeignet.

Leider gibt es für Ubuntu Systeme bisher keine offiziellen Pakete. Das PPA ist leider nicht auf dem neuesten Stand. Eventuell ändert sich dies mit Ubuntu 16.04 LTS.

Mit dem Landscape Server bietet Canonical bereits eine eigene Ubuntu Server Verwaltung und Performance Analyse an, welche auf bis zu 10 Systemen umsonst angewendet werden kann. (siehe Artikel).

Welches Admin Tool für die eigenen Bedienungen geeignet ist, muss wohl immer individuell entschieden werden.


Quellen

http://www.golem.de/news/cockpit-angesehen-die-einfache-steuerzentrale-fuer-linux-server-1507-115035-3.html
http://cockpit-project.org/guide/latest

 

Debian 8 Administrator Handbuch mit Systemd und AppArmor

Das Release des Debian Administrator Handbuchs war zwar schon vor einem Monat, soll hier aber nicht unerwähnt bleiben.

Das übersichtliche Nachschlagewerk von Raphaël Hertzog und Roland Mas bringt in der aktualisierten Version 8 Jessie zwei neue Kapitel mit.
Zum einen wird in Kapitel 9 nun neben dem klassischen System V init System auch auf systemd eingegangen, zum anderen hat mit AppArmor das Mandatory Access Control System unter Kapitel 14 einen Platz erhalten.

Debian-Handbuch

Das Handbuch kann auf deutsch oder englisch online eingesehen werden. Es steht aber ebenso als PDF oder Epub zum Download bereit.

Das Buch ist sowohl an Debian Anfänger als auch an Erfahrene gerichtet, aber auch für debian basierte Systeme wie Ubuntu, Mint oder ElementaryOS geeignet.

Die Sammlung bietet für jeden etwas, da sie auf alle wichtigen Punkte eines umfangreichen Debian Servers wie beispielsweise Installation, Paketverwaltung oder Einrichtung von Netzwerk, LVM, DHCP/DNS, Apache, Postfix, LDAP eingeht.

Debian Handbuch


Das könnte dich auch interessieren
 

Ein Blick in die Glaskugel - Systemd vs SysVinit Linux Cheatsheet

Fedora hat es, OpenSuse kennt es und Ubuntu soll es demnächst bekommen. Die Rede ist von Systemd, einem Initialisierungsprozess von Linux Distributionen.

Canoncial (Ubuntu) setzte bisher auf ein eigenes Init Syteme, hat aber vor einiger Zeit offiziell bekannt gegeben, ebenfalls in das Systemd Lager zu wechseln.

Was auf den Nutzer zukommt, soll die folgende Infografik von linoxide verdeutlichen. Dabei werden die wichtigsten Systembefehle gelistet. So wird beispielsweise aus 

service programm start ---> systemctl start programm.service 

runlevel --> systemctl get-default

reboot --> systemctl reboot

um nur ein paar zu nennen. Den Rest könnt ihr der Grafik entnehmen, welche sich bei Bedarf auf als ausdruckbare A4 Version herunterladen lässt.

systemd-vs-sysVinit-cheatsheet