Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ FreeBSD and Nix ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

Python

SQL\T-SQL

Общая

WEB Разработка

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


Ubuntu 18.04: Управляем модулями и переменными ядра


 

Ubuntu 18.04: Управляем модулями и переменными ядра


Определение версии ядра:
$ uname -r
4.15.0-96-generic


Описание модулей

Модули находятся по пути (моя версия ядра 4.15.0-96):
/lib/modules/4.15.0-96-generic/kernel/


Все они описаны в конф. файле:
/lib/modules/4.15.0-96-generic/modules.alias

Аналогично их можно вывести командой:
$ modprobe -c


Варианты просмотра списка установленных модулей другими командами:
$ dpkg -S *.ko | grep /lib/modules/$(uname -r)
$ find /lib/modules/$(uname -r) -name *.ko


Для загрузки или незагрузки во время старта ОС модули прописывают в /etc/modules

Модуль записывается в отдельную строку, пример:
usbmouse
usbkbd

Если строка начинается с blacklist, это запрещает загрузку модуля, пример:
blacklist usbmouse
blacklist usbkbd


Каталог /etc/modprobe.d содержит отдельные конф. файлы, аналоги /etc/modules


В Ubuntu доступны данные утилиты для работы с модулями ядра:
lsmod - выведет список загруженных модулей ядра
modinfo - выведет разнообразную информацию о модуле
insmod - загружает модули, схожа функционалом с утилитой modprobe
rmmod - выгружает модули, схожа функционалом с утилитой modprobe -r
modprobe - загружает и выгружает модули ядра (с учетом зависимостей между модулями)


Пример загрузки модуля ядра:
$ sudo insmod module_name
$ sudo modprobe module_name


Пример загрузки модуля ядра с указанием параметров:
Список параметров можно узнать выполнив - modinfo module_name

$ sudo insmod module_name setting_name=value_name
$ sudo modprobe module_name setting_name=value_name


Пример выгрузки модуля ядра:
$ sudo rmmod module_name
$ sudo modprobe -r module_name


Живой пример


Для прмиера выберем данные модули:
$ cd /lib/modules/4.15.0-96-generic/kernel/drivers/hid/usbhid/


Проведем эксперимент на паре модулей:
$ file usbmouse.ko usbkbd.ko
usbmouse.ko: ELF 64-bit LSB relocatable ...
usbkbd.ko:   ELF 64-bit LSB relocatable ...


Информация об этих модулях:
$ modinfo usbkbd && echo && modinfo usbmouse
filename:       /lib/modules/4.15.0-96-generic/kernel/drivers/hid/usbhid/usbkbd.ko
license:        GPL
description:    USB HID Boot Protocol keyboard driver
author:         Vojtech Pavlik <vojtech@ucw.cz>
srcversion:     0B553CAA2E1322B21229F41
alias:          usb:v*p*d*dc*dsc*dp*ic03isc01ip01in*
depends:
retpoline:      Y
intree:         Y
name:           usbkbd
vermagic:       4.15.0-96-generic SMP mod_unload
signat:         PKCS#7
signer:
sig_key:
sig_hashalgo:   md4

filename:       /lib/modules/4.15.0-96-generic/kernel/drivers/hid/usbhid/usbmouse.ko
license:        GPL
description:    USB HID Boot Protocol mouse driver
author:         Vojtech Pavlik <vojtech@ucw.cz>
srcversion:     5BC4271A5D31A78FD703A0D
alias:          usb:v*p*d*dc*dsc*dp*ic03isc01ip02in*
depends:
retpoline:      Y
intree:         Y
name:           usbmouse
vermagic:       4.15.0-96-generic SMP mod_unload
signat:         PKCS#7
signer:
sig_key:
sig_hashalgo:   md4


Загрузка модулей:
$ sudo insmod usbmouse.ko 
$ sudo modprobe usbkbd
$ sudo lsmod | grep usb
usbkbd                 16384  0
usbmouse               16384  0
usbhid                 49152  0
hid                   118784  2 usbhid,hid_generic


Выгрузка модулей:
$ sudo rmmod usbmouse.ko
$ sudo modprobe -r usbkbd
$ sudo lsmod | grep usb
usbhid                 49152  0
hid                   118784  2 usbhid,hid_generic


Переменные ядра

Вывести список переменных ядра:
$ sudo sysctl -a

Установить значение переменной ядра:
$ sudo sysctl net.ipv4.ip_forward=1

Занести значение переменной ядра на постоянной основе в файле:
/etc/sysctl.conf

 


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.
Весь материал на сайте носит ознакомительный характер,
за его использование другими людьми, автор ответственности не несет.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект