มีวิธีทราบหรือไม่ว่าเคอร์เนลถูกคอมไพล์ด้วยตัวเลือกบางตัวที่เปิดใช้งาน (เช่นCONFIG_PROC_EVENTS=y
) โดยไม่ต้องดึงแพ็กเกจซอร์สเคอร์เนลออกและค้นหาในไฟล์ปรับแต่งหรือไม่?
มีวิธีทราบหรือไม่ว่าเคอร์เนลถูกคอมไพล์ด้วยตัวเลือกบางตัวที่เปิดใช้งาน (เช่นCONFIG_PROC_EVENTS=y
) โดยไม่ต้องดึงแพ็กเกจซอร์สเคอร์เนลออกและค้นหาในไฟล์ปรับแต่งหรือไม่?
คำตอบ:
หากคุณดูใน/boot
ไดเรกทอรีของคุณคุณจะสังเกตเห็นไฟล์เหล่านี้:
$ ls -l /boot/|grep config
-rw-r--r-- 1 root root 109919 Oct 21 2011 config-2.6.35.14-100.fc14.x86_64
-rw-r--r-- 1 root root 109919 Oct 27 2011 config-2.6.35.14-103.fc14.x86_64
-rw-r--r-- 1 root root 109919 Nov 23 2011 config-2.6.35.14-106.fc14.x86_64
สังเกตว่าเคอร์เนลรุ่นใดที่คุณใช้อยู่:
$ uname -r
2.6.35.14-106.fc14.x86_64
หากคุณgrep
ใช้uname -r
ไฟล์ " config-" ที่เหมาะสมคุณจะเห็นว่าตัวเลือกใดที่เคอร์เนลถูกสร้างขึ้นด้วย:
$ grep CONFIG_PROC_EVENTS= /boot/config-`uname -r`
CONFIG_PROC_EVENTS=y
/boot/
คือgrub
ไดเรกทอรี
ตัวเลือก Kernel /proc/config.gz
สามารถพบได้ใน
zgrep CONFIG_PROC_EVENTS= /proc/config.gz
CONFIG_IKCONFIG_PROC=y
ถ้าเคอร์เนลถูกคอมไพล์ด้วย
modprobe configs
และตรวจสอบว่า /proc/config.gz แสดงขึ้นมา
หากเคอร์เนลของคุณสร้างด้วยCONFIG_IKCONFIG_PROC
คุณสามารถค้นหาการกำหนดค่าที่แสดงใน/proc/config.gz
zless /proc/config.gz
Debian และ Redhat แพคเกจเคอร์เนลโดยทั่วไปติดตั้งconfig-$version
ไฟล์/boot
,
less /boot/config-$(uname -r)
ใน Debian คุณยังสามารถหาตัวเลือกเริ่มต้นในkernel-package
's เช่นเดียวกับการตั้งค่าตัวเลือกสถาปัตยกรรมที่ระบุใน./kernel/Config/config
./kernel/Config/
mkdir /tmp/k
cd /tmp/k
apt-get source kernel-package
find . -path '*/kernel/Config/*' -type f
sudo find / -xdev -name .config
(-xdev เก็บไว้ในระบบไฟล์เดียว)
โดยทั่วไปจะอยู่ภายใต้ /usr/src/some-specific-kernel-header-version/.config
เพียงแค่อ่านเป็นข้อความค้นหาด้วย grep หรือดูว่ามีสองเวอร์ชันแตกต่างกันอย่างไร diff -y -suppress-common-lines /path/linux2.6-r3/.config /path/linux2.6-r4/.config