Ошибка System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: Host is down в WSL Ubuntu
Настраиваю gunicorn и nginx для django проекта по этому гайду: https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-18-04-ru.
При запуске сокета командой sudo systemctl start gunicorn.socket выдаётся ошибка:
System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: Host is down
в WSL Ubuntu
Ответы (3 шт):
Очевидно, этот гайд не подходит.
В справке по WSL Ubuntu говорится, что в этом варианте отсутствует systemd, вместо него используется другой init (о чем и сказано в тексте ошибки)
А так как systemctl является частью systemd, без него эта команда работать не будет.
Я тоже настраивал по похожему гайду, день парился. В итоге оказалось что вместо команд systemctl надо использовать аналоги для Ubuntu на Windows
Systemd command = Sysvinit command
systemctl start service_name = service service_name start
systemctl stop service_name = service service_name stop
systemctl restart service_name = service service_name restart
systemctl status service_name = service service_name status
systemctl enable service_name = chkconfig service_name on
systemctl disable service_name = chkconfig service_name off
Т.е. ваша команда должна звучать как:
sudo service gunicorn.socket start
По той же самой схеме команда у меня выдает ошибку
sudo systemctl status nginx
System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: Host is down
Но если переписать ее по другому работает
sudo service nginx status
* nginx is running
Вот такие пироги. А во всех инструкциях пихают команды systemctl...
Обычно эта проблема возникает при установке в версиях Ubuntu запущенных в wsl. Systemd стал поставляться в дистрибутиве из стора начиная с windows 11.
Для windows 10 systemd стал поставлять по умолчанию недавно. Необходимо либо отдельно включать systemd либо обновить wsl до последней версии
Попробуйте обновить в PowerShell командой
wsl --update