web-dev-qa-db-ja.com

現在実行中のLinuxシステムからカーネル設定を取得しますか?

私は誤ってLinux上の私のカーネル構成のための私の.configを削除しました、そして、どういうわけかprocファイルシステムを通してカーネル構成を検索する方法があったことを覚えているようです。

これはまだ可能ですか?もし可能なら、どうすればいいですか?

103
Sonny Ordell

あなたのシステムにもよりますが、あなたはこれらのどれか一つにそれを見つけるでしょう。

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

そしておそらくもっと多くの場所。

105
new123456

実際に動いているカーネルでは、設定ファイルを取得する一つの方法はこれです。

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

または、

zcat /proc/config.gz > running.config

running.configは実行中のLinuxカーネルの設定を含みます。

しかしこれは、実行中のLinuxカーネルが/proc/config.gzを持つように設定されている場合にのみ可能です。これのための設定はで見つけられます

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

ほとんどのディストリビューションにはこの設定がありません。それらは彼らのカーネルパッケージでカーネル設定ファイルを提供し、通常/boot/ディレクトリにあります。

54
Jarl

少し遅れますが、誰かに役立つかもしれません。私のコンピュータには/proc/config.gz/boot/config/boot/config-$(uname -r)もありませんでした。私はrootとしてmodprobe configsを実行しなければなりませんでした。その後、/proc/config.gzが存在しました

35
Thomas Sparber

/ boot /にも/proc/config.gzにもカーネル構成が見つからない場合は、カーネル自体からこの情報を抽出してみることができます。

カーネルのソースコードの中には、scripts/extract-ikconfigにあるconfigを展開するためのスクリプトがあります。このスクリプトにパラメータとして設定したいカーネルを渡します。

この解決法は、コンパイル済みカーネルでKernel .config supportが有効になっている場合にのみ機能します。

9
Ramast

ディストリビューションとは関係なく、あなたは実行することができます:cat /lib/modules/$(uname -r)/build/.config

出典: https://linux.die.net/man/5/proc/proc/configを検索してください)。

4
jgomo3