Cum să încărcați și să descărcați modulele Kernel în Linux
Un modul kernel este un program care poate fi încărcat sau descărcat din nucleu la cerere, fără a-l recompila neapărat (kernel-ul) sau repornirea sistemului și are scopul de a îmbunătăți funcționalitatea nucleului.
În termeni generali de software, modulele sunt mai mult sau mai puțin ca pluginuri pentru un software precum WordPress. Pluginurile oferă mijloace pentru a extinde funcționalitatea software-ului, fără ele, dezvoltatorii ar trebui să construiască un singur software masiv cu toate funcționalitățile integrate într-un pachet. Dacă sunt necesare noi funcționalități, acestea ar trebui adăugate în versiuni noi ale unui software.
De asemenea, fără module, nucleul ar trebui să fie construit cu toate funcționalitățile integrate direct în imaginea nucleului. Aceasta ar însemna să aveți nuclee mai mari, iar administratorii de sistem ar trebui să recompileze nucleul de fiecare dată când este nevoie de o nouă funcționalitate.
Un exemplu simplu de modul este un driver de dispozitiv – care permite nucleului să acceseze o componentă hardware/dispozitiv conectat la sistem.
Listați toate modulele Kernel încărcate în Linux
În Linux, toate modulele se termină cu extensia .ko
și, în mod normal, sunt încărcate automat pe măsură ce hardware-ul este detectat la pornirea sistemului. Cu toate acestea, un administrator de sistem poate gestiona modulele folosind anumite comenzi.
Pentru a lista toate modulele încărcate curent în Linux, putem folosi comanda lsmod (list modules) care citește conținutul /proc/modules astfel.
# 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 ....
Cum să încărcați și să descărcați (eliminați) modulele Kernel în Linux
Pentru a încărca un modul kernel, putem folosi comanda insmod (inserare modul). Aici, trebuie să specificăm calea completă a modulului. Comanda de mai jos va insera modulul speedstep-lib.ko.
# insmod /lib/modules/4.4.0-21-generic/kernel/drivers/cpufreq/speedstep-lib.ko
Pentru a descărca un modul kernel, folosim comanda rmmod (eliminați modulul). Următorul exemplu va descărca sau elimina modulul speedstep-lib.ko.
# rmmod /lib/modules/4.4.0-21-generic/kernel/drivers/cpufreq/speedstep-lib.ko
Cum să gestionați modulele kernel utilizând comanda modprobe
modprobe este o comandă inteligentă pentru listarea, inserarea și eliminarea modulelor din nucleu. Acesta caută în directorul modulelor /lib/modules/$ (uname -r) toate modulele și fișierele aferente, dar exclude fișierele de configurare alternative din /etc/modprobe.d director.
Aici, nu aveți nevoie de calea absolută a unui modul; acesta este avantajul utilizării modprobe față de comenzile anterioare.
Pentru a introduce un modul, pur și simplu furnizați numele acestuia, după cum urmează.
# modprobe speedstep-lib
Pentru a elimina un modul, utilizați steag-ul -r
astfel.
# modprobe -r speedstep-lib
Notă: în modprobe, se realizează conversia automată a sublinierii, deci nu există nicio diferență între _
și –
în timp ce introduceți numele modulelor.
Pentru mai multe informații și opțiuni de utilizare, citiți pagina de manual modprobe.
# man modprobe
Nu uitați să verificați:
- Cum să modificați parametrii de rulare a kernelului într-un mod persistent și nepersistent
- Cum se instalează sau se face upgrade la cea mai recentă versiune de kernel în CentOS 7
- Cum să actualizați Kernel-ul la cea mai recentă versiune în Ubuntu
Asta este tot pentru acum! Aveți idei utile pe care ați dorit să le adăugăm la acest ghid sau întrebări, utilizați formularul de feedback de mai jos pentru a ni le trimite.