7 कर्नेल अंगूठी बफर पढ़ने के लिए dmesg का उपयोग करना
विषयसूची:
dmesg
कमांड का उपयोग करनाdmesg
आउटपुट का निर्माण- फ़िल्टरिंग
dmesg
आउटपुट - क्लीयर द रिंग बफर
- निष्कर्ष
लिनक्स कर्नेल ऑपरेटिंग सिस्टम का मूल है जो सिस्टम संसाधनों तक पहुंच को नियंत्रित करता है, जैसे सीपीयू, आई / ओ डिवाइस, फिजिकल मेमोरी और फाइल सिस्टम। कर्नेल बूट प्रक्रिया के दौरान कर्नेल रिंग बफर को विभिन्न संदेश लिखता है, और जब सिस्टम चल रहा होता है। इन संदेशों में सिस्टम के संचालन के बारे में विभिन्न जानकारी शामिल है।
कर्नेल रिंग बफर भौतिक मेमोरी का एक हिस्सा है जो कर्नेल के लॉग संदेशों को रखता है। इसका एक निश्चित आकार है, जिसका अर्थ है कि एक बार बफर भर जाने के बाद, पुराने लॉग रिकॉर्ड्स ओवरराइट हो जाते हैं।
dmesg
कमांड-लाइन उपयोगिता का उपयोग लिनक्स और अन्य यूनिक्स जैसे ऑपरेटिंग सिस्टम में कर्नेल रिंग बफर को प्रिंट और नियंत्रित करने के लिए किया जाता है। यह कर्नेल बूट संदेशों की जांच करने और हार्डवेयर संबंधी समस्याओं को डीबग करने के लिए उपयोगी है।
इस ट्यूटोरियल में, हम
dmesg
कमांड की मूल बातें कवर करेंगे।
dmesg
कमांड का उपयोग करना
dmesg
कमांड के लिए सिंटैक्स निम्नानुसार है:
dmesg
जब बिना किसी विकल्प के आह्वान किया जाता है तो
dmesg
मानक आउटपुट पर कर्नेल रिंग बफर से सभी संदेश लिखता है:
dmesg
डिफ़ॉल्ट रूप से, सभी उपयोगकर्ता
dmesg
कमांड चला सकते हैं। हालांकि, कुछ प्रणालियों पर, गैर-रूट उपयोगकर्ताओं के लिए
dmesg
की पहुंच प्रतिबंधित हो सकती है। इस स्थिति में, जब
dmesg
आह्वान किया जाएगा तो आपको नीचे जैसा त्रुटि संदेश मिलेगा:
dmesg: read kernel buffer failed: Operation not permitted
कर्नेल पैरामीटर
kernel.dmesg_restrict
निर्दिष्ट करता है कि क्या
kernel.dmesg_restrict
उपयोगकर्ता कर्नेल लॉग बफ़र से संदेश देखने के लिए
dmesg
का उपयोग कर सकते हैं। प्रतिबंध हटाने के लिए, इसे शून्य पर सेट करें:
sudo sysctl -w kernel.dmesg_restrict=0
आमतौर पर, आउटपुट में बहुत सारी जानकारी होती है, इसलिए आउटपुट का केवल अंतिम भाग ही देखा जा सकता है। एक समय में एक पृष्ठ देखने के लिए, आउटपुट को पेजर की उपयोगिता जैसे कि
less
या
more
पाइप करें:
dmesg --color=always | less
--color=always
का उपयोग
--color=always
रंगीन आउटपुट को संरक्षित करने के लिए किया जाता है।
dmesg | grep -i usb
dmesg
कर्नेल द्वारा
/proc/kmsg
वर्चुअल फ़ाइल से उत्पन्न संदेशों को पढ़ता है। यह फ़ाइल कर्नेल रिंग बफर को एक इंटरफ़ेस प्रदान करती है और इसे केवल एक प्रक्रिया द्वारा खोला जा सकता है। यदि आपके सिस्टम पर
syslog
प्रक्रिया चल रही है और आप
cat
साथ फाइल को पढ़ने की कोशिश करते हैं, या
less
, कमांड लटका होगा।
syslog
डेमन कर्नेल संदेशों को
/var/log/dmesg
डंप करता है, इसलिए आप उस लॉग फ़ाइल का भी उपयोग कर सकते हैं:
dmesg
आउटपुट का निर्माण
dmesg
कमांड कई विकल्प प्रदान करता है जो आपको आउटपुट को फॉर्मेट और फिल्टर करने में मदद करते हैं।
--human
के सबसे अधिक उपयोग किए जाने वाले विकल्पों में से एक है
-H
(
--human
), जो मानव-पठनीय आउटपुट को सक्षम करता है। यह विकल्प कमांड आउटपुट को पेजर में पाइप करता है:
dmesg -H
मानव-पठनीय टाइमस्टैम्प को मुद्रित करने के लिए
-T
(
--ctime
) विकल्प का उपयोग करें:
dmesg -T
IPv6: ADDRCONF(NETDEV_CHANGE): wlp1s0: link becomes ready
टाइमस्टैम्प प्रारूप को
--time-format
का उपयोग करके भी सेट किया जा सकता है
dmesg --time-format=delta
आप दो या दो से अधिक विकल्पों को भी जोड़ सकते हैं:
dmesg -H -T
वास्तविक समय में
--follow
कमांड के आउटपुट को देखने के लिए
-w
(
--follow
) विकल्प का उपयोग करें:
फ़िल्टरिंग
dmesg
आउटपुट
आप
dmesg
आउटपुट को दी गई सुविधाओं और स्तरों तक सीमित कर सकते हैं।
सुविधा उस प्रक्रिया का प्रतिनिधित्व करती है जिसने संदेश बनाया।
dmesg
निम्नलिखित लॉग सुविधाओं का समर्थन करता है:
- कर्नेल - कर्नेल संदेश
user
- उपयोगकर्ता-स्तरीय संदेशmail
- मेल सिस्टमdaemon
- सिस्टम डेमोंसauth
- सुरक्षा / प्राधिकरण संदेशsyslog
- आंतरिक syslogd संदेशlpr
- लाइन प्रिंटर सबसिस्टमnews
- नेटवर्क समाचार सबसिस्टम
The
-f
(
--facility
) विकल्प आपको आउटपुट को विशिष्ट सुविधाओं तक सीमित करने की अनुमति देता है। विकल्प एक या एक से अधिक अल्पविराम से विभाजित सुविधाओं को स्वीकार करता है।
उदाहरण के लिए, आपके द्वारा उपयोग किए जाने वाले केवल कर्नेल और सिस्टम डेमॉन संदेशों को प्रदर्शित करने के लिए:
dmesg -f kern, daemon
प्रत्येक लॉग संदेश लॉग स्तर से जुड़ा होता है जो संदेश के महत्व को दर्शाता है।
dmesg
निम्नलिखित लॉग स्तरों का समर्थन करता है:
-
emerg
- सिस्टम अनुपयोगीalert
- कार्रवाई को तुरंत गंभीरता से लिया जाना चाहिए - महत्वपूर्ण स्थितियां - त्रुटि की स्थिति कोwarn
- चेतावनी की स्थितिnotice
- सामान्य लेकिन महत्वपूर्ण स्थिति कीinfo
- सूचनात्मकdebug
- डिबग-स्तरीय संदेश
-l
(
--level
) विकल्प आउटपुट को परिभाषित स्तरों तक सीमित करता है। विकल्प एक या एक से अधिक अल्पविराम से अलग स्तरों को स्वीकार करता है।
निम्न आदेश केवल त्रुटि और महत्वपूर्ण संदेश प्रदर्शित करता है:
क्लीयर द रिंग बफर
-C
(
--clear
) विकल्प आपको रिंग बफर को साफ़ करने की अनुमति देता है:
sudo dmesg -C
केवल sudo विशेषाधिकार वाले रूट या उपयोगकर्ता बफ़र को साफ़ कर सकते हैं।
--read-clear
(
--read-clear
) विकल्प का उपयोग करने से पहले बफर सामग्री को प्रिंट करने के लिए:
sudo dmesg -c
निष्कर्ष
dmesg
कमांड आपको कर्नेल रिंग बफर को देखने और नियंत्रित करने की अनुमति देता है। कर्नेल या हार्डवेयर समस्याओं का निवारण करते समय यह बहुत उपयोगी हो सकता है।
सभी उपलब्ध
dmesg
विकल्पों के बारे में जानकारी के लिए अपने टर्मिनल में
man dmesg
टाइप करें।
नोवेल नेटबुक से एसयूएसई लिनक्स के उच्च गोद लेने की अपेक्षा करता है, हालांकि यह उम्मीद करता है कि कुल मिलाकर लिनक्स बाजार एम्बेडेड लिनक्स पर जा रहा है।

लिनक्स के लिए नोवेल की मुख्य तकनीक और रणनीति अधिकारी के अनुसार, नेटबुक की मांग में बढ़ोतरी लिनक्स के लिए ड्राइव व्यवसाय की मदद कर रही है, क्योंकि उपकरणों को छोटे भंडारण के साथ कम लागत के लिए डिज़ाइन किया गया है।
की तुलना में कमांड 14 कमांड लाइन उपयोगिता का उपयोग करना आसान है: पावरशेल

कंसोल में गंभीर काम के लिए कमांड 14 कमांड लाइन उपयोगिता का उपयोग करना आसान है, कुछ उपयोगिताओं (यदि कोई है) ले लो कमांड की शक्ति से मेल खा सकते हैं। यदि आप नियमित रूप से कमांड लाइन का उपयोग करते हैं, तो यह एक अच्छा निवेश है।
लिनक्स में ग्रीप कमांड (फाइलों में पाठ ढूंढें)

ग्रेप लिनक्स में सबसे शक्तिशाली और आमतौर पर इस्तेमाल होने वाली कमांड में से एक है। Grep उन लाइनों के लिए एक या एक से अधिक इनपुट फ़ाइलों की खोज करता है जो किसी दिए गए पैटर्न से मेल खाती हैं और प्रत्येक मिलान रेखा को मानक आउटपुट में लिखती हैं।