현재 실행중인 Linux 시스템에서 커널 구성을 얻습니까? .config를 삭제했으며 어떻게 든 proc 파일

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

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



답변

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

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

그리고 더 많은 장소.


답변

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

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/디렉토리에 있습니다.


답변

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


답변

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

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

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


답변

배포와는 별도로 다음을 실행할 수 있습니다. cat /lib/modules/$(uname -r)/build/.config

출처 : https://linux.die.net/man/5/proc (검색 /proc/config).


답변

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