Linux でカーネル設定用の .config を誤って削除してしまったのですが、どうやら proc ファイルシステム経由でカーネル設定を取得する方法があったようです
これはまだ可能なのでしょうか、もし可能ならばどのようにすればいいのでしょうか?
133 Sonny Ordell 2011-05-23
お使いのシステムにもよりますが、この中のどれかに入っています
/proc/config.gz
/boot/config
/boot/config-$(uname -r)
と、もしかしたらもっと多くの場所があるかもしれません
132 new123456 2011-05-23
実際に動作しているカーネルの場合、この設定ファイルを取得する方法の一つは以下の通りです
cat /proc/config.gz | gunzip > running.config
or,
zcat /proc/config.gz > running.config
すると、running.config
には実行中のlinuxカーネルの設定が含まれます
しかし、これは実行中の linux カーネルが /proc/config.gz
を持つように設定されている場合にのみ可能です。このための設定は
General setup
[*] カーネルの .config をサポートします
[*] /proc/config.gzからの.configへのアクセスを有効にします
ほとんどのディストリビューションはこの設定を持っていません。ほとんどのディストリビューションでは、カーネルパッケージの中にカーネル設定ファイルを提供しており、通常は /boot/
ディレクトリにあります
66 Jarl 2013-01-18
少し遅れましたが、誰かの役に立てるかもしれません。私のコンピュータには/proc/config.gz
も/boot/config
も/boot/config-$(uname -r)
もありませんでした。私はmodprobe configs
をrootで実行しなければなりませんでした。すると、/proc/config.gz
が存在していました
42 Thomas Sparber 2015-12-11
boot/ にも /proc/config.gz にもカーネルの設定が見つからなかった場合は、カーネル自体から情報を抽出してみてください
カーネルのソースコードの中には、scripts/extract-ikconfig
にある設定を抽出するスクリプトがあります
この解決策は、コンパイルされたカーネルで Kernel .config support
が有効になっている場合にのみ動作します
10 Ramast 2016-09-23
ディストリビューションとは独立して、実行することができます。cat /lib/modules/$(uname -r)/build/.config
出典は以下の通りです。https://linux.die.net/man/5/proc(/proc/config
を検索)
8 jgomo3 2018-12-28
RedHat ベースのディストリビューションの場合、既製カーネルの .config ファイルは、コマンドを使って kernel-devel パッケージをインストールした後に利用できる cat /lib/modules/$(uname -r)/build/.config
コマンドで見つけることができます
yum -y install kernel-devel
実際の Red Hat Enterprise Linux ディストリビューションでは、このパッケージを取得するためにソースリポジトリを有効にする必要があることに注意してください。RHEL8 では、以下のコマンドを使用してこれを行います
subscription-manager repos --enable=rhel-8-for-x86_64-baseos-source-rpms
1 Gertjan Bijl 2019-09-15
提案されているファイルが見つからず、modprobe
が可能な場合は、ほとんどの場合、この方法で現在の設定のコピーを取得できるはずです
modprobe configs # might need `sudo modprobe configs`
# This will create /proc/config.gz
zcat /proc/config.gz
# Or if you are looking for whether a specific option was set
zgrep USBIP /proc/config.gz
0 dragon788 2020-05-22