Các tùy chọn xây dựng kernel hiện tại được lưu trữ ở đâu?


23

Có cách nào để biết liệu kernel đã được biên dịch với một tùy chọn nhất định được kích hoạt (tức là CONFIG_PROC_EVENTS=y) mà không cần phải rút gói nguồn kernel và tìm trong tệp cấu hình không?

Câu trả lời:


18

Nếu bạn xem qua /bootthư mục của mình, bạn sẽ nhận thấy những tập tin này:

$ 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

Lưu ý phiên bản Kernel nào bạn đang sử dụng:

$ uname -r
2.6.35.14-106.fc14.x86_64

Nếu bạn grepthông qua uname -rtệp " config-" thích hợp, bạn có thể thấy Kernel được tạo với các tùy chọn nào:

$ grep CONFIG_PROC_EVENTS= /boot/config-`uname -r`
CONFIG_PROC_EVENTS=y

Tài liệu tham khảo


4
Điều đó đúng trong các bản phát hành dựa trên Debian, nhưng có thể không đúng với các bản khác, ví dụ Arch Linux.
Alicia

1
@ntrrgc - Tôi không thể xác nhận cho ArchLinux, nhưng đó là cách dành cho RedHat, Debian và Ubuntu. 3 distro này bao gồm hầu hết thế giới * nix. Nếu ai đó có bản phân phối ArchLinux, bạn có thể vui lòng xác nhận phương pháp này không?
slm

4
Tôi sử dụng Arch Linux và tôi có thể xác nhận điều này không hoạt động trong Arch Linux.
Alicia

@slm điều này thậm chí không đúng với Ubuntu, ít nhất là Kubfox. Tôi chỉ cần kiểm tra - điều duy nhất tôi có trong /boot/grubthư mục.
Hi-Angel

@slm có lẽ những cấu hình này là một phần của gói nào đó? Sau đó, nó sẽ là đủ để liệt kê các tập tin của gói đó.
Hi-Angel

13

Tùy chọn hạt nhân có thể được tìm thấy trong /proc/config.gz.

zgrep CONFIG_PROC_EVENTS= /proc/config.gz

nếu kernel đã được biên dịch với CONFIG_IKCONFIG_PROC=y.


6
Điều này chỉ hoạt động nếu kernel được biên dịch với bộ CONFIG_IKCONFIG_PROC.
Bruce Ediger

1
Điều này không hoạt động với tôi trên bất kỳ bản phân phối nào tôi có sẵn: Debian, RedHat, hay Ubuntu. Đây là tất cả các hệ thống chứng khoán, vì vậy tôi không nghĩ cách tiếp cận này hữu ích trừ khi bạn tự xây dựng kernel của mình hoặc bản phân phối cụ thể của bạn cung cấp nó.
slm

1
Trong các hạt nhân distro, tùy chọn IKCONFIG chỉ có thể được kích hoạt dưới dạng một mô-đun. Hãy thử modprobe configsvà kiểm tra xem /proc/config.gz có xuất hiện không.
XZS

0

Nếu kernel của bạn được xây dựng cùng CONFIG_IKCONFIG_PROC, bạn có thể tìm thấy cấu hình được liệt kê trong/proc/config.gz

zless /proc/config.gz

Các gói kernel dựa trên Debian và Redhat thường cài đặt một config-$versiontệp trong /boot,

less /boot/config-$(uname -r)

Trong Debian, bạn cũng có thể tìm thấy các tùy chọn mặc định trong kernel-packagecác ./kernel/Config/configtùy chọn cấu hình cụ thể cũng như kiến ​​trúc cụ thể trong ./kernel/Config/.

mkdir /tmp/k
cd /tmp/k
apt-get source kernel-package
find . -path '*/kernel/Config/*' -type f

-1

sudo find / -xdev -name .config(-xdev giữ nó trên một hệ thống tập tin)

Nói chung nó sẽ ở dưới /usr/src/some-specific-kernel-header-version/.config

Chỉ cần đọc nó dưới dạng bất kỳ văn bản nào, tìm kiếm bằng grep hoặc để xem hai phiên bản khác nhau như thế nào diff -y -suppress-common-lines /path/linux2.6-r3/.config /path/linux2.6-r4/.config

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.