Команда dpkg – это основной инструмент для управления пакетами .deb в дистрибутивах Linux на базе Debian, включая Ubuntu и Linux Mint. Хотя такие инструменты, как apt и synaptic, предлагают больше автоматизации и удобства для пользователя, dpkg даёт вам точный, низкоуровневый контроль над установкой, удалением и проверкой пакетов. Независимо от того, являетесь ли вы новичком в Linux или системным администратором, понимание того, как использовать dpkg, поможет вам отлаживать проблемы, устанавливать пакеты вручную и управлять программным обеспечением вне стандартных репозиториев.

Что такое dpkg?

dpkg расшифровывается как Debian Package и является инструментом командной строки, используемым для установки, настройки, удаления и проверки пакетов .deb. В отличие от apt, он не разрешает зависимости автоматически, что делает его более прямым, но потенциально более опасным для ошибок при небрежном использовании.

Основные команды dpkg

Установка пакета .deb

sudo dpkg -i package-name.deb

Эта команда устанавливает файл .deb. Если зависимости отсутствуют, выполните:

sudo apt-get install -f

Это исправит неработающие зависимости, загрузив недостающие пакеты.

Удалить пакет

Удалите пакет, но сохраните файлы конфигурации:

sudo dpkg -r package-name

Удалить пакет и его конфигурационные файлы:

sudo dpkg -P package-name

Список установленных пакетов

dpkg -l

Здесь в табличной форме перечислены все установленные пакеты, включая:

  • Статус (например, ii для установленных)
  • Имя пакета
  • Версия
  • Архитектура
  • Описание

На этом скриншоте показано, как dpkg -l выводит полный список пакетов, установленных на данный момент в системе. Вы можете прокрутить или отфильтровать этот список с помощью grep:

dpkg -l | grep apache

Проверка файла .deb

Просмотр метаданных пакета без установки:

dpkg -I package-name.deb

Перечислите файлы, содержащиеся в .deb:

dpkg -c package-name.deb

Дополнительные инструменты, связанные с dpkg

dpkg работает вместе с различными инструментами-компаньонами:

  • dpkg-query: Запрос информации о пакете
  • dpkg-deb: Создание, извлечение или проверка файлов .deb
  • dpkg-divert: Управление переопределением файлов
  • dpkg-statoverride: Установка переопределений разрешений файлов

Они полезны для упаковки, отладки и низкоуровневого управления пакетами.

Общие проблемы

  • dpkg не разрешает зависимости. Если вы устанавливаете пакет, который зависит от других пакетов, вы должны вручную разрешить их или использовать apt после установки.
  • При установке пакетов из сторонних источников рекомендуется сочетать dpkg -i с apt-get install -f.
  • Не используйте dpkg самостоятельно, если не знаете, что делаете – неправильное использование может нарушить состояние менеджера пакетов.

Резюме

Команда dpkg – важный инструмент в экосистеме пакетов Debian. Хотя она не так удобна для новичков, как apt, она мощная и гибкая, особенно когда вам это необходимо:

  • Установить локальные .deb-файлы
  • Аудит или устранение неполадок при установке пакетов
  • Выполнять низкоуровневые операции с пакетами

Понимание dpkg позволит вам полностью контролировать вашу среду Linux.