Jinsi ya Kupakia na Kupakua Module za Kernel kwenye Linux


Moduli ya kernel ni programu inayoweza kupakiwa ndani au kupakuliwa kutoka kwa kernel inapohitajika, bila ya kuirudisha (kernel) au kuwasha upya mfumo, na inakusudiwa kuimarisha utendakazi wa punje.

Kwa maneno ya jumla ya programu, moduli ni zaidi au kidogo kama programu-jalizi za programu kama vile WordPress. Programu-jalizi hutoa njia za kupanua utendakazi wa programu, bila wao, wasanidi watalazimika kuunda programu moja kubwa yenye vipengele vyote vilivyounganishwa kwenye kifurushi. Ikiwa utendakazi mpya unahitajika, italazimika kuongezwa katika matoleo mapya ya programu.

Vivyo hivyo bila moduli, kernel ingelazimika kujengwa na utendakazi wote uliojumuishwa moja kwa moja kwenye picha ya kernel. Hii itamaanisha kuwa na kokwa kubwa, na wasimamizi wa mfumo wangehitaji kukusanya tena kernel kila wakati utendakazi mpya unahitajika.

Mfano rahisi wa moduli ni kiendeshi cha kifaa - ambacho huwezesha kernel kufikia sehemu ya maunzi/kifaa kilichounganishwa kwenye mfumo.

Orodhesha Moduli Zote za Kernel Zilizopakia katika Linux

Katika Linux, moduli zote huisha na kiendelezi cha .ko, na kwa kawaida hupakiwa kiotomatiki huku maunzi yanapotambuliwa kwenye mfumo wa kuwasha. Walakini, msimamizi wa mfumo anaweza kudhibiti moduli kwa kutumia amri fulani.

Kuorodhesha moduli zote zilizopakiwa kwa sasa katika Linux, tunaweza kutumia lsmod (moduli za orodha) ambayo inasoma yaliyomo kwenye /proc/module kama hii.

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

Jinsi ya Kupakia na Kupakua (Ondoa) Moduli za Kernel katika Linux

Ili kupakia moduli ya kernel, tunaweza kutumia amri ya insmod (ingiza moduli). Hapa, tunapaswa kutaja njia kamili ya moduli. Amri iliyo hapa chini itaingiza moduli ya speedstep-lib.ko.

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

Ili kupakua moduli ya kernel, tunatumia amri ya rmmod (ondoa moduli). Mfano ufuatao utapakua au kuondoa moduli ya speedstep-lib.ko.

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

Jinsi ya Kusimamia Moduli za Kernel Kutumia Amri ya modprobe

modprobe ni amri ya akili ya kuorodhesha, kuingiza na kuondoa moduli kutoka kwa kernel. Inatafuta katika saraka ya moduli /lib/modules/$ (uname -r) kwa moduli zote na faili zinazohusiana, lakini haijumuishi faili mbadala za usanidi katika saraka ya /etc/modprobe.d.

Hapa, hauitaji njia kamili ya moduli; hii ndio faida ya kutumia modprobe juu ya amri zilizopita.

Ili kuingiza moduli, toa tu jina lake kama ifuatavyo.

# modprobe speedstep-lib

Ili kuondoa sehemu, tumia alama ya -r kama hii.

# modprobe -r speedstep-lib

Kumbuka: Chini ya modprobe, ubadilishaji kiotomatiki wa underscore unafanywa, kwa hivyo hakuna tofauti kati ya _ na wakati wa kuingiza majina ya sehemu.

Kwa habari zaidi ya utumiaji na chaguzi, soma kupitia ukurasa wa mtu wa modprobe.

# man modprobe

Usisahau kuangalia:

  1. Jinsi ya Kubadilisha Vigezo vya Muda wa Kuendesha Kernel kwa Njia ya Kudumu na Isiyo Kudumu
  2. Jinsi ya Kusakinisha au Kuboresha hadi Toleo la Hivi Punde la Kernel katika CentOS 7
  3. Jinsi ya Kuboresha Kernel hadi Toleo la Hivi Punde katika Ubuntu

Ni hayo tu kwa sasa! Je, una mawazo yoyote muhimu, ambayo ulitaka tuongeze kwenye mwongozo huu au maswali, tumia fomu ya maoni iliyo hapa chini ili kuyatupa kwetu.