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/interfacesund ist bei der Einrichtung gesetzt. - apt mit den Paketquellen
deb.devuan.org/mergedfü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
| Aufgabe | Devuan | Debian mit systemd |
|---|---|---|
| Starten, anhalten, neu starten | service nginx start|stop|restart | systemctl start|stop|restart nginx |
| Zustand | service nginx status | systemctl status nginx |
| Beim Start einschalten | update-rc.d nginx enable | systemctl enable nginx |
| Beim Start abschalten | update-rc.d nginx disable | systemctl disable nginx |
| Alle Dienste | service --status-all | systemctl 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