현재 실행중인 Linux 시스템에서 커널 구성을 얻습니까?


107

실수로 Linux에서 커널 구성을 위해 .config를 삭제했으며 어떻게 든 proc 파일 시스템을 통해 커널 구성을 검색하는 방법이 있었음을 기억합니다.

이것은 여전히 ​​가능합니까? 그렇다면 어떻게해야합니까?


@Sonny Ordell : 이제 두 가지 유효한 답변이 있습니다. 그들 중 하나를 받아 들일 수 있습니까?
Hennes

3
@Hennes User 이후 온라인에 없습니다 Jun 27 '11 at 16:19. 그가 아무것도 받아 들일 것이라고 생각하지 마십시오.
DanteTheEgregore

답변:


110

시스템에 따라 다음 중 하나에서 찾을 수 있습니다.

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

그리고 더 많은 장소.


4
일부 배포판 (Fedora / Redhat)에서는 커널 릴리스 문자열이 추가 된 /boot/config-2.6.18-194.el5 또는 이와 유사합니다.
Phil

1
@ 필자는 그 파일 이름이 최신 커널 패키지로 심볼릭 링크 된 배포판 (Zenwalk)을 실행합니다 /boot/config. 계속해서 목록에 추가하겠습니다. 상기시켜 주셔서 감사합니다.
new123456

아마존 리눅스 및 아마도 RHEL 용 / boot / config-$ (uname -r)에서
aeb0

1
Ubuntu Mate 또는 Kali Linux for RaspBerry Pi에는 이러한 파일이 없습니다.
Sopalajo de Arrierez

1
첫 번째 항목 (/ proc)은 "configs"모듈이로드 된 경우에만 사용할 수 있습니다.
Andy

55

실제 실행중인 커널의 경우 구성 파일을 얻는 한 가지 방법은

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

또는,

zcat /proc/config.gz > running.config

그런 다음 running.config실행중인 Linux 커널의 구성이 포함됩니다.

그러나 이것은 실행중인 리눅스 커널이 가지고있는 경우에만 가능합니다 /proc/config.gz. 이에 대한 구성은

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

대부분의 배포판에는이 구성 세트가 없습니다. 커널 설정 파일은 커널 패키지로 제공되며 일반적으로 /boot/디렉토리에 있습니다.


5
당신이 그들을 움켜 쥐면 이것들은 CONFIG_IKCONFIGand 로 알려져 CONFIG_IKCONFIG_PROC있습니다.
chronospoon

2
zcat /proc/config.gz잘 작동합니다.
Quanlong

37

조금 늦었지만 어쩌면 누군가를 도울 수 있습니다. 나는 내 컴퓨터 /proc/config.gz/boot/config없었 /boot/config-$(uname -r)습니다. 나는 modprobe configs뿌리 로 달려야 했다. 그때, /proc/config.gz존재했다


Intel MIC 내장 Linux (BusyBox)에서 확인할 수 있으며, 필요하고 작동합니다.
Mark Lakata

4
Raspberry Pi 2의 Raspbian과 동일
Drew McGowen

2
FATAL: Module configs not found.$ (UNAME -r) - OMV 2.2 (데비안 위지)가에 / 부팅 / 설정 그것을 제공 다행에
tuk0z

당신은 내 하루를 구했습니다. +1
Christian

'modprobe configs'는 Raspberry Pi 3에서 실패한 kconfig를 자동으로 검사하는 테스트를 받았지만 이제는 작동하는 데 매우 유용합니다. 팁 고마워!!
팀 버드

9

/ boot / 또는 /proc/config.gz에서 커널 구성을 찾을 수 없으면 커널 자체에서이 정보를 추출 할 수 있습니다.

커널 소스 코드에는에있는 구성을 추출하는 스크립트가 있습니다. scripts/extract-ikconfig구성하려는 커널을 매개 변수로이 스크립트에 전달하십시오.

이 솔루션은 Kernel .config support컴파일 된 커널에서 활성화 된 경우에만 작동합니다 .


2
이것은 매우 도움이되었고 내가 보지 못했던 많은 구성을 얻는 데 도움이되었습니다. 감사!
selurvedu


1

RedHat 기반 배포의 경우, 상용 커널의 .config 파일은 다음 명령 cat /lib/modules/$(uname -r)/build/.config을 사용하여 kernel-devel 패키지를 설치 한 후 사용할 수 있는 명령으로 찾을 수 있습니다 .

yum -y install kernel-devel

으로합니다 실제 레드햇 엔터프라이즈 리눅스 배포판,이 패키지를 얻을 수있는 소스 저장소를 활성화해야합니다. RHEL8에서 다음 명령을 사용하여이를 수행하십시오.

subscription-manager repos --enable=rhel-8-for-x86_64-baseos-source-rpms
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.