Skip to main content

Semua Tentang Linux / Unix Command: modprobe

Hardware and Drivers in Linux (Juni 2026)

Hardware and Drivers in Linux (Juni 2026)
Anonim

Nama

modprobe - penanganan tingkat tinggi dari modul yang dapat dimuat

Ringkasan

modprobe -adnqv -C konfigurasi modul simbol = nilai …modprobe -adnqv -C konfigurasi -t mengetik polamodprobe -l -C konfigurasi -t mengetik polamodprobe -c -C konfigurasi modprobe -r -dnv -C konfigurasi modul …modprobe -Vh

Pilihan

-Sebuah, --semua

Bebansemua mencocokkan modul bukannya berhenti setelah pemuatan pertama yang berhasil.

-c, --showconfig

Tampilkan konfigurasi yang digunakan saat ini.

-C, --config konfigurasi

Gunakan file konfigurasi bukannya (opsional) /etc/modules.conf untuk menentukan konfigurasi. Variabel lingkunganMODULECONF dapat juga digunakan untuk memilih (dan mengganti) file konfigurasi yang berbeda dari default /etc/modules.conf (atau /etc/conf.modules (tidak berlaku lagi)).

Ketika variabel lingkunganUNAME_MACHINE diatur, modutils akan menggunakan nilainya bukan bidang mesin dari syscall uname (). Ini terutama digunakan ketika Anda menyusun modul 64 bit di ruang pengguna 32 bit atau sebaliknya, aturUNAME_MACHINE ke jenis modul. Modutils saat ini tidak mendukung mode full cross build untuk modul, terbatas untuk memilih antara versi 32 dan 64-bit dari arsitektur host.

-d, --debug

Tampilkan informasi tentang representasi internal tumpukan modul.

-h, --membantu

Tampilkan ringkasan opsi dan segera keluar.

-k, - autoclean

Setel 'autoclean' pada modul yang dimuat. Digunakan oleh kernel saat diaktifkanmodprobe untuk memenuhi fitur yang hilang (disediakan sebagai modul). Itu-q opsi tersirat oleh-k. Opsi ini akan secara otomatis dikirim keinsmod.

-l, --daftar

Buat daftar modul yang cocok.

-n, --menunjukkan

Jangan benar-benar melakukan tindakan, cukup tunjukkan apa yang akan dilakukan.

-q, --diam

Jangan mengeluh tentanginsmod gagal memasang modul. Lanjutkan seperti biasa, tetapi diam-diam, dengan kemungkinan lain untuk menguji modprobe. Opsi ini akan secara otomatis dikirim keinsmod.

-r, --menghapus

Hapus modul (tumpukan) atau lakukan autoclean, tergantung apakah ada modul yang disebutkan pada baris perintah.

-s, --syslog

Laporkan melalui syslog alih-alih stderr. Opsi ini akan secara otomatis dikirim keinsmod.

-t modetype ; --mengetik modetype

Hanya pertimbangkan modul jenis ini. modprobe hanya akan melihat modul yang jalur medianya termasuk persis " / modetype / '. modetype dapat menyertakan lebih dari satu nama direktori, mis. "-t driver / net "Akan daftar modul di xxx / driver / net / dan subdirektorinya.

-v, --verbose

Cetak semua perintah saat dieksekusi.

-V, --versi

Tampilkan versi darimodprobe.

catatan:

Nama modul tidak boleh berisi jalur (tidak ada '/'), dan juga tidak boleh berisi trailing '.o'. Misalnya, slip adalah nama modul yang valid untukmodprobe, /lib/modules/2.2.19/net/slip dan slip.o tidak valid. Ini berlaku untuk baris perintah dan untuk entri dalam konfigurasi.

Deskripsi Perintah

Itumodprobe dandepmod utilitas dimaksudkan untuk membuat kernel modular Linux lebih mudah dikelola untuk semua pengguna, administrator dan pengelola distribusi.

Modprobe menggunakan file dependensi mirip "Makefile", yang dibuat olehdepmod, untuk memuat modul yang relevan secara otomatis dari set modul yang tersedia di pohon direktori yang telah ditetapkan.

Modprobe digunakan untuk memuat satu modul, tumpukan modul dependen, atau semua modul yang ditandai dengan tag yang ditentukan.

Modprobe akan secara otomatis memuat semua modul dasar yang diperlukan dalam tumpukan modul, seperti yang dijelaskan oleh file dependensi modules.dep . Jika pemuatan salah satu modul ini gagal, seluruh tumpukan modul saat ini dimuat dalam sesi saat ini akan dibongkar secara otomatis.

Modprobe memiliki dua cara memuat modul. Salah satu cara (mode pemeriksaan) akan mencoba memuat modul dari daftar (didefinisikan oleh pola ). Modprobe berhenti memuat segera setelah satu modul berhasil dimuat. Ini bisa digunakan untuk meng-autoload satu driver Ethernet dari daftar. Jalan lainmodprobe dapat digunakan adalah memuatsemua modul dari daftar. LihatCONTOH, di bawah.

Dengan opsi-r, modprobe akan secara otomatis membongkar tumpukan modul, mirip dengan cara "rmmod -r"Apakah. Perhatikan bahwa hanya menggunakan"modprobe -r"akan membersihkan modul yang tidak terpakai yang sudah terpakai dan juga melakukan perintah sebelum dan sesudah penghapusan pada file konfigurasi /etc/modules.conf .

Menggabungkan opsi-l dan-t daftar semua modul yang tersedia dari jenis tertentu.

Pilihan-c akan mencetak konfigurasi yang sedang digunakan (file konfigurasi + standar).

Konfigurasi

Perilakumodprobe (dandepmod) dapat dimodifikasi oleh file konfigurasi (opsional) /etc/modules.conf . Untuk deskripsi yang lebih detail tentang isi file ini, serta konfigurasi default yang digunakan olehdepmod danmodprobe, Lihatmodules.conf(5).

Perhatikan bahwa perintah-perintah pra- dan pasca-penghapusan akantidak dieksekusi jika modul "autocleaned" oleh kerneld! Carilah dukungan yang akan datang untuk penyimpanan modul persisten. Jika Anda ingin menggunakan fitur sebelum dan sesudah pemasangan, Anda harus mematikan autoclean untuk kerneld dan sebagai gantinya, letakkan sesuatu seperti baris berikut dicrontab (Ini digunakan untuk sistem kmod juga) untuk melakukan autoclean setiap 2 menit: * / 2 * * * * test -f / proc / modules && / sbin / modprobe -r

Strategi

Idenya adalah itumodprobe akan terlihat pertama di direktori yang berisi modul yang dikompilasi untuk rilis kernel saat ini. Jika modul tidak ditemukan di sana,modprobe akan mencari di direktori umum ke versi kernel (misalnya 2.0, 2.2). Jika modul masih ditemukan,modprobe akan mencari di direktori yang berisi modul untuk rilis default, dan seterusnya.

Ketika Anda menginstal linux baru, modul harus dipindahkan ke direktori yang terkait dengan rilis (dan versi) dari kernel yang Anda pasang. Maka Anda harus melakukan symlink dari direktori ini ke direktori "default".

Setiap kali Anda mengkompilasi kernel baru, perintah "membuat modules_install"akan membuat direktori baru, tetapi tidak akan mengubah tautan" default ".

Ketika Anda mendapatkan modul yang tidak terkait dengan distribusi kernel, Anda harus menempatkannya di salah satu direktori yang tidak bergantung pada versi di bawah / lib / modules .

Ini adalah strategi default, yang dapat di-override /etc/modules.conf .

Contoh

modprobe -t net

Muat salah satu modul yang disimpan dalam direktori yang diberi tag "net". Setiap modul dicoba sampai berhasil.

modprobe -a -t boot

Semua modul yang disimpan dalam direktori yang ditandai "boot" akan dimuat.

slip modprobe

Ini akan mencoba memuat modul slhc.o jika sebelumnya tidak dimuat, karena modul slip memerlukan fungsionalitas dalam modul slhc. Ketergantungan ini akan dijelaskan dalam file modules.dep yang dibuat secara otomatis olehdepmod.

modprobe -r slip

Ini akan membongkar modul slip. Ini juga akan membongkar modul slhc secara otomatis, kecuali jika digunakan oleh beberapa modul lain juga (misalnya ppp).

Lihat juga:

depmod (8),lsmod(8), kerneld(8), ksyms(8), rmmod(8).

Mode aman

Jika cairan efektif tidak sama dengan cairan yang sebenarnyamodprobe memperlakukan inputnya dengan kecurigaan ekstrim. Parameter terakhir selalu diperlakukan sebagai nama modul, meskipun diawali dengan '-'. Hanya boleh ada satu nama modul dan opsi bentuk "variabel = nilai" dilarang. Nama modul selalu diperlakukan sebagai string, tidak ada ekspansi meta yang dilakukan dalam mode aman. Namun, perluasan meta masih diterapkan pada data yang dibaca dari file konfigurasi.

euid mungkin tidak sama dengan uid ketika modprobe dipanggil dari kernel, ini benar untuk kernel> = 2.4.0-test11. Di dunia yang ideal,modprobe dapat mempercayai kernel untuk hanya memberikan parameter valid ke modprobe. Namun setidaknya satu eksploitasi root lokal telah terjadi karena kode kernel tingkat tinggi melewati parameter yang belum diverifikasi langsung dari pengguna ke modprobe. Jadi modprobe tidak lagi mempercayai input kernel.

modprobe secara otomatis mengatur mode aman ketika lingkungan hanya terdiri dari string ini

HOME = / TERM = linux PATH = / sbin: / usr / sbin: / bin: / usr / bin

Ini mendeteksi eksekusi modprobe dari kernel pada kernel 2.2 meskipun 2.4.0-test11, bahkan jika uid == euid, yang dilakukan pada kernel sebelumnya.

Perintah Logging

Jika direktori / var / log / ksymoops ada danmodprobe dijalankan dengan opsi yang dapat memuat atau menghapus modul kemudian modprobe akan mencatatkan perintahnya dan mengembalikan statusnya / var / log / ksymoops / `tanggal +% Y% m% d.log` . Tidak ada tombol untuk menonaktifkan penebangan otomatis ini, jika Anda tidak ingin itu terjadi, jangan membuat / var / log / ksymoops . Jika direktori itu ada, itu harus dimiliki oleh root dan mode 644 atau 600 dan Anda harus menjalankan skripinsmod_ksymoops_clean setiap hari atau lebih.

Utilitas yang Diperlukan

depmod(8), insmod(8).

Penting: Menggunakan pria perintah ( % pria ) untuk melihat bagaimana perintah digunakan pada komputer khusus Anda.