Question Obtenir la configuration du noyau à partir du système Linux en cours d'exécution?


J'ai accidentellement supprimé mon fichier .config pour la configuration de mon noyau sous Linux et semble me rappeler qu'il y avait un moyen de récupérer la configuration du noyau via le système de fichiers proc.

Est-ce encore possible, et si oui comment le ferais-je?


92
2018-05-23 10:49


origine


@Sonny Ordell: Il y a maintenant deux réponses valables. Pouvez-vous en accepter un? - Hennes
@Hennes User n'a pas été en ligne depuis Jun 27 '11 at 16:19. Ne pense pas qu'il va accepter quoi que ce soit. - DanteTheEgregore
superuser.com/questions/577307/... || askubuntu.com/questions/163304/... || stackoverflow.com/questions/14376540/... || unix.stackexchange.com/questions/83319/... || serverfault.com/questions/51032/ - Ciro Santilli 新疆改造中心 六四事件 法轮功


Réponses:


En fonction de votre système, vous le trouverez dans l'un de ces éléments:

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

et peut-être plus d'endroits.


91
2018-05-23 10:51



Sur certaines distributions (Fedora / Redhat), c'est /boot/config-2.6.18-194.el5 ou similaire, avec la chaîne de version du noyau ajoutée. - Phil
@Phil je lance une distribution (Zenwalk) où ces noms de fichiers sont liés par le dernier paquet du noyau à /boot/config. Je vais aller de l'avant et les ajouter à la liste - merci de me le rappeler. - new123456
dans / boot / config - $ (uname -r) pour amazon linux et probablement RHEL - aeb0
N'existe pas de tels fichiers sur Ubuntu Mate ou Kali Linux pour RaspBerry Pi. - Sopalajo de Arrierez
Vous devez mentionner que votre premier élément (/ proc) est uniquement disponible si le module "configs" est chargé - Andy


Pour un noyau en cours d'exécution, une façon d'obtenir le fichier de configuration est de:

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

ou,

zcat /proc/config.gz > running.config

alors running.config contiendra la configuration du noyau Linux en cours d'exécution.

Cependant, cela n’est possible que si votre noyau Linux est configuré pour avoir /proc/config.gz. La configuration pour cela se trouve dans

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

La plupart des distributions n'ont pas ce jeu de configuration. Ils fournissent des fichiers de configuration du noyau dans leurs paquets de noyau et se trouvent généralement dans /boot/ annuaire.


48
2018-01-18 08:34



Ceux-ci sont connus comme CONFIG_IKCONFIG et CONFIG_IKCONFIG_PROC, si vous les adorez. - chronospoon
zcat /proc/config.gz fonctionne bien - Quanlong


Un peu tard mais peut-être que ça aide quelqu'un. Je n'ai pas eu /proc/config.gz ni /boot/config ni /boot/config-$(uname -r) sur mon ordinateur. Je devais courir modprobe configs en tant que root. Alors, /proc/config.gz était présent


30
2017-12-11 09:51



Peut confirmer sur Intel MIC embarqué Linux (BusyBox), ceci est nécessaire et fonctionne. - Mark Lakata
Même chose pour Raspbian sur Raspberry Pi 2 - Drew McGowen
FATAL: Module configs not found. sur OMV 2.2 (Debian Wheezy) si heureux qu'ils l'aient fourni dans / boot / config - $ (uname -r) - tuk0z
Vous avez sauvé ma journée. Avoir un +1 - Christian


Si vous ne trouvez pas la configuration du noyau dans / boot / ni dans /proc/config.gz, vous pouvez essayer d’extraire ces informations du noyau lui-même.

A l’intérieur de tout code source du noyau, il existe un script pour extraire la configuration situé dans scripts/extract-ikconfig, transmettez le noyau que vous souhaitez à sa configuration en paramètre de ce script.

Cette solution ne fonctionnera que si Kernel .config support a été activé dans le noyau compilé.


7
2017-09-23 16:33



C'était extrêmement utile et m'a aidé à obtenir beaucoup de configs que je ne m'attendais pas à voir jamais. Merci! - selurvedu