Depmod - Command Linux - Unix Command

Nama

depmod - mengendalikan keterangan pergantungan untuk modul kernel yang boleh dimuatkan

Sinopsis

depmod [-aA] [-ehnqrsuvV] [-C configfile ] [-F kernelsyms ] [-b basedirectory ] [ forced_version ]
depmod [-enqrsuv] [-F kernelsyms ] module1.o module2.o ...

Penerangan

Utiliti depmod dan modprobe bertujuan untuk membuat kernel modular Linux yang boleh diurus untuk semua pengguna, pentadbir dan penyelenggara pengedaran.

Depmod mencipta fail ketergantungan "Makefile", berdasarkan simbol yang terdapat dalam set modul yang disebutkan pada baris perintah atau dari direktori yang dinyatakan dalam fail konfigurasi. Fail pergantungan ini kemudiannya digunakan oleh modprobe untuk secara automatik memuatkan modul yang betul atau susunan modul.

Penggunaan normal dari depmod adalah untuk memasukkan garis


/ sbin / depmod -a

di suatu tempat di rc-files di /etc/rc.d , supaya modul dependen modul yang betul akan tersedia dengan segera setelah boot sistem. Perhatikan bahawa pilihan -a kini pilihan. Untuk tujuan butiran, pilihan- q mungkin lebih sesuai kerana itu membuat senyap tersekat tentang simbol yang tidak dapat diselesaikan.

Ia juga mungkin untuk mewujudkan fail ketergantungan sebaik sahaja menyusun kernel baru. Jika anda melakukan " depmod -a 2.2.99 " apabila anda telah menyusun kernel 2.2.99 dan modulnya buat kali pertama, semasa masih berjalan misalnya 2.2.98, fail tersebut akan dibuat di tempat yang betul. Walau bagaimanapun, dalam kes ini, kebergantungan pada kernel tidak akan dijamin betul. Lihat pilihan -F , -C dan -b di atas untuk maklumat lanjut mengenai pengendalian ini.

Semasa membina hubungan antara modul dan simbol yang dieksport oleh modul lain, depmod tidak menganggap status GPL modul atau simbol yang dieksport. Iaitu, depmod tidak akan menimbulkan ralat jika modul tanpa lesen serasi GPL merujuk kepada simbol hanya GPL (EXPORT_SYMBOL_GPL dalam kernel). Walau bagaimanapun insmod akan menolak untuk menyelesaikan simbol GPL sahaja untuk modul bukan GPL supaya beban sebenar akan gagal.

Pilihan

-a , --all

Cari modul dalam semua direktori yang dinyatakan dalam fail konfigurasi (optional) /etc/modules.conf .

-A , -

Bandingkan cap waktu fail dan, jika perlu, bertindak seperti depmod -a . Pilihan ini hanya mengemas kini fail ketergantungan jika ada yang berubah.

-e , --perrsyms

Tunjukkan semua simbol yang tidak dapat diselesaikan untuk setiap modul.

-h , - membantu

Paparkan ringkasan pilihan dan segera keluar.

-n , -

Tulis fail pergantungan pada stdout dan bukannya dalam / lib / modul pokok.

-q , --quiet

Beritahu depmod supaya diam dan jangan mengeluh mengenai simbol yang hilang.

-r , --root

Sesetengah pengguna menyusun modul di bawah userid bukan root kemudian memasang modul sebagai root. Proses ini boleh meninggalkan modul yang dimiliki oleh pengguna bukan root, walaupun direktori modul dimiliki oleh root. Jika pengguna tidak root dikompromi, penyusup boleh menimpa modul sedia ada yang dimiliki oleh pengguna tersebut dan menggunakan pendedahan ini untuk bootstrap sehingga akses root.

Secara lalai, modutils akan menolak cubaan menggunakan modul yang tidak dimiliki oleh root. Menentukan -r akan menekan ralat dan membenarkan root memuat modul yang tidak dimiliki oleh root.

Penggunaan -r adalah pendedahan keselamatan utama dan tidak digalakkan.

-s , --syslog

Tulis semua mesej ralat melalui daemon syslog dan bukan stderr.

-u , - ralat yang diselesaikan

depmod 2.4 tidak menetapkan kod balik apabila ada simbol yang tidak dapat diselesaikan. Siaran utama seterusnya modutils (2.5) akan menetapkan kod kembali untuk simbol yang tidak dapat diselesaikan. Sesetengah pengedaran mahu kod pulangan bukan sifar dalam modutils 2.4 tetapi perubahan itu mungkin menyebabkan masalah bagi pengguna yang mengharapkan kelakuan lama. Sekiranya anda mahu kod pulangan bukan sifar dalam depmod 2.4, nyatakan -u . depmod 2.5 akan secara senyap-senyap mengabaikan bendera -u dan akan sentiasa memberikan kod pulangan bukan-sifar untuk simbol-simbol yang tidak dapat diselesaikan.

-v , - verbose

Tunjukkan nama setiap modul semasa sedang diproses.

-V , --versi

Paparkan versi depmod .

Pilihan berikut berguna untuk orang yang menguruskan pengedaran:

- berdasarkan direktori , - berdasarkan direktori berdasarkan

Jika pokok direktori / lib / modul yang mengandungi sub-pokok modul dialihkan di tempat lain untuk mengendalikan modul untuk persekitaran yang berbeza, pilihan -b akan memberitahu depmod di mana mencari imej yang dipindahkan dari / lib / modul pokok. Rujukan fail dalam fail output depmod yang dibina, modules.dep , tidak akan mengandungi laluan laluan langsung. Ini bermakna bahawa apabila fail fail dipindahkan dari direktori / lib / modul ke / lib / modul dalam edaran akhir, semua rujukan akan betul.

-C configfile , configfile -config

Gunakan fail configfile bukan /etc/modules.conf . Pembolehubah persekitaran MODULECONF juga boleh digunakan untuk memilih fail konfigurasi yang berbeza dari default /etc/modules.conf (atau /etc/conf.modules (usang)).

Apabila pembolehubah persekitaran

UNAME_MACHINE ditetapkan, modutils akan menggunakan nilainya dan bukannya medan mesin dari systall uname (). Ini terutamanya digunakan apabila anda menyusun modul 64 bit dalam ruang pengguna 32 bit atau sebaliknya, tetapkan UNAME_MACHINE kepada jenis modul yang sedang dibina. Modutils semasa tidak menyokong mod pembina silang penuh untuk modul, ia adalah terhad untuk memilih antara 32 dan 64 bit versi seni bina tuan rumah.

-F kernelsyms , --filesyms kernelsyms

Apabila membina fail ketergantungan untuk kernel yang berbeza daripada kernel yang sedang dijalankan, adalah penting bahawa depmod menggunakan simbol kernel yang betul untuk menyelesaikan rujukan kernel dalam setiap modul. Simbol-simbol ini boleh menjadi salinan System.map dari kernel lain, atau salinan output dari / proc / ksms . Sekiranya kernel anda menggunakan simbol berformat , sebaiknya gunakan salinan output / proc / ksyms , kerana fail itu mengandungi simbol versi simbol kernel. Bagaimanapun, anda boleh menggunakan System.map walaupun dengan simbol bersaiz .

Konfigurasi

Tingkah laku depmod dan modprobe boleh diselaraskan oleh fail konfigurasi (optional) /etc/modules.conf .
Lihat modprobe (8) dan modules.conf (5) untuk keterangan lengkap.

Strategi

Setiap kali anda menyusun kernel baru, arahan " membuat modules_install " akan membuat direktori baru, tetapi tidak akan menukar lalai.

Apabila anda mendapat modul yang tidak berkaitan dengan pengedaran kernel, anda harus meletakkannya di salah satu direktori versi bebas di bawah / lib / modul .

Ini adalah strategi lalai, yang boleh ditindih dalam /etc/modules.conf .

Lihat juga

lsmod (8), ksyms (8)

Penting: Gunakan arahan lelaki ( % man ) untuk melihat bagaimana arahan digunakan pada komputer tertentu anda.