2011-05-23 10:49:38 +0000 2011-05-23 10:49:38 +0000
118
118

Ottenere la configurazione del kernel dal sistema Linux attualmente in esecuzione?

Ho accidentalmente cancellato il mio .config per la mia configurazione del kernel su Linux, e mi sembra di ricordare che ci fosse un modo per recuperare la configurazione del kernel attraverso il filesystem proc in qualche modo.

È ancora possibile, e se sì come potrei farlo?

Risposte (6)

118
118
118
2011-05-23 10:51:41 +0000

A seconda del vostro sistema, lo troverete in uno qualsiasi di questi:

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

e forse in più posti.

57
57
57
2013-01-18 08:34:10 +0000

Per un kernel in esecuzione, un modo per ottenere il file di configurazione è

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

oppure,

zcat /proc/config.gz > running.config

Allora running.config conterrà la configurazione del kernel linux in esecuzione.

Tuttavia questo è possibile solo se il kernel linux in esecuzione è stato configurato per avere /proc/config.gz. La configurazione per questo si trova in

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

Molte distribuzioni non hanno questa configurazione impostata. Forniscono i file di configurazione del kernel nei loro pacchetti del kernel e di solito si trova nella directory /boot/.

39
39
39
2015-12-11 09:51:33 +0000

Un po’ in ritardo ma forse aiuta qualcuno. Non avevo /proc/config.gz/boot/config/boot/config-$(uname -r) sul mio computer. Ho dovuto eseguire modprobe configs come root. Poi, /proc/config.gz era presente

9
9
9
2016-09-23 16:33:31 +0000

Se non siete riusciti a trovare la configurazione del kernel in /boot/ né in /proc/config.gz, potete provare ad estrarre queste informazioni dal kernel stesso.

All'interno di ogni codice sorgente del kernel c'è uno script per estrarre la configurazione che si trova in scripts/extract-ikconfig, passate il kernel di cui volete la configurazione come parametro a questo script.

Questa soluzione funzionerà solo se Kernel .config support è stato abilitato nel kernel compilato.

6
6
6
2018-12-28 02:32:15 +0000

Indipendentemente dalla distribuzione, è possibile eseguire: cat /lib/modules/$(uname -r)/build/.config

Fonte: https://linux.die.net/man/5/proc (cerca /proc/config).

1
1
1
2019-09-15 18:53:43 +0000

Per le distribuzioni basate su RedHat, il file .config del kernel off-the-shelf può essere trovato con il comando cat /lib/modules/$(uname -r)/build/.config che è disponibile dopo che il pacchetto kernel-devel è stato installato utilizzando il comando

yum -y install kernel-devel

Notate che con la distribuzione real Red Hat Enterprise Linux, dovrete abilitare il source-repository per ottenere questo pacchetto. Su RHEL8, usate il seguente comando per farlo:

subscription-manager repos --enable=rhel-8-for-x86_64-baseos-source-rpms