Перейти к основному содержанию
Рецепты Linux

Main navigation

  • Основы
  • Система
  • Команды
  • Программы
  • Дистро
  • Интерфейсы
  • Устройства
  • Доки
User account menu
  • Войти

Строка навигации

  1. Главная

Команда Linux depmod

Автор: admin, 17 декабря, 2023
Команды

Команда depmod (модули зависимостей) используется для создания списка описаний зависимостей модулей ядра и связанных с ними файлов карт.

Использование команды Linux depmod с примерами

Содержание

  • Описание
  • Синтаксис
  • Параметры
    • Основные параметры
    • Параметры для управления дистрибутивами
  • Примеры использования команды Linux depmod
    • Серия команд
    • Необходимые команды
  • Заключение

Описание

При запуске утилиты анализируются модули ядра в каталоге /lib/modules/[kernel-release] и создаётся файл зависимостей типа Makefile с именем Modules.

Модули обычно берутся из каталогов, указанных в файле конфигурации или упомянутых в командной строке. Затем, стек модулей добавляется и удаляется автоматически с помощью modprobe, ни один модуль не остаётся без других связанных модулей, которые им необходимы.

Одновременно создаётся связанная карта, сопоставляющая идентификаторы оборудования и соответствующие модули, которые их обрабатывают с целью использования инфраструктурой горячего подключения. Это специально связанное сопоставление используется для поиска и нахождения правильного модуля, когда аппаратное обеспечение его запрашивает.

Ядро Linux использует depmod и modprobe для отправки необработанных данных для своих модулей в правильном порядке для их загрузки. Командные утилиты depmod и modprobe облегчают создание модульного ядра Linux, которым могут управлять все конечные пользователи, инженеры по обслуживанию дистрибуции, сетевые и системные администраторы.

Модули ядра Linux будут предоставлять уникальные службы, называемые «символы», позволяющие другим модулям использовать утилиты ядра.

Команда depmod:

  • создаёт список символов, предоставленных модулями, в файле с именем modules.symbols;
  • создаёт список символов в модулях по его двоичной хешированной версии, modules.symbols.bin;
  • сохраняет выходные данные файла с именем modules.devname, если модули предоставляют уникальные имена устройств (devname), которые должны быть заполнены в /dev при загрузке с помощью специальной утилиты, например udev.

Синтаксис

$ depmod -[aA] [options] [forced_version] 

Параметры

Основные параметры

-a, --all
Проверить все модули
-A, --quick
Работает только если есть новый модуль
-e, --errsyms
Сообщить о непредоставленных символах
-n, --show
Записать файл зависимостей только на стандартный вывод
-P, --symbol-prefix
Префикс символа архитектуры
-C, --config=PATH
Чтение конфигурации из PATH
-v, --verbose
Включить подробный режим
-w, --warn
Предупредить о дублях
-V, --version
Показать версию
-h, --help
Показать эту помощь

Параметры для управления дистрибутивами

-b, --basedir=DIR
Использовать изображение дерева модулей
-o, --outdir=DIR
Выходной каталог для сгенерированных файлов
-F, --filesyms=FILE
Использовать файл вместо текущих символов ядра
-E, --symvers=FILE
Использовать файл Module.symvers для проверки версий символов

Если аргументы (кроме опций) не указаны, предполагается, что depmod -a выведет список зависимостей, подходящий для утилиты modprobe.

Примеры использования команды Linux depmod

Серия команд

В приведённых ниже примерах серия команд, помогающих проиллюстрировать обычный способ использования утилиты в Linux. Каждая команда имеет префикс sudo, поскольку каждая из них требует соответствующих прав root.

В первой команде используется утилита ln для создания символической ссылки в файл нашего модуля в каталоге /lib/modules/[kernel-release]. Команда `uname -r`, заключённая в обратные кавычки, выполняется оболочкой и преобразуется в соответствующую строку, представляющую версию выпуска нашего ядра.

$ sudo ln -s /path/to/your-kernel-module.ko /lib/modules/`uname -r` 

Во второй команде с помощью depmod -a создаётся обновлённый список зависимостей, чтобы убедиться, что модуль, который мы устанавливаем, знает обо всех существующих модулях и зависимостях.

$ sudo depmod -a 

Обновлённый список зависимостей будет использоваться modprobe при установке модуля в третьей команде.

$ sudo modprobe your-kernel-module 

Команда modprobe установила модуль ядра.

Необходимые команды

insmod
Вставка модуля в ядро Linux
lsmod
Отображение состояния модуля ядра Linux
modinfo
Отображение информации о модуле ядра Linux
modprobe
Добавление или удаление модуля из ядра Linux
rmmod
Удаление модуля из ядра Linux

Заключение

Эта небольшая статья о работе в Linux с командой depmod наверняка будет полезна начинающим системным администраторам.

Последние материалы

  • Эмулятор терминала Terminator
    3 hours 14 minutes ago
  • Приложение scanimage
    6 days 1 hour ago
  • Утилита sensors
    1 week 2 days ago
  • Сканер Rkhunter
    2 weeks 3 days ago
  • Программа resize2fs
    3 weeks 2 days ago
RSS feed

Secondary menu

  • О проекте

© 2008–2025 Олег Меньшенин mensh@yandex.ru