304 votes

Le système n'a pas été démarré avec systemd comme système init (PID 1). Impossible de faire fonctionner

J'essaie de suivre le processus d'installation de Redis qui a été discuté dans ce document. article de l'océan numérique, pour dans WSL(Windows Sub-System for Linux). La version Ubuntu installée est Ubuntu 18.04.

Tout ce qui concerne l'installation de redis est correct, mais lorsque j'ai essayé d'exécuter ceci sudo systemctl start redis J'ai reçu ce message.

System has not been booted with systemd as init system (PID 1). Can't operate.

Une idée de ce que je dois faire avec ça ?

1 votes

Suivez cette méthode github.com/Microsoft/WSL/issues/365

465voto

charlie arehart Points 427

Au lieu de cela, utilisez : sudo service redis-server start

J'ai eu le même problème, en arrêtant/démarrant d'autres services depuis Ubuntu sur WSL. Cela a fonctionné, alors que systemctl ne l'a pas fait.

Et l'on pourrait raisonnablement se demander : "comment sauriez-vous que le nom du service est 'redis-server' ?". Vous pouvez les voir en utilisant service --status-all

1 votes

Oui, je l'utilise aussi depuis que j'ai écrit le problème, celui du commentaire a aussi un commentaire qui aide.

0 votes

Super, merci beaucoup. Cela fonctionne pour la plupart des services qui ont été installés dans l'environnement WSL alors que nous ne pouvons pas utiliser systemctl pour démarrer|arrêter|redémarrer les services.

3 votes

Étant donné qu'il s'agit de la réponse la mieux notée, il aurait été intéressant de voir un peu plus d'informations sur ce qui se passe ici. D'après ce que j'ai compris service est une abstraction et peut se rabattre sur l'un ou l'autre des éléments suivants init.d ( sysv init) ou systemd ce qui, comme le laisse entendre la question, ne fonctionne pas. serverfault.com/questions/867322/

60voto

Byron Gavras Points 494

Au lieu d'utiliser

sudo systemctl start redis

utiliser :

sudo /etc/init.d/redis start

pour l'instant, nous n'avons pas de systemd dans la WSL

2 votes

Savez-vous si elle est disponible sur WLS 2 ?

1 votes

D'après une recherche rapide, WSL2 n'est pas démarré avec systemd. Il existe cependant une solution de contournement que je n'ai pas testée. github.com/microsoft/WSL/issues/994#issuecomment-502055417

1 votes

Comment je l'utilise dans une image fedora / centos.

25voto

Felipe Augusto Points 494

J'ai eu ce problème en utilisant WSL 2

la solution était la commande

 $ sudo dockerd

si après cela vous avez toujours un problème de permission, exécutez la commande :

 $ sudo usermod -aG docker your-user

3 votes

Il faut aussi démarrer la distro. J'ai donc 2 terminaux : l'un exécute Docker et l'autre est utilisé pour mon travail.

3 votes

Vous pouvez utiliser "sudo dockerd &" et vous n'aurez pas besoin de 2 terminaux.

16voto

Sangeetha Points 49

J'essayais de lancer Docker dans ubuntu et WSL.

Cela a marché pour moi,

sudo service docker start

11voto

Carlos Saltos Points 11

Si vous utilisez Docker, vous pouvez essayer une image qui a Ubuntu avec System D déjà actif avec cette commande :

docker run -d --name redis --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro jrei/systemd-ubuntu:18.04

Alors tu dois juste courir :

docker exec -it redis /bin/bash

et là vous pouvez juste installer Redis, le démarrer, le redémarrer ou tout ce dont vous avez besoin.

1 votes

Docker ne fonctionne pas dans WSL.

4 votes

@Aditya C'est le cas dans WLS 2.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X