Практическая работа: Модуль 18. Управление устройствами и модулями Ядро ОС

См. также Требования, правила и цели выполнения практической работы

Практические задания

Задание 1.

  1. По умолчанию группой файла /dev/tty8 является группа tty. Поменяйте группу на группу root для /dev/tty8.

  2. После того как группа будет изменена, отмените свои изменения.

Задание 2.

  1. Определите путь к сетевому устройству eth0 в каталоге /sys.

  2. Выведите все атрибуты устройства eth0.

Задание 3.

  1. Выгрузите модуль rapl.

  2. Добавьте модуль rapl в черный список. Перезагрузите систему и убедитесь, что он не загружен.

  3. Отмените свои изменения.

Ответы на практические задания (пошаговые инструкции)

Задание 1.

  1. Создайте файл /etc/rules.d/10-tty8.rules и добавьте в него следующую строку:

    echo 'SUBSYSTEM=="tty", KERNEL=="tty8", GROUP="root"' > /etc/rules.d/10-tty8.rules
    
  2. Проверьте, что нет ошибок:

    udevadm test /devices/virtual/tty/tty8
    
  3. Примените правило и убедитесь, что группа изменилась:

    udevadm trigger /sys/devices/virtual/tty/tty8
    ls -l /dev/tty8
    crw------- 1 root root 4, 8 мар 7 06:37 /dev/tty8
    
  4. Удалите файл 10-tty8.rules

    rm /etc/rules.d/10-tty8.rules
    chown :tty /dev/tty8
    

Необязательно вручную менять разрешения на файл, можно перезагрузить компьютер.

Задание 2.

  1. Так как устройство eth0 относится к классу сетевых устройств, посмотрите какие ссылки на устройства есть в /sys/net:

    ls -l /sys/class/net/
    lrwxrwxrwx 1 root root 0 мар 6 15:27 eth0 -> ../../devices/pci0000:00/0000:00:03.0/net/eth0
    lrwxrwxrwx 1 root root 0 мар 6 15:27 lo -> ../../devices/virtual/net/lo
    

Видно, что устройство находится по пути /sys/devices/pci0000:00/0000:00:03.0/net/eth0.

  1. Зная путь к устройству, запустите команду udevadm:

    udevadm info -a -p /sys/devices/pci0000:00/0000:00:03.0/net/eth0
    

Ключ -a указывает вывести все атрибуты устройства и всех его родительских устройств.

Задание 3.

  1. Выполните команду:

    modprobe -r rapl

  2. Создайте файл /etc/modprobe.d/blacklist-rapl.conf:

    touch /etc/modprobe.d/blacklist-rapl.conf
    echo "blacklist rapl" > /etc/modprobe.d/blacklist-rapl.conf
    

После перезагрузки проверьте, что модуля rapl нет в выводе команды lsmod:

lsmod | grep rapl
  1. Удалите файл /etc/modprobe.d/blacklist-rapl.conf и загрузите модуль rapl:

    rm /etc/modprobe.d/blacklist-rapl.conf
    modprobe rapl
    

Перезагрузите систему и убедитесь, что rapl снова загружен:

lsmod |grep rapl