Dapatkan konfigurasi kernel dari sistem Linux yang sedang berjalan?
107
Saya tidak sengaja menghapus .config saya untuk konfigurasi kernel di Linux, dan sepertinya ingat ada cara untuk mengambil konfigurasi kernel melalui sistem file proc.
Apakah ini masih mungkin, dan jika demikian, bagaimana saya akan melakukannya?
Pada beberapa distro (Fedora / Redhat) /boot/config-2.6.18-194.el5 atau serupa, dengan string rilis kernel ditambahkan.
Phil
1
@Phil Saya menjalankan distro (Zenwalk) tempat nama file tersebut disinkronkan dengan paket kernel terbaru /boot/config. Saya akan melanjutkan dan menambahkan ini ke daftar - terima kasih telah mengingatkan saya.
new123456
di / boot / config - $ (uname -r) untuk amazon linux dan kemungkinan RHEL
aeb0
1
Tidak ada file seperti itu di Ubuntu Mate atau Kali Linux untuk RaspBerry Pi.
Sopalajo de Arrierez
1
Anda harus menyebutkan bahwa item pertama Anda (/ proc) hanya tersedia jika modul "konfigurasi" dimuat
Andy
55
Untuk kernel yang sedang berjalan, salah satu cara untuk mendapatkan file konfigurasi ini adalah dengan
cat /proc/config.gz | gunzip > running.config
atau,
zcat /proc/config.gz > running.config
Kemudian running.configakan berisi konfigurasi kernel linux yang sedang berjalan.
Namun ini hanya mungkin jika kernel Linux yang Anda jalankan dikonfigurasi untuk memilikinya /proc/config.gz. Konfigurasi untuk ini ditemukan di
General setup
[*] Kernel .config support
[*] Enable access to .config through /proc/config.gz
Sebagian besar distribusi tidak memiliki set konfigurasi ini. Mereka menyediakan file konfigurasi kernel dalam paket kernel mereka dan biasanya ditemukan di /boot/direktori.
Ini dikenal sebagai CONFIG_IKCONFIGdan CONFIG_IKCONFIG_PROC, jika Anda menangkapnya.
chronospoon
2
zcat /proc/config.gzbekerja dengan baik.
Quanlong
37
Sedikit terlambat tapi mungkin itu membantu seseorang. Saya tidak memiliki /proc/config.gzatau /boot/configtidak /boot/config-$(uname -r)di Komputer saya. Saya harus menjalankan modprobe configssebagai root. Lalu, /proc/config.gzhadir
Dapat mengkonfirmasi pada Intel MIC embedded Linux (BusyBox), ini perlu dan berfungsi.
Mark Lakata
4
Sama untuk Raspbian di Raspberry Pi 2
Drew McGowen
2
FATAL: Module configs not found.pada OMV 2.2 (Debian Wheezy) sangat senang mereka memberikannya di / boot / config - $ (uname -r)
tuk0z
Anda Pak, menyelamatkan hari saya. Punya +1
Kristen
'konfigurasi modprobe' sangat membantu. Saya memiliki tes yang secara otomatis menyelidiki kconfig yang gagal pada Raspberry Pi 3, tetapi sekarang berfungsi. Terima kasih atas tipnya !!
Tim Bird
9
Jika Anda tidak dapat menemukan konfigurasi kernel di / boot / atau di /proc/config.gz, Anda dapat mencoba mengekstrak informasi ini dari kernel itu sendiri.
Di dalam kode sumber kernel apa pun terdapat skrip untuk mengekstraksi konfigurasi yang terletak di dalam scripts/extract-ikconfig, berikan kernel yang Anda inginkan konfigurasinya sebagai parameter ke skrip ini.
Solusi ini hanya akan berfungsi jika Kernel .config supportdiaktifkan di kernel yang dikompilasi.
Untuk distribusi berbasis RedHat, file .config dari kernel dapat ditemukan dengan perintah cat /lib/modules/$(uname -r)/build/.configyang tersedia setelah paket kernel-devel diinstal menggunakan perintah:
yum -y install kernel-devel
Perhatikan bahwa dengan nyata distribusi Red Hat Enterprise Linux, Anda harus mengaktifkan sumber-repositori untuk mendapatkan paket ini. Pada RHEL8, gunakan perintah berikut untuk melakukan itu:
Jun 27 '11 at 16:19
. Jangan berpikir dia akan menerima apa pun.Jawaban:
Bergantung pada sistem Anda, Anda akan menemukannya di salah satu dari ini:
/proc/config.gz
/boot/config
/boot/config-$(uname -r)
dan mungkin lebih banyak tempat.
sumber
/boot/config
. Saya akan melanjutkan dan menambahkan ini ke daftar - terima kasih telah mengingatkan saya.Untuk kernel yang sedang berjalan, salah satu cara untuk mendapatkan file konfigurasi ini adalah dengan
atau,
Kemudian
running.config
akan berisi konfigurasi kernel linux yang sedang berjalan.Namun ini hanya mungkin jika kernel Linux yang Anda jalankan dikonfigurasi untuk memilikinya
/proc/config.gz
. Konfigurasi untuk ini ditemukan diGeneral setup
[*] Kernel .config support
[*] Enable access to .config through /proc/config.gz
Sebagian besar distribusi tidak memiliki set konfigurasi ini. Mereka menyediakan file konfigurasi kernel dalam paket kernel mereka dan biasanya ditemukan di
/boot/
direktori.sumber
CONFIG_IKCONFIG
danCONFIG_IKCONFIG_PROC
, jika Anda menangkapnya.zcat /proc/config.gz
bekerja dengan baik.Sedikit terlambat tapi mungkin itu membantu seseorang. Saya tidak memiliki
/proc/config.gz
atau/boot/config
tidak/boot/config-$(uname -r)
di Komputer saya. Saya harus menjalankanmodprobe configs
sebagai root. Lalu,/proc/config.gz
hadirsumber
FATAL: Module configs not found.
pada OMV 2.2 (Debian Wheezy) sangat senang mereka memberikannya di / boot / config - $ (uname -r)Jika Anda tidak dapat menemukan konfigurasi kernel di / boot / atau di /proc/config.gz, Anda dapat mencoba mengekstrak informasi ini dari kernel itu sendiri.
Di dalam kode sumber kernel apa pun terdapat skrip untuk mengekstraksi konfigurasi yang terletak di dalam
scripts/extract-ikconfig
, berikan kernel yang Anda inginkan konfigurasinya sebagai parameter ke skrip ini.Solusi ini hanya akan berfungsi jika
Kernel .config support
diaktifkan di kernel yang dikompilasi.sumber
Secara independen dari distribusi, Anda dapat menjalankan:
cat /lib/modules/$(uname -r)/build/.config
Sumber: https://linux.die.net/man/5/proc (cari
/proc/config
).sumber
Untuk distribusi berbasis RedHat, file .config dari kernel dapat ditemukan dengan perintah
cat /lib/modules/$(uname -r)/build/.config
yang tersedia setelah paket kernel-devel diinstal menggunakan perintah:Perhatikan bahwa dengan nyata distribusi Red Hat Enterprise Linux, Anda harus mengaktifkan sumber-repositori untuk mendapatkan paket ini. Pada RHEL8, gunakan perintah berikut untuk melakukan itu:
sumber