सिस्टम को init सिस्टम (PID 1) के रूप में सिस्टम बूट नहीं किया गया है। संचालित नहीं कर सकते


143

मैं डब्ल्यूएसएल में डिजिटल महासागर के इस लेख में चर्चा के रूप में रेडिस इंस्टॉलेशन प्रक्रिया का पालन करने की कोशिश कर रहा हूं । उबंटू संस्करण स्थापित उबंटू 18.04 है।

रेडिस इंस्टॉलेशन में सब कुछ ठीक है लेकिन जब मैंने इसे चलाने की कोशिश की तो मुझे sudo systemctl start redisयह संदेश मिला।

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

उस पर मुझे क्या करना चाहिए?


1
इस विधि का पालन करें github.com/Microsoft/WSL/issues/365
Biswapriyo

जवाबों:


254

इसके बजाय, उपयोग करें: sudo service redis-server start

मुझे WSL पर उबंटू के भीतर से अन्य सेवाओं को रोकना / शुरू करना एक ही समस्या थी। यह काम किया, जहां systemctl नहीं किया।

और एक व्यक्ति आश्चर्यचकित हो सकता है, "आपको कैसे पता चलेगा कि सेवा का नाम 'रेडिस-सर्वर' था?" आप उन्हें उपयोग करके देख सकते हैंservice --status-all


हाँ .. मैं यह भी उपयोग किया गया के बाद से मैं इस समस्या ने लिखा है, टिप्पणी से एक भी एक टिप्पणी है कि कि मदद
Fil

अापका बहुत - बहुत धन्यवाद। यह उन सभी सेवाओं के लिए काम करता है जो WSL वातावरण में स्थापित किए गए हैं, जबकि हम शुरू करने के लिए systemctl का उपयोग नहीं कर सकते हैं। स्टॉप | पुनरारंभ सेवाएं।
बायु द्वियन सतरिया

1
यह देखते हुए सबसे अधिक मूल्यांकन किया गया उत्तर है कि यहाँ क्या होता है, यह थोड़ा और जानकारी देखकर अच्छा लगा होगा। मेरी समझ serviceमें एक अमूर्तता है और या तो वापस आ सकती है init.d( sysv init) या systemdजिस पर निहित प्रश्न काम नहीं करता है। serverfault.com/questions/867322/…
fraleone

1
fraleone, चूंकि यह मेरा जवाब था, मैं आपकी चिंता को दूर करने की कोशिश करूंगा। स्पष्ट होने के लिए, यह सवाल रेडिस (डब्ल्यूएसएल पर विशेष रूप से) को शुरू करने की कोशिश में एक त्रुटि के बारे में था, जहां सामान्य प्रारंभ कमांड का उपयोग करते हुए, systemctl start redisओपी के लिए काम नहीं कर रहा था। यह मेरे लिए भी काम नहीं कर रहा था। मुझे यह विकल्प मिला ( redis-server start) और उत्तर के रूप में पेश करने के लिए यहां आया था। मुझे खुशी है कि इसने दूसरों की मदद की। लेकिन मैं "यहाँ क्या होता है", या क्यों यह आपकी अपेक्षाओं की गणना करता है, यह समझाने की स्थिति में नहीं था। जैसा कि आप और अधिक, या शायद दूसरों को मिल सकता है के रूप में विस्तृत करने के लिए स्वतंत्र महसूस करें।
चार्ली इश्तार

14

सूडो सिस्टमैक्टल स्टार्ट रेडिस का उपयोग करने के बजाय : sudo /etc/init.d/redis start

डब्ल्यूएसएल में अभी हमारे पास सिस्टमड नहीं है


1
क्या आपको पता है कि यह WLS 2 पर उपलब्ध है?
thanos.a

1
एक त्वरित खोज से WSL2 को सिस्टमड के साथ बूट नहीं किया जाता है। यहाँ एक वर्कअराउंड है, हालाँकि मैंने परीक्षण नहीं किया है। github.com/microsoft/WSL/issues/994#issuecomment-502055417
बायरन गाव्रास

7

यदि आप डॉकर का उपयोग कर रहे हैं, तो आप इस कमांड के साथ पहले से सक्रिय सिस्टम डी के साथ उबंटू वाली छवि आज़मा सकते हैं:

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

फिर आपको बस चलाने की जरूरत है:

docker exec -it redis /bin/bash

और वहाँ आप बस Redis को स्थापित कर सकते हैं, इसे शुरू कर सकते हैं, इसे पुनः आरंभ कर सकते हैं या आपको जो भी आवश्यक हो।


WSL में डॉक नहीं चलेगा।
आदित्य टी।

2
@ आदित्य यह डब्ल्यूएलएस 2
थानोस

5

मुझे WSL 2 चलाने में यह समस्या थी

समाधान कमांड था

 $ sudo dockerd

अगर उसके बाद भी आपको अनुमति की समस्या है, तो कमांड चलाएँ:

 $ sudo usermod -aG docker your-user

1
आपको डिस्ट्रो शुरू भी करना होगा। इसलिए मेरे पास 2 टर्मिनल हैं एक रन बनाने वाला और दूसरा मैं अपने काम के लिए उपयोग करता हूं
स्वेतोस्लाव मारिनोव

3

मैं ubuntu और WSL के भीतर डॉकर शुरू करने की कोशिश कर रहा था।

इसने मेरे लिए काम किया,

sudo service docker start


0

यह मेरे लिए काम कर रहा था (WSL का उपयोग करके)

sudo /etc/init.d/redis start

(किसी अन्य सेवा के लिए, फ़ाइल नाम के लिए init.d फ़ोल्डर की जाँच करें)


0

प्रत्येक सेवा को चलाने के लिए इस कमांड का उपयोग करें उदाहरण के लिए नाम सेवा लिखें:

के लिए xrdp :

sudo /etc/init.d/xrdp start

के लिए redis :

sudo /etc/init.d/redis start

(किसी अन्य सेवा के लिए, फ़ाइल नाम के लिए init.d फ़ोल्डर की जाँच करें)


-1

मैं एक ही समस्या का सामना करना पड़ा! ps --no-headers -o comm 1 टर्मिनल में इस चलाने के बाद, प्रणाली या तो वापस आ जाएगी systemd या init

यदि यह 'init' लौटाता है, तो 'systemctl' कमांड आपके सिस्टम के लिए काम नहीं करेगा


क्या आप कृपया अपने उत्तर पर थोड़ा और विस्तार कर सकते हैं?
jpnadas

अपनी मोंगॉड प्रक्रिया को चलाने और प्रबंधित करने के लिए, आप अपने ऑपरेटिंग सिस्टम के इनिट सिस्टम का उपयोग कर रहे होंगे। लिनक्स के हाल के संस्करण सिस्टमड का उपयोग करते हैं (जो सिस्टमक्टल कमांड का उपयोग करता है), जबकि लिनक्स के पुराने संस्करण सिस्टम वी इनिट (जो सेवा कमांड का उपयोग करता है) का उपयोग करते हैं , यदि आपका सिस्टम सिस्टम का उपयोग करता है , तो कमांड है: - 'sudo systemctt start mongod 'और अगर यह System V Init का उपयोग करता है तो कमांड है: -' sudo service mongod start '
RoninS28
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.