Weboldal keresés

Kernelmodulok betöltése és eltávolítása Linux alatt


A kernelmodul olyan program, amely igény szerint betölthető a kernelbe, vagy onnan eltávolítható anélkül, hogy szükségszerűen újrafordítaná (a rendszermagot) vagy újraindítaná a rendszert, és célja a kernel funkcionalitásának javítása.

Általánosságban elmondható, hogy a modulok többé-kevésbé olyanok, mint egy szoftver, például a WordPress beépülő moduljai. A beépülő modulok lehetőséget nyújtanak a szoftver funkcionalitásának bővítésére, nélkülük a fejlesztőknek egyetlen hatalmas szoftvert kellene készíteniük, amelynek minden funkciója egy csomagba van integrálva. Ha új funkciókra van szükség, akkor azokat egy szoftver új verziójába kell hozzáadni.

Ugyanígy modulok nélkül a kernelt úgy kellene felépíteni, hogy minden funkciója közvetlenül a kernelképbe legyen integrálva. Ez azt jelentené, hogy nagyobb kernelek kellenek, és a rendszergazdáknak minden alkalommal újra kell fordítaniuk a kernelt, amikor új funkcióra van szükség.

Egy egyszerű példa a modulra az eszközillesztő – amely lehetővé teszi a kernel számára, hogy hozzáférjen a rendszerhez csatlakoztatott hardverkomponenshez/eszközhöz.

Javasolt olvasmány: Hogyan lehet megtudni, hogy milyen Linux-verziót futtatsz

Listázza az összes betöltött kernelmodult Linuxban

Linuxban minden modul a .ko kiterjesztéssel végződik, és általában automatikusan betöltődik, amint a rendszerindításkor észleli a hardvert. A rendszergazda azonban bizonyos parancsokkal kezelheti a modulokat.

A Linuxban jelenleg betöltött összes modul listázásához használhatjuk az lsmod (modulok listázása) parancsot, amely így olvassa be a /proc/modules fájl tartalmát.

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
....

Kernelmodulok betöltése és eltávolítása (eltávolítása) Linux alatt

A kernelmodul betöltéséhez az insmod (modul beillesztése) parancsot használhatjuk. Itt meg kell adnunk a modul teljes elérési útját. Az alábbi parancs beilleszti a speedstep-lib.ko modult.

insmod /lib/modules/4.4.0-21-generic/kernel/drivers/cpufreq/speedstep-lib.ko 

A kernelmodul eltávolításához az rmmod (modul eltávolítása) parancsot használjuk. A következő példa eltávolítja vagy eltávolítja a speedstep-lib.ko modult.

rmmod /lib/modules/4.4.0-21-generic/kernel/drivers/cpufreq/speedstep-lib.ko 

A kernelmodulok kezelése a modprobe paranccsal

A modprobe egy intelligens parancs modulok listázásához, beillesztéséhez és eltávolításához a kernelből. Megkeresi a /lib/modules/$ (uname -r) modulkönyvtárban az összes modult és kapcsolódó fájlt, de kizárja az /etc/modprobe.d fájlban található alternatív konfigurációs fájlokat. könyvtárba.

Itt nincs szükség a modul abszolút elérési útjára; ez az előnye a modprobe használatának az előző parancsokhoz képest.

Modul beillesztéséhez egyszerűen adja meg a nevét az alábbiak szerint.

modprobe speedstep-lib

Modul eltávolításához használja a -r jelzőt ehhez hasonló módon.

modprobe -r speedstep-lib

Megjegyzés: A modprobe alatt automatikus aláhúzás-konverzió történik, így nincs különbség a _ és a között, miközben modulnevek megadása.

További használati információkért és lehetőségekért olvassa el a modprobe kézikönyvoldalát.

man modprobe

Ne felejtsd el megnézni:

  1. A kernel futásidejű paramétereinek állandó és nem állandó módosítása
  2. Telepítés vagy frissítés a legújabb kernelverzióra a CentOS 7 rendszerben
  3. A kernel frissítése a legújabb verzióra az Ubuntuban

Ez minden most! Ha van olyan hasznos ötlete, amelyet hozzá szeretne adni ehhez az útmutatóhoz, vagy kérdései vannak, használja az alábbi visszajelzési űrlapot, és adja meg nekünk.