कैसे निर्धारित करने के लिए कि Systemd आपातकालीन मोड में क्यों प्रवेश करता है


10

डेबियन जेसी चल रहा मेरा डेस्कटॉप कंप्यूटर हर बूट अप पर एक आपातकालीन मोड खोल में छोड़ने लगा। स्क्रीन का उपयोग journalctl -xbकारण खोजने के लिए, और systemctl defaultबूटिंग जारी रखने के लिए उपयोग करने के लिए कहते हैं । जब मैं निष्पादित करता हूं systemctl default, तो सिस्टम बूट करना जारी रखता है, और सिस्टम का उपयोग करने के कुछ हफ्तों के बाद स्पष्ट रूप से कुछ भी गलत नहीं है।

के माध्यम से देखते हुए journalctl -xb, एक आपातकालीन शेल को छोड़ने का कारण के रूप में कुछ भी नहीं खड़ा है। वहाँ एक आसान तरीका निर्धारित करने के लिए है कि वास्तव में कारण यह आपात मोड में जाने का फैसला किया? क्या अन्य झंडे या बूटअप विकल्प हैं जो यह स्पष्ट करेंगे कि समस्या कहां है?


2
यह पत्रिका में दिखाई देनी चाहिए लेकिन आपके द्वारा प्रदान की गई सीमित जानकारी के साथ, आपका मार्गदर्शन करने का कोई तरीका नहीं है। क्या आपके पास इसकी कॉपी है journalctl -xb कि यह कब हुआ?
जूली पेलेटियर

3
systemd.log_level=debug systemd.log_target=kmsg log_buf_len=1Mफोरेंसिक स्तर के विवरण के लिए वर्बोज़ लॉगिंग मोड में बूट ...
जसोनव्रीयन

2
मौजूदा लॉग आपको पहले से ही इसका कारण दे सकते हैं। ऐसे कई कारण हैं जिनका अनुमान लगाना बहुत मुश्किल है।
जियाकोमो कैटेनाज़ी

1
मुझे उबंटू 16.04 की एक ही समस्या है। पिछले 20 वर्षों से बहुत सारे लिनक्स सिस्टमों को स्थापित करना, उपयोग करना, मरम्मत करना। स्क्रीन पर कुछ खास नहीं है और इस बार लॉग में कुछ भी नहीं है। स्क्रीन कहता है कि Ctrl-D बूट करना जारी रखता है, लेकिन यह केवल एक पल के बाद वापस उसी प्रॉम्प्ट पर जाता है। बिना किसी सुराग के। निराशा होती है, है ना?
स्टीफन गौरीचॉन

क्या आपने डिबगिंग सिस्टमड में "डायग्नोसिस बूट प्रॉब्लम्स" सेक्शन के सभी चरणों को आजमाया है ?
उपनिवेश

जवाबों:


6

विफलता को [ FAIL ]कंसोल (इसके बजाय [ OK ]) पर लाल दिखाया जाना चाहिए , इसके बगल में इकाई का विवरण। आमतौर पर पहली असफलता सबसे महत्वपूर्ण होती है। कंसोल पर शिफ्ट + पेजअप का उपयोग स्क्रॉल करें और आउटपुट के पिछले कुछ स्क्रीनफुल को देखें। बहुत अधिक आउटपुट होने पर यह काम नहीं कर सकता है।

यह तब भी काम करता है जब आप सामान्य रूप से [ OK ]संदेश नहीं देखते हैं , उदाहरण के लिए quietकर्नेल कमांड लाइन के कारण जैसा कि डेबियन द्वारा उपयोग किया जाता है। पहली विफलता पर, सिस्टमड वर्बोज़ मोड पर स्विच करता है।

अन्यथा, आप उपयोग कर सकते हैं systemctl। किसी भी विकल्प के बिना, यह ज्ञात इकाइयों की एक विशाल सूची दिखाता है जिसमें विफलताओं को लाल रंग में हाइलाइट किया गया है। बस असफल लोगों को दिखाने के लिए, का उपयोग करें systemctl --state=failedया systemctl --failed


यदि आप यूनिट फ़ाइलों के माध्यम से खोज करते हैं, तो बूट के वापस लौटने के लिए केवल कुछ ही तरीके हैं emergency.target। यह आमतौर पर होता है जब एक .mountस्थानीय फाइल सिस्टम के लिए एक इकाई विफल हो जाती है, जिससे local-fs.targetविफल हो जाती है। या जब आपके initramfs रूट फाइल सिस्टम को माउंट करने में विफल रहता है, अगर आपके initramfs सिस्टमड का उपयोग करते हैं।

local-fs.targetहै OnFailure=emergency.target। और यह विफल हो जाता है क्योंकि स्थानीय फाइल सिस्टम के लिए इकाइयाँ स्वचालित रूप से स्थानीय- FAQ.target की सूची में शामिल हो जाती हैं (जब तक कि उनके पास न हो DefaultDependencies=no)।

$ systemctl show --property Requires local-fs.target
Requires=-.mount home.mount boot.mount boot-efi.mount

2

हर बार एक बार मैं "रखरखाव मोड" प्रॉम्प्ट में चला जाता हूं, और मुझे त्रुटियों के लिए भी जर्नल के माध्यम से स्क्रॉल करना पड़ता है। चूंकि जर्नलक्ट पेजर के रूप में कम उपयोग करता है, इसलिए आपको अपनी खोज में किसी भी कम शॉर्टकट को लागू करने में सक्षम होना चाहिए।

आमतौर पर, मैं खोज फ़ंक्शन (/) पर भरोसा करता हूं और "त्रुटि", "चेतावनी" या "असफल" के बराबर कुछ भी खोजता हूं। और केस को असंवेदनशील खोज के लिए मजबूर करना सुनिश्चित करें।

तो मेरे कीस्ट्रोक्स जैसा दिखना चाहेंगे:

-i (case insensitive)
g (move to start)
/error
nnnn (skip through results)
g (move to start)
/fail
nnnn (skip through results)
g (move to start)
/warn
nnnn (skip through results)

यह तकनीकी रूप से सटीक समस्या के लिए एक संपूर्ण या सटीक खोज नहीं है, लेकिन मैंने इस तरह से बूट मुद्दे को कभी नहीं छोड़ा है।

नीचे कुछ संबंधित कम कीबोर्ड शॉर्टकट:

http://www.thegeekstuff.com/2010/02/unix-less-command-10-tips-for-effective-navigation/


मेरा मानना ​​है कि यह भी जल्दी से पृष्ठ के लिए संभव हो सकता है और लाल संदेश (LOG_ERR और ऊपर) की तलाश में होना चाहिए। systemdएक सेवा इकाई शुरू करने के लिए विफलताओं के लिए लाल संदेश लॉग करेगा, या एक फाइल सिस्टम को माउंट करने में अधिक महत्वपूर्ण विफलता।
sourcejedi
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.