Sistem, init sistemi (PID 1) olarak systemd ile başlatılmadı. Ameliyat edemez


116

WSL'de bu dijital okyanus makalesinde tartışıldığı gibi Redis kurulum sürecini takip etmeye çalışıyorum . Yüklü Ubuntu sürümü Ubuntu 18.04'tür.

Redis kurulumundaki her şey yolunda ama bunu çalıştırmayı denediğimde sudo systemctl start redisbu mesajı aldım.

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

Bununla ne yapmam gerektiğine dair herhangi bir fikir?


Yanıtlar:


224

Bunun yerine şunu kullanın: sudo service redis-server start

WSL'de Ubuntu'nun içinden diğer hizmetleri durdurarak / başlatarak aynı sorunu yaşadım. Bu, systemctl'nin çalışmadığı yerlerde çalıştı.

Ve biri makul bir şekilde merak edebilir, "hizmet adının 'redis-server' olduğunu nasıl anlarsınız?" Onları kullanarak görebilirsinizservice --status-all


Evet .. Sorunu yazdığımdan beri bunu da kullanıyorum, yorumdan birinin de yardımcı olan bir yorumu var
Fil

Harika, çok teşekkür ederim. Bu, WSL ortamında kurulan hizmetlerin çoğu için çalışır, ancak hizmetleri başlatmak | durdurmak | yeniden başlatmak için systemctl kullanamıyoruz.
Bayu Dwiyan Satria

1
Bunun en yüksek puanlı cevap olduğu göz önüne alındığında, burada ne olduğunu biraz daha fazla görmek güzel olurdu. Benim anlayışıma servicegöre bir soyutlamadır ve ya init.d( sysv init) ya systemdda ima edilen sorunun işe yaramayacağı duruma geri dönebilir . serverfault.com/questions/867322/…
fraleone

fraleone, cevabım olduğu için endişenizi gidermeye çalışacağım. Açık olmak gerekirse, soru Redis'i başlatmaya çalışırken (özellikle WSL'de) başka bir yerde belgelenen ortak başlatma komutunu kullanmanın systemctl start redisOP için işe yaramadığı bir hatayla ilgiliydi . Benim için de çalışmıyordu. Bu alternatifi ( redis-server start) buldum ve bir cevap olarak buraya geldim. Başkalarına yardım etmesine sevindim. Ama "burada ne olduğunu" ya da neden beklentilerinizi karşıladığını açıklayacak konumda değildim / değilim. Daha fazlasını buldukça veya belki başkalarının bulacağı şekilde detaylandırmaktan çekinmeyin.
charlie arehart


6

Docker kullanıyorsanız, bu komutla zaten etkin olan System D ile Ubuntu içeren bir imajı deneyebilirsiniz:

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

O zaman koşmanız yeterlidir:

docker exec -it redis /bin/bash

ve orada sadece Redis'i kurabilir, başlatabilir, yeniden başlatabilir veya ihtiyacınız olan her şeyi yapabilirsiniz.


Docker WSL'de çalışmaz.
Aditya T

2
@Aditya WLS 2'de var
thanos.a

3

WSL 2'yi çalıştırırken bu sorunu yaşadım

çözüm emirdi

 $ sudo dockerd

bundan sonra hala izinle ilgili bir sorununuz varsa, şu komutu çalıştırın:

 $ sudo usermod -aG docker your-user

1
ayrıca dağıtımı başlatmanız gerekir. Bu yüzden biri docker çalıştıran ve diğeri işim için kullandığım 2 terminalim var
Svetoslav Marinov

1

Docker'ı ubuntu ve WSL içinde başlatmaya çalışıyordum.

Bu benim için çalıştı

sudo service docker start


0

Bu benim için çalıştı (WSL kullanarak)

sudo /etc/init.d/redis start

(başka herhangi bir hizmet için, dosya adları için init.d klasörüne bakın)


0

her servisi çalıştırmak için bu komutu kullanın, sadece isim servisini yazın, örneğin:

için XRDP :

sudo /etc/init.d/xrdp start

için REDIS :

sudo /etc/init.d/redis start

(başka herhangi bir hizmet için, dosya adları için init.d klasörüne bakın)


-1

Ben de aynı problemle karşılaştım! ps --no-headers -o comm 1 Terminalde bu çalıştırdıktan sonra, sistem ya da döner systemd veya init

'init' döndürürse, 'systemctl' komutu sisteminiz için çalışmayacaktır.


Cevabınızı biraz daha detaylandırır mısınız?
jpnadas

mongod sürecinizi çalıştırmak ve yönetmek için işletim sisteminizin yerleşik init sistemini kullanıyor olacaksınız. Linux'un son sürümleri systemd (systemctl komutunu kullanır) kullanma eğilimindeyken, Linux'un eski sürümleri System V init kullanma eğilimindeyken (hizmet komutunu kullanır) Sisteminiz systemd kullanıyorsa , komut şudur: - 'sudo systemctl start mongod 've System V Init kullanıyorsa komut: -' sudo service mongod start '
RoninS28
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.