V první řadě je nutné upozornit, že zavádět moduly může pouze uživatel root, který vlastně může cokoliv. Proč tomu tak je? Root se stará o to, aby celý systém v pořádku běžel, je to administrátor. Běžný uživatel má systém pouze používat, nikoliv zasahovat do jeho běhu či funkčnosti. Samozřejmě může ovlivňovat programy, které používá, jejich nastavení se ale ukládá právě a pouze v adresáři tohoto uživatele. Říká se tomu uživatelský prostor, user space.
Oproti tomu kernel space je prostor, kde panuje jádro. Jedná se samozřejmě o správu služeb a prostředků, jež ovlivňují celý systém, tedy i konkrétní user spaces. Zavedením modulu se mění podmínky pro jednotlivé uživatelské programy. Proto je může ovlivnit pouze kvalifikovaný uživatel - správce čili root. Tolik teoretická úvaha. Jako root tedy modul načtete příkazem insmod jméno_modulu. Může se však stát, že se vložení modulu do paměti nezdaří a příkaz ohlásí chybu. V mnoha skriptech by to byla obtížně řešitelná situace, a proto existuje příkaz modprobe, který se pokusí načíst modul do paměti. Pokud se to zdaří, vrací interně kladnou hodnotu, pokud ne, vrací hodnotu zápornou a vypíše chybové hlášení. Taková můžeme mnohdy vídat při startu systému (což svědčí o lenosti roota tyto příčiny odstranit). Ve skriptu lze však tento stav snadno ošetřit a pokračovat. Moduly jádra jsou uloženy v adresáři /lib/modules/verze-jádra/.
# modprobe linuxexpres FATAL: Module linuxexpres not found.
Stejně jako lze moduly do paměti načíst, lze je i vyjmout. Problém nastává, je-li zařízení, které modul obsluhuje, používáno. Moduly jsou také mnohdy závislé jeden na druhém. V takovém případě je nutné hledat modul, který stojí na začátku závislostní řady, nebo přestat používat zařízení (obvykle neřešitelné).
# lsmod |grep usb usbserial 26088 2 visor,pl2303 usblp 10752 0
Jak tyto závislosti zjistíme? Stačí použít příkaz lsmod neboli "list modules". Zobrazí název modulu, jeho velikost a "vlastníka", resp. modul, který jej využívá. Je tedy nutné najít ten modul, který nemá žádného vlastníka a začít s odstraňováním.
# rmmod usblp # lsmod |grep usb usbserial 26088 2 visor,pl2303
Další zajímavý příkaz je ještě modinfo. Vypisuje parametry, které ovlivňují chování modulu a také informace o autorech. Mnohdy je to klíč k pochopení správných parametrů. Více informací poskytují jednotlivé manuálové stránky.
# modinfo usbserial
author: Greg Kroah-Hartman, greg@kroahcom,
http://www.kroah.com/linux/
description: USB Serial Driver core
version: v2.0
license: GPL
parm: debug:Debug enabled or not
parm: vendor:User specified USB idVendor
parm: product:User specified USB idProduct
vermagic: 2.6.10 486 gcc-3.3
depends:
srcversion: F93DD337E70663249DF3E0D