- Команда depmod в Linux с примерами
- 3 способа установить deb файлы на Ubuntu Linux
- Установка файлов .deb в дистрибутивы Linux на основе Ubuntu и Debian
- Способ 1: использование программного центра по умолчанию
- Способ 2. Использование приложения Gdebi для установки пакетов deb с зависимостями.
- Способ 3: установить deb файлы в командной строке с помощью dpkg
- Как удалить пакеты deb
- Способ 1: удаление пакетов deb с помощью команд apt
- Способ 2: удалить пакеты deb с помощью команд dpkg
Команда depmod в Linux с примерами
Команда depmod (Dep endency Mod üles) используется для создания списка описания зависимостей модулей ядра и связанных с ним файлами карты. При этом анализируются модули ядра в каталоге / lib / modules / kernel-release и создается файл зависимостей, похожий на « Makefile» с именем modules.dep, на основе символов, присутствующих в наборе модулей. Эти модули обычно берутся из каталогов, указанных в файле конфигурации или упомянутых в командной строке. Затем, когда стек модулей добавляется и удаляется автоматически с помощью modprobe, никакие модули не обходятся без других связанных модулей, которые им требуются. Одновременно он создает связанную карту, сопоставляющую идентификаторы оборудования и соответствующие модули, которые обрабатывают их с целью использования инфраструктурой горячего подключения. Это специально связанное сопоставление используется для поиска и поиска правильного модуля, когда его запрашивает единица оборудования.
Ядро Linux использует depmod и modprobe для отправки необработанных данных для своих модулей в правильном порядке для их загрузки. Командные утилиты depmod и modprobe облегчают модульное ядро Linux, управляемое для всех конечных пользователей, инженеров по обслуживанию дистрибутивов, сетевых и системных администраторов.
Синтаксис:
Модули ядра Linux будут предоставлять уникальные сервисы, называемые « символами », чтобы другие модули могли использовать его утилиты. Это можно сделать с помощью одного из вариантов EXPORT_SYMBOL в коде. В конце концов, когда второй модуль использует этот символ, тогда второй модуль зависит исключительно от атрибутов и функций первого модуля. Эти модульные зависимости имеют тенденцию выглядеть сложными.
Основная цель команды depmod — создать список зависимостей модулей, отменив каждый модуль в / lib / modules / kernel-release и обнаружив, какие символы экспорта используются для количественной оценки его потребностей. По умолчанию этот список записывается в modules.dep , а также доступен в бинарной хешированной версии с именем modules.dep.bin, в том же каталоге.
- Команда depmod также создает список символов, предоставляемых модулями, в файле modules.symbols .
- Команда depmod создает список символов в модулях по его бинарной хэшированной версии modules.symbols.bin .
- depmod сохранит вывод файла с именем modules.devname, если модули предоставляют уникальные имена устройств (devname), которые должны быть загружены в / dev при загрузке с помощью специальной утилиты, такой как udev.
Параметры:
- -a, -all: тщательно исследует и проверяет все модули в ядре. По умолчанию эта опция включена, если в командной строке не указаны имена файлов.
- -A, –quick: эта опция сканирует и обнаруживает, являются ли какие-либо модули новыми, чем те, которые находятся в файле modules.dep, прежде чем какая-либо работа будет выполнена: если она не найдена, она плавно завершает работу, вместо того, чтобы заново генерировать файлы.
- -b basedir, –basedir, basedir: если модули в данный момент не находятся в каталоге по умолчанию / lib / modules / kernel-version, но находятся в какой-либо другой промежуточной области, мы можем указать basedir, который делает посадку на имя каталога. Этот basedir извлекается из результирующего файла modules.dep , поэтому он всегда готов к перемещению в каталог по умолчанию / lib / modules / kernel-version. Поставщик дистрибутива, которому необходимо предварительно сгенерировать файлы метаданных, а не запускать depmod позже, сочтет эту опцию очень полезной.
- -C, –config file-or-directory: эта конкретная опция переопределяет каталог конфигурации по умолчанию в /etc/depmod.d/ .
- -e, -errsyms: в сочетании с параметром -F, он сообщает о любых специфических символах, которые особенно нужны модулю, которые не обязательно поставляются другими модулями или ядром. По умолчанию любые символы, которые не предоставлены модулями, предполагаются предоставленными ядром, но это предположение может быть недействительным, если дополнительно обновленные сторонние драйверы не установлены должным образом или были созданы с ошибками.
- -E, –symvers: depmod в сочетании с параметром -e, сообщает о любых версиях символов, предоставляемых модулями, которые не совпадают с версиями символов, предоставленными ядром в его Module.symvers. Эта опция несовместима с опцией -F.
- -F, –filesyms System.map: поставляется с System.map, созданным при сборке ядра, что позволяет опции -e сообщать о неразрешенных и неопознанных символах. Эта опция несовместима с -E.
- -h, –help: эта опция, как правило, печатает сообщение справки и завершается.
- -n, –show: эта опция отображает файл зависимости в stdout, а не в дереве / lib / modules.
- -q, –quiet: эта опция заставляет depmod молчать и не жаловаться на пропущенные символы.
- -r, –root: эта опция помогает некоторым пользователям, которые компилируют модули с ИД пользователя без полномочий root, а затем устанавливают модули как root. Этот процесс может оставить модули, принадлежащие некорневому идентификатору пользователя, который подвержен атакам злоумышленников, даже если каталог модулей принадлежит root. Если идентификатор пользователя без полномочий root скомпрометирован с одной стороны, злоумышленник может перезаписать существующие модули, принадлежащие этому идентификатору пользователя без полномочий root, и использовать это воздействие для начальной загрузки до уровня доступа root. Обычно modutils отклоняет попытки использовать модуль, который не принадлежит root. Указание-r переопределит ошибку и позволит root загружать модули, которые не принадлежат root. Использование -r является серьезной угрозой безопасности и не рекомендуется, поскольку модуль подвержен атакам.
- -s, –syslog: эта опция отображает все сообщения об ошибках через демон syslog вместо stderr.
- -u, –unresolved-error: команда depmod не устанавливает код возврата, когда в модуле присутствуют неразрешенные символы. В некоторых дистрибутивах требуется ненулевой код возврата в modutils, но это изменение может вызвать проблемы у пользователей, которые ожидают старого поведения. Если вы хотите ненулевой код возврата в depmod, укажите -u. В последних версиях ядра Linux команда depmod будет молча игнорировать флаг -u и всегда будет давать ненулевой код возврата для неразрешенных символов.
- -n, –dry-run: эта опция отправляет результирующий файл modules.dep и различные связанные файлы карт в стандартный вывод, а не записывает их в каталог модуля.
- -P: эта опция делает некоторые архитектуры префиксом символов с посторонним символом. Это упоминание префиксного символа (например, _), чтобы игнорировать.
- -v, –verbose: опция verbose mode в depmod будет выводить на стандартный вывод все символы, от которых зависит каждый модуль, и имя файла конкретного модуля, который предоставляет этот символ.
- -V, –version: эта опция имеет тенденцию отображать версию depmod и выходить.
- -w: эта опция выводит предупреждение о дублирующих зависимостях, псевдонимах, версиях символов и т. д.
Пример: ниже приведен ряд команд, которые помогают проиллюстрировать обычный способ использования команды depmod в Linux. Каждая команда имеет префикс sudo, поскольку для каждой из них требуются соответствующие права root:
Получение файла из местоположения по умолчанию:
Загрузка и выгрузка файла из местоположения, отличного от местоположения по умолчанию:
Операции Расширены построчно:
ln используется для создания символической ссылки на наш файл модуля в каталоге / lib / modules / kernel-release. Команда uname -r, заключенная в кавычки, выполняется оболочкой и преобразуется в соответствующую строку, представляющую версию выпуска нашего ядра.
Примечание: $ depmod -a — это обновленный список зависимостей, сгенерированный depmod -a, чтобы убедиться, что устанавливаемый модуль знает обо всех существующих модулях и зависимостях. Этот список зависимостей будет использоваться modprobe при установке модуля в третьей команде.
Источник
3 способа установить deb файлы на Ubuntu Linux
В этой статье для начинающих объясняется, как устанавливать deb-пакеты в Ubuntu. Также показано, как впоследствии удалить эти пакеты deb.
Это еще одна статья в серии новичков Ubuntu. Если вы абсолютно новичок в Ubuntu, вы можете поинтересоваться, как устанавливать приложения. Самый простой способ — использовать Ubuntu Software Center. Найдите приложение по его имени и установите его оттуда.
Жизнь была бы слишком простой, если бы вы могли найти все приложения в Центре программного обеспечения. Но этого не происходит, к сожалению.
Некоторое программное обеспечение доступно через пакеты DEB. Это архивные файлы с расширением .deb . Вы можете рассматривать файлы .deb как файлы .exe в Windows. Вы дважды щелкаете по файлу .exe, и он запускает процедуру установки в Windows. Deb-пакеты работают практически по схожему принципу .
Вы можете найти эти пакеты DEB в разделе загрузки на сайте поставщика программного обеспечения. Например, если вы хотите установить Google Chrome в Ubuntu, вы можете загрузить пакет DEB для Chrome со своего веб-сайта.
Теперь возникает вопрос, как установить файлы deb? Существует несколько способов установки пакетов DEB в Ubuntu. Я покажу их вам один за другим в этом уроке.
Установка файлов .deb в дистрибутивы Linux на основе Ubuntu и Debian
Вы можете выбрать инструмент GUI или инструмент командной строки для установки пакета deb. Выбор за вами.
Давайте посмотрим, как установить deb файлы.
Способ 1: использование программного центра по умолчанию
Самый простой способ — использовать центр программного обеспечения по умолчанию в Ubuntu. Вы не должны делать ничего особенного здесь. Просто перейдите в папку, в которую вы скачали файл .deb (это должна быть папка Downloads), и дважды щелкните по этому файлу.
Откроется центр программного обеспечения, и вы должны увидеть возможность установки программного обеспечения. Все, что вам нужно сделать, это нажать кнопку установки и ввести свой пароль для входа.
Видите, это даже проще, чем установка из .exe-файлов в Windows, не так ли?
Способ 2. Использование приложения Gdebi для установки пакетов deb с зависимостями.
Опять же, жизнь была бы намного проще, если бы все прошло гладко. Но это не жизнь, как мы ее знаем.
Теперь, когда вы знаете, что файлы .deb могут быть легко установлены через Центр программного обеспечения, позвольте мне рассказать вам об ошибке зависимости, которая может возникнуть в некоторых пакетах.
Что происходит, так это то, что программа может зависеть от другого программного обеспечения (библиотек). Когда разработчик готовит пакет DEB для вас, он / она может предположить, что ваша система уже имеет эту часть программного обеспечения в вашей системе.
Но если это не так, и ваша система не имеет необходимых компонентов программного обеспечения, вы столкнетесь с печально известной «ошибкой зависимости».
Центр программного обеспечения не может самостоятельно обрабатывать такие ошибки, поэтому вам придется использовать другой инструмент под названием gdebi.
gdebi — это легкое приложение с графическим интерфейсом, единственная цель которого — установить пакеты deb.
Он определяет зависимости и пытается установить эти зависимости вместе с установкой файлов .deb.
Лично я предпочитаю gdebi центру программного обеспечения для установки файлов deb. Это легкое приложение, поэтому установка кажется быстрее. Вы можете прочитать подробно об использовании gDebi и сделать его по умолчанию для установки пакетов DEB.
Вы можете установить gdebi из центра программного обеспечения или используя команду ниже:
Способ 3: установить deb файлы в командной строке с помощью dpkg
Если вы хотите установить deb файлы в команде lime, вы можете использовать команду apt или dpkg. Команда Apt на самом деле использует команду dpkg, но apt более популярна и проста в использовании.
Если вы хотите использовать команду apt для файлов deb, используйте ее следующим образом, где /path/to/file.deb — путь до вашего deb-файла:
Если вы хотите использовать команду dpkg для установки пакетов deb, вот как это сделать:
Если при установке пакетов deb вы получили ошибку зависимости, вы можете использовать следующую команду для устранения проблем зависимости:
Как удалить пакеты deb
Удаление пакета deb не имеет большого значения. И нет, вам не нужен оригинальный файл deb, который вы использовали для установки программы.
Способ 1: удаление пакетов deb с помощью команд apt
Все, что вам нужно, это имя программы, которую вы установили, и затем вы можете использовать apt или dpkg, чтобы удалить эту программу. Для этого введите вот эту команду, где program_name название программы, которую вы хотите удалить.
Теперь возникает вопрос, как найти точное имя программы, которое нужно использовать в команде удаления? У команды apt есть решение и для этого.
Вы можете найти список всех установленных программ с помощью команды apt, но так как список может быть очень большим, найти «глазами» будет непросто. Для того, чтобы упростить себе поиск, можно добавить grep search_query , где search_query возможная часть имени программы.
Например, я установил приложение AppGrid в предыдущем разделе, и если я хочу узнать точное имя программы, то к предыдущей команде добавляю разделитель | , затем grep grid , где grid является частью имени команды.
Команда grep удалит из вывода все строки, в которых нет слова grid и мы получим только то, что нас интересует. То есть в данном случае вместо большого списка будет только та строка, которая интересует. Это намного проще, чем искать глазами, правда?
Как видите, установлена программа appgrid. Теперь вы можете использовать это имя программы с командой apt remove.
Способ 2: удалить пакеты deb с помощью команд dpkg
Вы также можете использовать dpkg, чтобы найти имя установленной программы:
Вывод выдаст все установленные пакеты, которые содержат слово grid:
ii в приведенной выше команде вывод означает, что пакет был правильно установлен.
Теперь, когда у вас есть имя программы, вы можете использовать команду dpkg, чтобы удалить ее:
Я надеюсь, что это руководство для начинающих помогло вам установить deb файлы в Ubuntu. Я добавил часть удаления, чтобы вы могли лучше контролировать установленные вами программы.
Более подробно о deb-пакетах вы можете почитать на официальном сайте Debian тут.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник