Ytimen moduulien lataaminen ja purkaminen Linuxissa
Ydinmoduuli on ohjelma, joka voidaan ladata ytimeen tai purkaa siitä pyynnöstä ilman, että sitä (ydintä) tarvitsee välttämättä kääntää tai järjestelmää uudelleenkäynnistetään. Sen tarkoituksena on parantaa ytimen toimivuutta.
Yleisesti ottaen moduulit ovat enemmän tai vähemmän kuin WordPressin kaltaisten ohjelmistojen laajennuksia. Laajennukset tarjoavat keinoja laajentaa ohjelmiston toimivuutta, ilman niitä kehittäjien olisi rakennettava yksi massiivinen ohjelmisto, jonka kaikki toiminnot on integroitu pakettiin. Jos uusia toimintoja tarvitaan, ne on lisättävä uusiin ohjelmistoversioihin.
Samoin ilman moduuleja ydin olisi rakennettava siten, että kaikki toiminnot on integroitu suoraan ytimen näköistiedostoon. Tämä tarkoittaisi suurempia ytimiä, ja järjestelmänvalvojien olisi käännettävä ydin uudelleen aina, kun uusia toimintoja tarvitaan.
Yksinkertainen esimerkki moduulista on laiteohjain – jonka avulla ydin voi käyttää järjestelmään kytkettyä laitteistokomponenttia/laitetta.
Suositeltu luku: Kuinka selvittää, mitä Linux-versiota käytät
Luettele kaikki Linuxin ladatut ydinmoduulit
Linuxissa kaikki moduulit päättyvät .ko
-laajennukseen, ja ne latautuvat yleensä automaattisesti, kun laitteisto havaitaan järjestelmän käynnistyksen yhteydessä. Järjestelmänvalvoja voi kuitenkin hallita moduuleja tietyillä komennoilla.
Kaikkien tällä hetkellä ladattujen moduulien luetteloimiseksi Linuxissa voimme käyttää lsmod-komentoa (list modules), joka lukee tiedoston /proc/modules sisällön tällä tavalla.
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
....
Ytimen moduulien lataaminen ja purkaminen (poistaminen) Linuxissa
Ydinmoduulin lataamiseen voimme käyttää insmod-komentoa (insert module). Tässä meidän on määritettävä moduulin koko polku. Alla oleva komento lisää speedstep-lib.ko-moduulin.
insmod /lib/modules/4.4.0-21-generic/kernel/drivers/cpufreq/speedstep-lib.ko
Ytimen moduulin purkamiseen käytämme rmmod-komentoa (poista moduuli). Seuraava esimerkki purkaa tai poistaa speedstep-lib.ko-moduulin.
rmmod /lib/modules/4.4.0-21-generic/kernel/drivers/cpufreq/speedstep-lib.ko
Ytimen moduulien hallinta modprobe-komennolla
modprobe on älykäs komento moduulien luetteloimiseen, lisäämiseen ja poistamiseen ytimestä. Se etsii moduulihakemistosta /lib/modules/$ (uname -r) kaikkia moduuleja ja niihin liittyviä tiedostoja, mutta sulkee pois vaihtoehtoiset määritystiedostot tiedostossa /etc/modprobe.d hakemistosta.
Täällä et tarvitse moduulin absoluuttista polkua; tämä on modprobe:n etu edellisiin komentoihin verrattuna.
Lisää moduuli antamalla sen nimi seuraavasti.
modprobe speedstep-lib
Voit poistaa moduulin käyttämällä -r
-lippua näin.
modprobe -r speedstep-lib
Huomaa: modprobessa suoritetaan automaattinen alaviivamuunnos, joten _
ja –
välillä ei ole eroa. moduulien nimien syöttäminen.
Lisätietoja käytöstä ja vaihtoehdoista löytyy modprobe-manuaalisivulta.
man modprobe
Älä unohda tarkistaa:
- Kuinka muuttaa ytimen ajonaikaisia parametreja pysyvästi ja ei-pysyvästi
- Kuinka asentaa tai päivittää uusimpaan ydinversioon CentOS 7:ssä
- Kernelin päivittäminen uusimpaan versioon Ubuntussa
Tässä kaikki tältä erää! Jos sinulla on hyödyllisiä ideoita, joita halusit meidän lisäävän tähän oppaaseen tai kysymyksiä, käytä alla olevaa palautelomaketta lähettääksesi ne meille.