Modprobe - Perintah Linux - Perintah Unix

NAMA

modprobe - penanganan tingkat tinggi dari modul yang dapat dimuat

RINGKASAN

modul modprobe [-adnqv] [-C config ] [simbol = nilai ...]
pola modprobe [-adnqv] [-C config ] [-t type ]
pola modprobe- l [-C config ] [-t type ]
modprobe -c [-C config ]
modprobe -r [-dnv] [-C config ] [modul ...]
modprobe -Vh

PILIHAN

-a , --all

Muat semua modul yang cocok daripada berhenti setelah pemuatan pertama yang berhasil.

-c , --showconfig

Tampilkan konfigurasi yang digunakan saat ini.

-C , --config config

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

Ketika variabel lingkungan UNAME_MACHINE diset, modutils akan menggunakan nilainya sebagai ganti bidang mesin dari syscall uname (). Ini terutama digunakan ketika Anda menyusun modul 64 bit dalam ruang pengguna 32 bit atau sebaliknya, atur UNAME_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 , --help

Tampilkan ringkasan opsi dan segera keluar.

-k , --autoclean

Setel 'autoclean' pada modul yang dimuat. Digunakan oleh kernel ketika memanggil modprobe untuk memenuhi fitur yang hilang (disediakan sebagai modul). Opsi- q tersirat oleh -k . Opsi-opsi ini secara otomatis akan dikirim ke insmod .

-l , --list

Buat daftar modul yang cocok.

-n , --show

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

-q , --quiet

Jangan mengeluh tentang kegagalan pemasangan modul insmod . Lanjutkan seperti biasa, tetapi diam-diam, dengan kemungkinan lain untuk menguji modprobe. Opsi ini secara otomatis akan dikirim ke insmod .

-r , --hapus

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 secara otomatis akan dikirim ke insmod .

-t modetype ; --type modetype

Hanya pertimbangkan modul jenis ini. modprobe hanya akan melihat modul yang jalur direktorinya mencakup persis " / moduletype / ". Modemetype dapat mencakup lebih dari satu nama direktori, misalnya " -t drivers / net " akan mencantumkan modul-modul dalam xxx / drivers / net / dan subdirektorinya.

-v , --verbose

Cetak semua perintah saat dieksekusi.

-V, --versi

Tampilkan versi modprobe .

catatan:

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

DESKRIPSI

Utilitas modprobe dan depmod dimaksudkan untuk membuat kernel modular Linux lebih mudah dikelola untuk semua pengguna, administrator dan pengelola distribusi.

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

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

Modprobe secara otomatis akan memuat semua modul dasar yang diperlukan dalam tumpukan modul, seperti yang dijelaskan oleh modul file dependensi.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 (ditentukan oleh pola ). Modprobe berhenti memuat segera setelah satu modul berhasil dimuat. Ini bisa digunakan untuk meng-autoload satu driver Ethernet dari daftar.
Cara lain modprobe dapat digunakan adalah memuat semua modul dari daftar. Lihat CONTOH , di bawah ini.

Dengan opsi -r , modprobe akan secara otomatis membongkar tumpukan modul, serupa dengan cara " rmmod-r " melakukannya. Perhatikan bahwa menggunakan " modprobe -r " hanya 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 mencantumkan semua modul yang tersedia dari tipe tertentu.

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

KONFIGURASI

Perilaku modprobe (dan depmod ) dapat dimodifikasi oleh file konfigurasi (opsional) /etc/modules.conf .
Untuk deskripsi lebih rinci tentang apa yang dapat berisi file ini, serta konfigurasi default yang digunakan oleh depmod dan modprobe , lihat modules.conf (5).

Perhatikan bahwa perintah sebelum dan sesudah penghapusan tidak akan dijalankan jika modul "autocleaned" oleh kerneld! Carilah dukungan yang akan datang untuk penyimpanan modul persisten.
Jika Anda ingin menggunakan fitur sebelum dan sesudah instalasi, Anda harus mematikan autoclean untuk kerneld dan sebagai gantinya memasukkan sesuatu seperti baris berikut di crontab Anda (ini digunakan untuk sistem kmod juga) untuk melakukan autoclean setiap 2 menit :

* / 2 * * * * uji -f / proc / modules && / sbin / modprobe -r

STRATEGI

Idenya adalah bahwa modprobe 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 melihat 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 " make 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 independen-versi di bawah / lib / modules .

Ini adalah strategi default, yang dapat di-override di /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 oleh depmod .

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 uid efektif tidak sama dengan uid yang sebenarnya maka modprobe akan 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 yang 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 LINTAS

Jika direktori / var / log / ksymoops ada dan modprobe dijalankan dengan opsi yang dapat memuat atau menghapus modul kemudian modprobe akan mencatat perintahnya dan mengembalikan status di / var / log / ksymoops / `date +% Y% m% d .log` . Tidak ada tombol untuk menonaktifkan pencatatan 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 skrip insmod_ksymoops_clean setiap hari atau lebih.

UTILITAS YANG DIPERLUKAN

depmod (8), insmod (8).

Penting: Gunakan perintah man ( % man ) untuk melihat bagaimana perintah digunakan pada komputer khusus Anda.