Hvernig á að hlaða og afferma kjarnaeiningar í Linux
Kjarnaeining er forrit sem hægt er að hlaða inn í eða losa úr kjarnanum ef óskað er eftir því, án þess að þurfa að endursamstilla hann (kjarnann) eða endurræsa kerfið, og er ætlað að auka virkni kjarnans.
Í almennum hugbúnaðarskilmálum eru einingar meira og minna eins og viðbætur við hugbúnað eins og WordPress. Viðbætur veita leið til að auka virkni hugbúnaðar, án þeirra þyrftu verktaki að smíða einn stóran hugbúnað með öllum virkni samþættum í pakka. Ef þörf er á nýrri virkni þyrfti að bæta þeim við í nýjum útgáfum hugbúnaðar.
Sömuleiðis án eininga þyrfti kjarnann að vera byggður með öllum virkni samþætta beint inn í kjarnamyndina. Þetta myndi þýða að hafa stærri kjarna og kerfisstjórar þyrftu að endursafna kjarnanum í hvert skipti sem þörf er á nýrri virkni.
Einfalt dæmi um einingu er tækjastjóri – sem gerir kjarnanum kleift að fá aðgang að vélbúnaðaríhlut/tæki sem er tengt við kerfið.
Listaðu allar hlaðnar kjarnaeiningar í Linux
Í Linux enda allar einingar á .ko
viðbótinni og þær hlaðast venjulega sjálfkrafa þar sem vélbúnaðurinn greinist við ræsingu kerfisins. Hins vegar getur kerfisstjóri stjórnað einingunum með því að nota ákveðnar skipanir.
Til að skrá allar einingar sem nú eru hlaðnar í Linux getum við notað lsmod (list modules) skipunina sem les innihald /proc/modules eins og þessa.
# 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 ....
Hvernig á að hlaða og afferma (fjarlægja) kjarnaeiningar í Linux
Til að hlaða inn kjarnaeiningu getum við notað skipunina insmod (insert module). Hér verðum við að tilgreina alla leið einingarinnar. Skipunin hér að neðan mun setja inn speedstep-lib.ko eininguna.
# insmod /lib/modules/4.4.0-21-generic/kernel/drivers/cpufreq/speedstep-lib.ko
Til að afferma kjarnaeiningu notum við rmmod (fjarlægja mát) skipunina. Eftirfarandi dæmi mun afferma eða fjarlægja speedstep-lib.ko eininguna.
# rmmod /lib/modules/4.4.0-21-generic/kernel/drivers/cpufreq/speedstep-lib.ko
Hvernig á að stjórna kjarnaeiningum með því að nota modprobe Command
modprobe er snjöll skipun til að skrá, setja inn og fjarlægja einingar úr kjarnanum. Það leitar í einingaskránni /lib/modules/$ (uname -r) að öllum einingunum og tengdum skrám, en útilokar aðrar stillingarskrár í /etc/modprobe.d möppunni.
Hér þarftu ekki algera slóð einingar; þetta er kosturinn við að nota modprobe umfram fyrri skipanir.
Til að setja inn einingu skaltu einfaldlega gefa upp nafn hennar eins og hér segir.
# modprobe speedstep-lib
Til að fjarlægja einingu, notaðu -r
fánann svona.
# modprobe -r speedstep-lib
Athugið: Undir modprobe er sjálfvirk umbreyting undirstrikunar framkvæmd, þannig að það er enginn munur á _
og –
þegar einingarheiti eru færðar inn.
Fyrir frekari upplýsingar um notkun og valkosti, lestu í gegnum modprobe man síðuna.
# man modprobe
Ekki gleyma að kíkja á:
- Hvernig á að breyta færibreytum kjarna keyrslutíma á viðvarandi og óviðvarandi hátt
- Hvernig á að setja upp eða uppfæra í nýjustu kjarnaútgáfuna í CentOS 7
- Hvernig á að uppfæra kjarna í nýjustu útgáfuna í Ubuntu
Það er allt í bili! Hefur þú einhverjar gagnlegar hugmyndir sem þú vildir að við bættum við þessa handbók eða fyrirspurnir, notaðu athugasemdareyðublaðið hér að neðan til að senda okkur þær.