Accueil · Aide · Configurer un serveur Devuan sans systemd
Configurer un serveur Devuan sans systemd
Devuan, c'est Debian sans systemd. Les paquets, apt et l'arborescence sont les mêmes, les services sont démarrés par sysvinit. Ce guide s'applique à Devuan 6 (Excalibur) sur un serveur Devuan et montre ce qui change par rapport à Debian.
Ce qui est installé
- sysvinit comme système de démarrage, les scripts de démarrage se trouvent dans
/etc/init.d. - ifupdown pour le réseau. L'adresse figure dans
/etc/network/interfaceset est définie lors de l'installation. - apt avec les dépôts
deb.devuan.org/mergedpour Excalibur et les mises à jour de sécurité. - sudo. OpenSSH pour la connexion s'ajoute lors de la configuration du serveur.
L'image est volontairement légère. cron et un service de journalisation manquent et s'installent avec une seule commande.
1. Mettre à jour et installer des paquets
apt update && apt full-upgrade
apt install nginx
Les paquets avec leur propre service apportent un script de démarrage pour sysvinit. Le service tourne après l'installation et démarre à chaque redémarrage.
2. Gérer les services
| Rôle | Devuan | Debian avec systemd |
|---|---|---|
| Démarrer, arrêter, redémarrer | service nginx start|stop|restart | systemctl start|stop|restart nginx |
| État | service nginx status | systemctl status nginx |
| Activer au démarrage | update-rc.d nginx enable | systemctl enable nginx |
| Désactiver au démarrage | update-rc.d nginx disable | systemctl disable nginx |
| Tous les services | service --status-all | systemctl list-units |
3. Configurer votre propre service
Certains programmes ne fournissent qu'une unité systemd. Un court script de démarrage avec start-stop-daemon suffit alors. L'enregistrer sous /etc/init.d/monservice et adapter le programme et l'utilisateur :
#!/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
Le bloc INIT INFO détermine quand le service démarre. $network attend le réseau.
4. Installer cron et les journaux
apt install cron rsyslog logrotate
Ensuite, cron exécute les entrées de crontab -e, et les journaux système se trouvent dans /var/log/syslog. Sans systemd, il n'y a pas de journalctl.
5. Modifier les paramètres SSH
Après une modification dans /etc/ssh/sshd_config, sshd -t vérifie le fichier, service ssh restart l'applique. Si une connexion reste ouverte jusqu'à ce que la nouvelle connexion réussisse, vous ne vous enfermez pas dehors. En cas d'urgence, la console est disponible dans le compte client.
Conteneur et noyau
Chez nous, Devuan tourne en conteneur avec Incus. Il utilise le noyau de l'hôte. Les mises à jour du noyau et les modules du noyau personnalisés n'ont donc pas lieu d'être. Qui a besoin de son propre noyau choisit un vServer avec KVM, par exemple avec Debian.
Questions fréquentes
- Les paquets Debian fonctionnent-ils sur Devuan ?
- Oui. Devuan reprend les paquets Debian et ne remplace que ceux qui dépendent de systemd. Les paquets .deb tiers fonctionnent tant qu'ils n'exigent pas de fonctions systemd.
- Comment passer de Devuan 5 à Devuan 6 ?
- Par une réinstallation dans le compte client. Les données peuvent être sauvegardées au préalable avec le répertoire de secours, voir Réinstaller le serveur sans perdre de données.
- Puis-je utiliser OpenRC au lieu de sysvinit ?
- Devuan propose OpenRC sous forme de paquet (
apt install openrc). sysvinit est livré par défaut. Un changement touche au démarrage du système, créez donc une sauvegarde au préalable.
Suite : Les premiers pas sur votre vServer Configurer un serveur Alpine Linux