Vannak modulok a grafikus hardverhez (GPU), különböző fájlrendszerekhez (például ext4, zfs, btrfs), hálózati hardverekhez, kijelzőhöz, billentyűzethez és különböző beviteli eszközökhöz, és még sok máshoz.
Ebben a cikkben bemutatom, hogyan kell használni modprobe a kernelmodulok kezelésére a Debian GNU / Linux terjesztésen. A bemutatóhoz a Debian 9 Stretch programot fogom használni. De működnie kell a Debian GNU / Linux bármely verzióján. Tehát kezdjük.
Az alapértelmezett modulok könyvtár:
A Debian összes modulja a / lib / modules / $ (uname -r) Könyvtár.
A kernelmodulok egy alkönyvtárban vannak tárolva. A kernelmodulok moduláris hierarchikus sorrendben vannak tárolva, amint az az alábbi képernyőképen látható.
$ ls / lib / modules / $ (uname -r) / kernel
Az összes elérhető kernelmodul felsorolása:
Az összes kernelmodul szépen formázott fa struktúrában sorolható fel a következő paranccsal:
$ tree / lib / modules / $ (uname -r) / kernel
JEGYZET: A fa parancs alapértelmezés szerint nincs telepítve. Manuálisan kell telepítenie a következővel: sudo apt install fa
Mint látható, a könyvtárak és a kernelmodulok faként szerepelnek.
Nagyon hosszú lista. A listán való navigálás megkönnyítése érdekében átadhatja egy olyan személyhívónak is, mint például a következők:
$ tree / lib / modules / $ (uname -r) / kernel | Kevésbé
Most megnyomhatja a
A kevésbé pagerben kereshet modulokat. Csak nyomja meg / és írja be a keresési kulcsszót.
Most nyomja meg
Megnyomhatja a gombot is n és o a következő vagy az előző eredményre való ugráshoz.
A személyhívóból való kilépéshez nyomja meg a gombot q.
Az összes betöltött kernelmodul felsorolása:
A Debian operációs rendszere által használt összes kernelmodult a következő paranccsal sorolhatja fel:
$ lsmod
Ez egy hosszú lista. A Modul oszlopban (1) láthatja a kernel modul nevét a Méret a (2) oszlopban láthatja a kernel modul méretét bájtokban.
A Használva a (3) oszlop érdekes. Ez az oszlop számmal és opcionálisan vesszővel elválasztva kezdődik a modulok nevével.
A szám határozza meg, hogy hány modul függ ettől a modultól. Ha 0, akkor ez azt jelenti, hogy ettől a modultól nem függ más modul. Például a pppdev modult nem használja más modul. Így biztonságosan eltávolíthatja vagy hozzáadhatja pppdev kernel modul bármikor.
Ha ez valami más, mint 0, akkor sok más modul függ ettől a modultól. Például 2 másik modul függ snd_pcm modul, amint az az alábbi képernyőkép kijelölt részében látható. Tehát nem tudja eltávolítani snd_pcm csak akkor távolítsa el a modulokat, amelyek ettől a modultól függenek. Ebben az esetben a snd_ac97_codec és snd_ens1371 modulokat el kell távolítani az eltávolításhoz snd_pcm modul.
Információk szerzése az adott kernelmodulról:
Most, hogy tudja, hogyan sorolja fel az összes elérhető kernelmodult és a betöltött kernelmodulokat. Ebben a részben bemutatom, hogyan szerezhet információt bármely kernelmodulról.
A Debianon használhatja a modinfo parancs bármely modulról.
Például a snd_pcm korábban látott modul, futtassa a következő parancsot:
$ sudo modinfo snd_pcm
Mint látható, a modul fájl elérési útja, licenc, rövid leírás a modulról snd_pcm, a modulok snd_pcm függ és néhány egyéb információ szerepel.
Ezek az információk elengedhetetlen részei, amelyeket tudnia kell ahhoz, hogy a Deban moduljaival együtt dolgozzon. Például, ha engedélyezni szeretné snd_pcm modult, akkor azt is engedélyeznie kell snd és snd-timer modulok, mielőtt ezt megtenné. Mint snd_pcm attól függ snd és snd-timer. Különben nem fog menni.
Új kernelmodul betöltése a modprobe használatával:
Új kernelmodulokat tölthet be a modprobe parancs. Tegyük fel például, hogy engedélyezni szeretné a btrfs fájlrendszer kernelmodul.
Először ellenőrizze, hogy milyen modulok vannak btrfs a kernelmodulok a -tól függenek modinfo alábbiak szerint:
$ sudo modinfo btrfsMint láthatja, a btrfs kernel modul függ raid6_pg és xor kernelmodulok.
Ellenőrizzük, hogy engedélyezve vannak-e az alábbiak szerint:
$ lsmod | grep raid6$ lsmod | grep xor
Mint látható, egyik modul sem töltődik be.
Most futtassa a következő parancsokat a betöltéshez raid6_pq és xor kernelmodulok:
$ sudo modprobe raid6_pq$ sudo modprobe xor
Most ellenőrizzük, hogy a függőségi kernel moduljai újra betöltődnek-e:
$ lsmod | grep raid6$ lsmod | grep xor
Mint látható, a kernelmodulok betöltődnek.
Most betöltheti a btrfs kernel modul a következő paranccsal:
$ sudo modprobe btrfs
Most ellenőrizzük, hogy a btrfs A kernel modul a következő paranccsal van betöltve:
$ lsmod | grep btrfs
Mint láthatja, a btrfs a kernelmodul betöltődik, és ez a raid6_pq és a xor kernelmodulok.
Az idő nagy részében modprobe parancs automatikusan megoldja a függőségeket. De megmutattam, hogyan kell manuálisan csinálni, mert időnként előfordulhat, hogy így kell tennie. A legjobb, ha tudod, hogyan lehet megoldani egy problémát, mivel egyszer lehet, hogy foglalkoznod kell vele.
Modulok eltávolítása modprobe-val:
A modulokkal a modprobe parancs. Ha más modul nem függ az eltávolítani kívánt modultól, akkor a folyamat egyszerű.
Például a btrfs Korábban betöltött modul, futtassa a következő parancsot:
$ sudo modprobe -r btrfs
A modult el kell távolítani.
Ha más modulok függnek az eltávolítani kívánt modultól, akkor először el kell távolítania ezeket a modulokat, mielőtt eltávolíthatja a kívánt modult.
Alapvetően ennyit kell tudni a kernelmodulok kezeléséről a Debianon. Köszönjük, hogy elolvasta ezt a cikket.