Kā ielādēt un izkraut kodola moduļus Linux
Kodola modulis ir programma, kuru pēc pieprasījuma var ielādēt vai izkraut no kodola, to obligāti nepārkompilējot (kodolu) vai pārstartējot sistēmu, un tā ir paredzēta kodola funkcionalitātes uzlabošanai.
Parasti programmatūras izteiksmē moduļi ir vairāk vai mazāk līdzīgi spraudņiem tādai programmatūrai kā WordPress. Spraudņi nodrošina līdzekļus programmatūras funkcionalitātes paplašināšanai, bez tiem izstrādātājiem būtu jāveido viena liela programmatūra ar visām funkcijām, kas integrētas paketē. Ja ir nepieciešamas jaunas funkcionalitātes, tās būtu jāpievieno jaunās programmatūras versijās.
Tāpat bez moduļiem kodols būtu jāveido ar visām funkcijām, kas tieši integrētas kodola attēlā. Tas nozīmētu, ka ir lielāki kodoli, un sistēmas administratoriem kodols jāpārkompilē katru reizi, kad nepieciešama jauna funkcionalitāte.
Vienkāršs moduļa piemērs ir ierīces draiveris, kas ļauj kodolam piekļūt aparatūras komponentam/ierīcei, kas savienota ar sistēmu.
Uzskaitiet visus Linux ielādētos kodola moduļus
Linux sistēmā visi moduļi beidzas ar paplašinājumu .ko
, un tie parasti tiek ielādēti automātiski, kad aparatūra tiek atklāta sistēmas sāknēšanas laikā. Tomēr sistēmas administrators var pārvaldīt moduļus, izmantojot noteiktas komandas.
Lai uzskaitītu visus Linux pašlaik ielādētos moduļus, mēs varam izmantot komandu lsmod (saraksts moduļi), kas lasa šāda veida/proc/module saturu.
# 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 ....
Kā ielādēt un izkraut (noņemt) kodola moduļus Linux
Lai ielādētu kodola moduli, mēs varam izmantot komandu insmod (insert module). Šeit mums jānorāda pilns moduļa ceļš. Zemāk esošā komanda ievietos moduli speedstep-lib.ko.
# insmod /lib/modules/4.4.0-21-generic/kernel/drivers/cpufreq/speedstep-lib.ko
Lai izkrautu kodola moduli, mēs izmantojam komandu rmmod (noņemt moduli). Šajā piemērā tiks izlādēts vai noņemts modulis speedstep-lib.ko.
# rmmod /lib/modules/4.4.0-21-generic/kernel/drivers/cpufreq/speedstep-lib.ko
Kā pārvaldīt kodola moduļus, izmantojot modprobe komandu
modprobe ir inteliģenta komanda moduļu uzskaitīšanai, ievietošanai, kā arī moduļu noņemšanai no kodola. Tas meklē moduļu direktorijā/lib/modules/& # 36 (uname -r) visus moduļus un saistītos failus, bet alternatīvos konfigurācijas failus izslēdz direktorijā /etc/modprobe.d.
Šeit jums nav nepieciešams absolūtais moduļa ceļš; šī ir modprobe izmantošanas priekšrocība salīdzinājumā ar iepriekšējām komandām.
Lai ievietotu moduli, vienkārši norādiet tā nosaukumu šādi.
# modprobe speedstep-lib
Lai noņemtu moduli, izmantojiet -r
karodziņu kā šis.
# modprobe -r speedstep-lib
Piezīme. Izmantojot modprobe, tiek veikta automātiska pasvītrojuma pārveidošana, tāpēc moduļu nosaukumu ievadīšanas laikā nav atšķirības starp _
un -
.
Lai iegūtu papildinformāciju par lietošanu un iespējām, izlasiet modprobe man lapā
# man modprobe
Neaizmirstiet pārbaudīt:
- Kā nemainīgā un nepastāvīgā veidā mainīt kodola izpildlaika parametrus
- Kā CentOS 7 instalēt vai jaunināt uz jaunāko kodola versiju
- Kā jaunināt kodolu uz jaunāko Ubuntu versiju
Tas pagaidām ir viss! Vai jums ir kādas noderīgas idejas, kuras vēlaties, lai mēs pievienotu šai rokasgrāmatai vai vaicājumiem, izmantojiet tālāk sniegto atsauksmju veidlapu, lai tās nodotu mums.