Lsmod
Autor
Kaupo Saar Ak41 2014/2015
Esitatud: 06.1.2015
Täiendab: Marko Megerild AK-21
Sissejuhatus
Käsud lsmod, rmmod, insmod on kernelis jooksvate moodulite lisamiseks, eemaldamiseks ja nende kohta informatsiooni saamiseks. Kõik käsud on mõeldud root kasutaja all jooksutamiseks.
Lsmod
lsmod on käsk Linux süsteemis mis prindib /proc/modules faili sisu. lsmod näitab millised laaditavad kerneli moodulid on hetkel laaditud. Lsmod käsklust tuleb jooksutada root õigustes.
Näide:
# lsmod Module Size Used by af_packet 27392 2 Realtek|8139too 30592 0 snd_cs46xx 96872 3 snd_pcm_oss 55808 1 snd_mixer_oss 21760 2 snd_pcm_oss iptables|ip6table 7424 1 iptables|ip6_tables 19728 1 ip6table_filter IPv6|ipv6 290404 22 XFS|xfs 568384 4 sis900 18052 5 Parallel ATA|libata 169920 1 pata_sis SCSI|scsi_mod 158316 3 usb_storage,sd_mod,libata USB|usbcore 155312 6
"Module" näitab mooduli nimetust.
"Size" näitab mooduli suurust (mitte mälu kasutust).
"Used by" tähistab iga mooduli kasutamise arvu ja nimekirja viidates moodulile.
Kui moodul kontrollib ise enda mahalaadimist, läbi "can_unload" rutiini, kuvatakse "Used By" tulbas -1.
Moodulite tugi lisati esmalt Bas Laarhoveni poolt.
Laiendati versioonis 0.99.14 Jon Tombs.
On peale seda korduvalt laiendatud erinevate developeride poolt (Bjorn Ekwall, Richard Henderson).
Rmmod
Rmmod — lihtne programm millega eemaldada mooduleid Linuxi kernelist. Piiranguteks on, et need moodulid ei ole hetkel kasutuses ja ükski teine moodul ei viita sellele moodulile. Rmmod käsklust tuleb jooksutada root õigustes.
Kui käsureal on nimetautd rohkem kui üks moodul, siis need eemaldatakse nimetatud järjekorras. Tänu sellele on võimalik eemaldada kuhjatud mooduleid.
-r võtmega proovitakse rekursiivset eemaldus meetodit. See tähendab, et juhul, kui käsureal nimetatud moodul on kuhjatud, eemaldatakse kõik alus moodulid kui võimalik.
rmmod[-f] [-w] [-s] [-v] [modulename] |
-a, --all Teeb automaatse puhastuse, kõik mitte kasutusel olevad moodulid märgitakse kustutamiseks, eemaldab ka kõik moodulid millel vastav märge küljes. Moodulitele jääb märge külge kui neid ei kasutata kordagi eelmisest automaatsest puhastusest.
-e, --persist Salvestab püsivad andmed nimetautd moodulitele. Kui mooduli nime ei ole spetsifitseeritud, salvestatakse andmed kõikide moodulite kohta. Andmed salvestatakse ainult, kui nii kernel ja modutils toetavad püsiandmeid ja /proc/ksyms sisaldab kirjet __insmod_modulename_Ppersistent_filename.
-h, --help Näitab võtmete kokkuvõtet.
-v --verbose Prindib teateid, mida programm teeb. Tavaliselt rmmod ainult prindib sõnumeid, kui midagi läheb valesti.
-f --force Eemaldab mooduli ilma tingimusteta, isegi kui moodul on kasutuses.
-w --wait Tavaliselt rmmod keelab moodulite mahalaadimist, mis on kasutuses. Selle variandi puhul rmmod isoleerib mooduli ja paneb selle ootele, kuni moodulit enam ei kasutata. Uuel kasutajal pole võimalik kasutada moodulit, kuid moodul jääb niikaua saadavale aktiivsele kasutajale kuniks seda enam ei kasutata.
-s --syslog Saadab veateate syslogi, standard errori asemel.
-V --version Näitab programmi versiooni.
---
Insmod
insmod Paigaldab laaditava mooduli töötavasse Linuxi kerneli. Insmod käsklust tuleb jooksutada root õigustes.
insmod proovib linkida mooduli jooksvasse kernelisse lahendaded kõik sümbolid kernelist eksporditud sümboli tabelis.
insmod otsib moodulit üldistest vaike kaustadest kui mooduli faili nimi on antud ilma kataloogi või faili laiendita.
Keskonnamuutuja MODPATH on siin kasutatav vaikeväärtuse ülekirjutamiseks, kui moodulite konfiguratsiooni fail, näiteks /etc/modules.conf, eksisteerib kirjutab see MODPATH vaikeväärtused üle.
Keskonnamuutuja MODULECONF saab kasutada mitte vaikeväärtus konfiguratsiooni faili (/etc/modules.conf) kasutamiseks.
See keskonnamuutuja kirjutab üle kõik eelnevalt määratud vaikeväärtused.
Kui keskonnamuutuja UNAME_MACHINE on kasutusel, siis modutils kasutab selle väärtust mitte uname() süsteemikutsest saadud väärtust.
See on peamiselt kasulik kui näiteks kompileerida 64bitiseid mooduleid 32bitises keskonnas või vastupidi.
Hetkel modutils ei toeta täieliku täisrist režiimi moodulite kompileerimisel vaid on limiteeritud 32 ja 64bitise host arhitektuuri valiku vahel.
insmod [ filename ] [ module options... ] |
-e persist_name, --persist=persist_name -f, --force -h, --help -k, --autoclean -L, --lock -m, --map -n, --noload -o module_name, --name=module_name -O blob_name, --blob=blob_name -p, --probe -P prefix, --prefix=prefix -q, --quiet -r, --root -s, --syslog -S, --kallsyms -v, --verbose -V, --version -X, --export; -x, --noexport -Y, --ksymoops; -y, --noksymoops -N, --numeric-only
Modprobe
modprobe on programm millega lisada/eemaldada mooduleid Linuxi Kerneli süsteemist.
- modprobe arukalt lisab või eemaldab mooduli Linux kernelist. modprobe otsib mooduli kataloogist / lib / modules / "uname -r", välja arvatud /etc/modprobe.conf konfiguratsioonifaili ja /etc/modprobe.d kataloogist (vt lisa modprobe.conf [7] ).
- modprobe saab kasutada ka käsurea kujul <moodul> <option>.
modprobe [ -v ] [ -V ] [ -C config-file ] [ -n ] [ -i ] [ -q ] [ -b ] [ -o modulename ] [ modulename ] [ module parameters... ]
modprobe [ -r ] [ -v ] [ -n ] [ -i ] [ modulename... ]
modprobe [ -l ] [ -t dirname ] [ wildcard ]
modprobe [ -c ]
modprobe [ --dump-modversions ]
Kokkuvõte
Lsmod, rmmod ja insmod on väga limiteeritud aplikatsioonid linuxi maailmas. Nüüdseks on olemas tunduvalt mugavamaid vahendeid sama töö tegemiseks, näiteks lõpus välja toodud modprobe.
Kasutatud kirjandus
1 http://ccrma.stanford.edu/planetccrma/man/man8/lsmod.8.html
2 http://linux.die.net/man/8/lsmod
3 http://www.linuxcommand.org/man_pages/rmmod8.html
4 http://ccrma.stanford.edu/planetccrma/man/man8/rmmod.8.html
5 http://linux.about.com/od/commands/l/blcmdl8_insmod.htm