Kako učitati i skinuti module kernela u Linuxu
Modul kernela je program koji se može učitati u jezgro ili ukloniti iz kernela na zahtjev, bez nužnog ponovnog kompajliranja (kernela) ili ponovnog pokretanja sistema, a namijenjen je poboljšanju funkcionalnosti kernela.
Općenito govoreći o softveru, moduli su manje-više kao dodaci za softver kao što je WordPress. Dodaci pružaju sredstva za proširenje softverske funkcionalnosti, bez njih, programeri bi morali da naprave jedan masivni softver sa svim funkcionalnostima integrisanim u paket. Ako su potrebne nove funkcionalnosti, one bi se morale dodati u nove verzije softvera.
Isto tako, bez modula, kernel bi morao biti izgrađen sa svim funkcionalnostima integriranim direktno u sliku kernela. To bi značilo da imate veće kernele, a sistemski administratori bi morali da ponovo kompajliraju kernel svaki put kada je potrebna nova funkcionalnost.
Jednostavan primjer modula je drajver uređaja – koji omogućava kernelu da pristupi hardverskoj komponenti/uređaju povezanom sa sistemom.
Preporučeno čitanje: Kako saznati koju verziju Linuxa koristite
Navedite sve učitane module kernela u Linuxu
U Linuxu, svi moduli završavaju ekstenzijom .ko
i obično se automatski učitavaju kako se hardver otkrije pri pokretanju sistema. Međutim, administrator sistema može upravljati modulima koristeći određene naredbe.
Za popis svih trenutno učitanih modula u Linuxu, možemo koristiti naredbu lsmod (list modules) koja ovako čita sadržaj /proc/modules.
lsmod
Module Size Used by
rfcomm 69632 2
pci_stub 16384 1
vboxpci 24576 0
vboxnetadp 28672 0
vboxnetflt 28672 0
vboxdrv 454656 3 vboxnetadp,vboxnetflt,vboxpci
bnep 20480 2
rtsx_usb_ms 20480 0
memstick 20480 1 rtsx_usb_ms
btusb 45056 0
uvcvideo 90112 0
btrtl 16384 1 btusb
btbcm 16384 1 btusb
videobuf2_vmalloc 16384 1 uvcvideo
btintel 16384 1 btusb
videobuf2_memops 16384 1 videobuf2_vmalloc
bluetooth 520192 29 bnep,btbcm,btrtl,btusb,rfcomm,btintel
videobuf2_v4l2 28672 1 uvcvideo
videobuf2_core 36864 2 uvcvideo,videobuf2_v4l2
v4l2_common 16384 1 videobuf2_v4l2
videodev 176128 4 uvcvideo,v4l2_common,videobuf2_core,videobuf2_v4l2
intel_rapl 20480 0
x86_pkg_temp_thermal 16384 0
media 24576 2 uvcvideo,videodev
....
Kako učitati i ukloniti (ukloniti) module kernela u Linuxu
Za učitavanje modula kernela, možemo koristiti naredbu insmod (insert module). Ovdje moramo specificirati punu putanju modula. Naredba ispod će umetnuti speedstep-lib.ko modul.
insmod /lib/modules/4.4.0-21-generic/kernel/drivers/cpufreq/speedstep-lib.ko
Za izbacivanje modula kernela koristimo naredbu rmmod (ukloni modul). Sljedeći primjer će isprazniti ili ukloniti modul speedstep-lib.ko.
rmmod /lib/modules/4.4.0-21-generic/kernel/drivers/cpufreq/speedstep-lib.ko
Kako upravljati modulima kernela pomoću naredbe modprobe
modprobe je inteligentna komanda za listanje, umetanje kao i uklanjanje modula iz kernela. Pretražuje u direktoriju modula /lib/modules/$ (uname -r) sve module i povezane datoteke, ali isključuje alternativne konfiguracijske datoteke u /etc/modprobe.d direktorij.
Ovdje vam nije potrebna apsolutna putanja modula; ovo je prednost korištenja modprobe u odnosu na prethodne komande.
Da biste umetnuli modul, jednostavno navedite njegovo ime kako slijedi.
modprobe speedstep-lib
Da biste uklonili modul, koristite oznaku -r
ovako.
modprobe -r speedstep-lib
Napomena: Pod modprobe, vrši se automatska konverzija donje crte, tako da nema razlike između _
i –
dok unos naziva modula.
Za više informacija o upotrebi i opcijama, pročitajte man stranicu modprobe.
man modprobe
Ne zaboravite provjeriti:
- Kako promijeniti parametre vremena izvođenja kernela na uporan i nepostojan način
- Kako instalirati ili nadograditi na najnoviju verziju kernela u CentOS 7
- Kako nadograditi kernel na najnoviju verziju u Ubuntu
To je sve za sada! Imate li neke korisne ideje koje ste željeli da dodamo ovom vodiču ili upitima, koristite obrazac za povratne informacije u nastavku da nam ih pošaljete.