現在実行中の Linux システムからカーネルの設定を取得しますか?
Linux上のカーネル設定用の.configを誤って削除してしまったのですが、procファイルシステム経由でカーネル設定を取得する方法があったように記憶しています。
これはまだ可能なのでしょうか、もし可能ならどのようにすればいいのでしょうか?
Linux上のカーネル設定用の.configを誤って削除してしまったのですが、procファイルシステム経由でカーネル設定を取得する方法があったように記憶しています。
これはまだ可能なのでしょうか、もし可能ならどのようにすればいいのでしょうか?
実際に動作しているカーネルの場合、設定ファイルを取得する一つの方法は、
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/
にあります。ほとんどのディストリビューションでは、カーネルパッケージの中にカーネル設定ファイルを提供しており、通常は 0x6& ディレクトリにあります。
少し遅れましたが、誰かの役に立てるかもしれません。私のコンピュータには/proc/config.gz
も/boot/config
も/boot/config-$(uname -r)
もmodprobe configs
もありませんでした。私は/proc/config.gz
をrootで実行しなければなりませんでした。すると、0x6&が存在していました。
ディストリビューションとは無関係に、実行することができます。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
real Red Hat Enterprise Linux ディストリビューションでは、このパッケージを取得するためにソースリポジトリを有効にする必要があることに注意してください。RHEL8 では、以下のコマンドを使用してこれを行います。
subscription-manager repos --enable=rhel-8-for-x86_64-baseos-source-rpms