Donc, vous suivez un tutoriel sur Internet et vous avez utilisé la commande systemd comme sudo systemctl start
.
À votre grande surprise, la commande génère une erreur comme celle-ci :
System has not been booted with systemd as init system (PID 1). Can't operate.
Raison :votre système Linux n'utilise pas systemd
La raison en est que vous essayez d'utiliser la commande systemd pour gérer les services sous Linux, mais votre système n'utilise pas systemd et (très probablement) le système classique SysV init (sysvinit).
Mais comment est-ce possible ? Vous utilisez Ubuntu et le didacticiel concerne également la même version d'Ubuntu. Comment se fait-il que cela ne fonctionne pas pour vous ?
Si vous utilisez Ubuntu dans Windows en utilisant WSL, vous aurez SysV au lieu de systemd et votre système se plaindra lorsque vous exécuterez la commande systemctl (destinée aux systèmes Linux avec systemd init system).
Comment savoir quel système d'init vous utilisez ? Vous pouvez utiliser cette commande pour connaître le nom du processus associé au PID 1 (le premier processus qui s'exécute sur votre système) :
ps -p 1 -o comm=
Il devrait afficher init ou sysv (ou quelque chose comme ça) dans la sortie. Si vous voyez init, votre système n'utilise pas systemd et vous devez utiliser les commandes init comme expliqué dans la section suivante.
Comment corriger l'erreur "Le système n'a pas été démarré avec systemd" ?
La réponse simple est de ne pas utiliser la commande systemctl. Utilisez plutôt la commande sysvinit équivalente.
Ce n'est pas trop compliqué et les deux commandes ont une syntaxe quelque peu similaire.
Ce tableau devrait vous aider.
Commande Systemd | Commande Sysvinit |
---|---|
systemctl start service_name | service service_name start |
systemctl stop service_name | service service_name stop |
systemctl redémarre service_name | service service_name redémarrer |
systemctl status service_name | état du service nom_service |
systemctl activer service_name | chkconfig service_name sur |
systemctl désactiver service_name | chkconfig service_name désactivé |
Quel que soit le didacticiel que vous suivez, essayez d'utiliser les commandes équivalentes et vous ne verrez pas le message "Le système n'a pas été démarré avec systemd en tant que système d'initialisation (PID 1). Ne peut pas fonctionner." erreur plus.
Faites-moi savoir si cela vous a aidé à vous débarrasser de cette erreur ou non. Je serai ravi de vous aider.