वर्तमान में चल रहे लिनक्स सिस्टम से कर्नेल विन्यास प्राप्त करें?


96

मैंने गलती से लिनक्स पर अपने कर्नेल कॉन्फ़िगरेशन के लिए अपना .config हटा दिया था, और यह याद रखना कि किसी भी तरह से फ़ाइल सिस्टम के माध्यम से कर्नेल कॉन्फ़िगरेशन को पुनः प्राप्त करने का एक तरीका था।

क्या यह अभी भी संभव है, और यदि ऐसा है तो मैं इसे कैसे करूंगा?


@ सन्नी ऑर्डेल: अब दो मान्य उत्तर हैं। क्या आप उनमें से एक को स्वीकार कर सकते हैं?
Hennes

3
@Hennes उपयोगकर्ता तब से ऑनलाइन नहीं है Jun 27 '11 at 16:19। मत सोचो कि वह कुछ भी स्वीकार करने जा रहा है।
DanteTheEgregore

जवाबों:


98

आपके सिस्टम के आधार पर, आप इसे इनमें से किसी एक में पाएंगे:

  1. /proc/config.gz
  2. /boot/config
  3. /boot/config-$(uname -r)

और संभवतः अधिक स्थान।


4
कुछ डिस्ट्रोस (फेडोरा / रेडहैट) पर /boot/config-2.6.18-194.el5 या इसी तरह, कर्नेल रिलीज स्ट्रिंग के साथ।
Phil

1
@Phil से मैं एक distro (Zenwalk) चलाता हूं, जहां उन फ़ाइलनामों को नवीनतम कर्नेल पैकेज द्वारा सहानुभूति दी गई है /boot/config। मैं आगे बढ़ूंगा और इन्हें सूची में जोड़ूंगा - मुझे याद दिलाने के लिए धन्यवाद।
new123456

in / boot / config - amazon linux और संभावना RHEL के लिए $ (uname -r)
aeb0

1
रास्पबेरी पी के लिए उबंटू मेट या काली लिनक्स पर ऐसी फाइलें मौजूद नहीं हैं।
Sopalajo de Arrierez

1
आपको यह उल्लेख करना चाहिए कि आपका पहला आइटम (/ proc) केवल तभी उपलब्ध है जब मॉड्यूल "कॉन्फ़िगर" लोड किया गया है
Andy

51

एक वास्तविक चल रहे कर्नेल के लिए, कॉन्फ़िगर फ़ाइल को प्राप्त करने का एक तरीका यह है

cat /proc/config.gz | gunzip > running.config

या,

zcat /proc/config.gz > running.config

फिर running.config चल रहे लिनक्स कर्नेल का विन्यास समाहित करेगा।

हालाँकि यह तभी संभव है जब आपके चलने वाले लिनक्स कर्नेल को कॉन्फ़िगर किया गया हो /proc/config.gz। इसके लिए विन्यास पाया जाता है

  • General setup
    • [*] Kernel .config support
      • [*] Enable access to .config through /proc/config.gz

अधिकांश वितरण में यह कॉन्फ़िगरेशन सेट नहीं है। वे अपने कर्नेल पैकेज में कर्नेल कॉन्फिग फाइल प्रदान करते हैं और आमतौर पर इसमें पाए जाते हैं /boot/ निर्देशिका।


5
इन के रूप में जाना जाता है CONFIG_IKCONFIG तथा CONFIG_IKCONFIG_PROC, अगर आप उनके लिए grepping कर रहे हैं।
chronospoon

1
zcat /proc/config.gz ठीक काम करता है।
Quanlong

33

थोड़ा देर से लेकिन शायद यह किसी की मदद करता है। मेरे पास नहीं था /proc/config.gz/boot/config/boot/config-$(uname -r) मेरे कंप्यूटर पर। मुझे दौड़ना पड़ा modprobe configs जड़ के रूप में। फिर, /proc/config.gz उपस्थित था


इंटेल एमआईसी एम्बेडेड लिनक्स (बिजीबॉक्स) पर पुष्टि कर सकता है, यह आवश्यक है और काम करता है।
Mark Lakata

4
रास्पबेरी पाई 2 पर रास्पियन के लिए भी
Drew McGowen

2
FATAL: Module configs not found. OMV 2.2 (डेबियन व्हीज़ी) पर बहुत खुशी हुई कि उन्होंने इसे बूट / कॉन्फिगरेशन में उपलब्ध कराया - $ (uname -r)
tuk0z

आपने सर, मेरा दिन बचाया। एक +1 है
Christian

'modprobe configs' बहुत मददगार है मेरे पास ऐसे परीक्षण थे जो स्वतः ही kconfig की जांच करते हैं जो एक रास्पबेरी पाई 3 पर विफल हो रहे थे, लेकिन अब काम करते हैं। पारितोषिक के लिए धन्यवाद!!
Tim Bird

8

यदि आपको / boot / in /proc/config.gz में कर्नेल कॉन्फ़िगरेशन नहीं मिल रहा है, तो आप यह जानकारी कर्नेल से स्वयं निकालने का प्रयास कर सकते हैं।

किसी भी कर्नेल स्रोत कोड के अंदर स्थित कॉन्फ़िगरेशन निकालने के लिए एक स्क्रिप्ट होती है scripts/extract-ikconfig, उस कर्नेल को पास करें जिसे आप इस स्क्रिप्ट के पैरामीटर के रूप में इसके कॉन्फ़िगरेशन को चाहते हैं।

यह समाधान तभी काम करेगा जब Kernel .config support संकलित कर्नेल में सक्षम किया गया था।


2
यह बेहद मददगार था और इससे मुझे बहुत सारे कॉन्फिगरेशन हासिल करने में मदद मिली जिसकी मुझे कभी उम्मीद नहीं थी। धन्यवाद!
selurvedu

1

वितरण के स्वतंत्र रूप से, आप चला सकते हैं: cat /lib/modules/$(uname -r)/build/.config

स्रोत: https://linux.die.net/man/5/proc (निम्न को खोजें /proc/config )।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.