Zum Inhalt springen
glowfish

Start · Hilfe · Devuan-Server ohne systemd einrichten

Devuan-Server ohne systemd einrichten

Devuan ist Debian ohne systemd. Pakete, apt und Verzeichnisaufbau sind dieselben, Dienste startet sysvinit. Diese Anleitung gilt für Devuan 6 (Excalibur) auf einem Devuan-Server und zeigt, was sich gegenüber Debian ändert.

Was installiert ist

  • sysvinit als Startsystem, die Startskripte liegen in /etc/init.d.
  • ifupdown für das Netz. Die Adresse steht in /etc/network/interfaces und ist bei der Einrichtung gesetzt.
  • apt mit den Paketquellen deb.devuan.org/merged für Excalibur und die Sicherheitsaktualisierungen.
  • sudo. OpenSSH für die Anmeldung kommt bei der Einrichtung des Servers hinzu.

Das Abbild ist schlank gehalten. cron und ein Protokolldienst fehlen und lassen sich mit einem Befehl nachinstallieren.

1. Aktualisieren und Pakete installieren

apt update && apt full-upgrade
apt install nginx

Pakete mit eigenem Dienst bringen ein Startskript für sysvinit mit. Der Dienst läuft nach der Installation und startet bei jedem Neustart mit.

2. Dienste verwalten

AufgabeDevuanDebian mit systemd
Starten, anhalten, neu startenservice nginx start|stop|restartsystemctl start|stop|restart nginx
Zustandservice nginx statussystemctl status nginx
Beim Start einschaltenupdate-rc.d nginx enablesystemctl enable nginx
Beim Start abschaltenupdate-rc.d nginx disablesystemctl disable nginx
Alle Diensteservice --status-allsystemctl list-units

3. Eigenen Dienst einrichten

Manche Programme bringen nur eine systemd-Unit mit. Dann genügt ein kurzes Startskript mit start-stop-daemon. Als /etc/init.d/meindienst speichern, Programm und Benutzer anpassen:

#!/bin/sh
### BEGIN INIT INFO
# Provides:          meindienst
# Required-Start:    $network $remote_fs
# Required-Stop:     $network $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
### END INIT INFO

PROGRAMM=/usr/local/bin/meindienst
PIDDATEI=/run/meindienst.pid

case "$1" in
  start)   start-stop-daemon --start --background --make-pidfile --pidfile $PIDDATEI --chuid dienst --exec $PROGRAMM ;;
  stop)    start-stop-daemon --stop --pidfile $PIDDATEI --remove-pidfile ;;
  restart) "$0" stop && "$0" start ;;
  *)       echo "Aufruf: $0 {start|stop|restart}" && exit 1 ;;
esac
chmod 755 /etc/init.d/meindienst
update-rc.d meindienst defaults
service meindienst start

Der Block INIT INFO legt fest, wann der Dienst startet. $network wartet auf das Netz.

4. cron und Protokolle nachinstallieren

apt install cron rsyslog logrotate

Danach führt cron die Einträge aus crontab -e aus, und die Systemprotokolle stehen in /var/log/syslog. Ein journalctl gibt es ohne systemd nicht.

5. SSH-Einstellungen ändern

Nach einer Änderung in /etc/ssh/sshd_config prüft sshd -t die Datei, service ssh restart übernimmt sie. Bleibt eine Verbindung offen, bis die neue Anmeldung klappt, sperren Sie sich nicht aus. Für den Notfall steht die Konsole im Kundenkonto bereit.

Container und Kernel

Devuan läuft bei uns als Container mit Incus. Er nutzt den Kernel des Hosts. Kernelaktualisierungen und eigene Kernelmodule entfallen deshalb. Wer einen eigenen Kernel braucht, wählt einen vServer mit KVM, zum Beispiel mit Debian.

Häufige Fragen

Laufen Debian-Pakete auf Devuan?
Ja. Devuan übernimmt die Debian-Pakete und ersetzt nur die, die systemd voraussetzen. Fremde .deb-Pakete laufen, solange sie keine systemd-Funktionen verlangen.
Wie wechsle ich von Devuan 5 auf Devuan 6?
Über eine Neuinstallation im Kundenkonto. Daten lassen sich vorher mit dem Rettungsverzeichnis sichern, siehe Server neu installieren, ohne Daten zu verlieren.
Kann ich OpenRC statt sysvinit nutzen?
Devuan bietet OpenRC als Paket an (apt install openrc). Ausgeliefert wird sysvinit. Ein Wechsel ist ein Eingriff in den Systemstart, deshalb vorher eine Sicherung anlegen.

Weiter: Die ersten Schritte auf Ihrem vServer Alpine-Linux-Server einrichten

Devuan-Server ansehen