Команда Dpkg в Linux

Обновлено: 06.07.2024

Это руководство предназначено для пользователей, желающих более подробно разобраться в параметрах командной строки dpkg и состояниях пакетов, чем в dpkg --help.

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

Описание

dpkg — это инструмент для установки, сборки, удаления пакетов Debian и управления ими. Основным и более удобным интерфейсом для dpkg является aptitude(1). Сам dpkg полностью управляется через параметры командной строки, которые состоят ровно из одного действия и нуля или более опций. Параметр действия сообщает dpkg, что делать, а параметры каким-то образом управляют поведением действия.

dpkg также можно использовать в качестве внешнего интерфейса для dpkg-deb(1). Ниже приведены действия dpkg-deb, и если они встречаются, dpkg просто запускает dpkg-deb с переданными ему параметрами: Информацию об этих действиях см. в dpkg-deb(1).< /p>

Информация о пакетах

dpkg хранит некоторую полезную информацию о доступных пакетах. Информация разделена на три класса: состояния, состояния выбора и флаги. Эти значения предназначены для изменения в основном с помощью dselect.

Состояния пакета

не установлен Пакет не установлен в вашей системе. config-files В системе существуют только файлы конфигурации пакета. half-installed Установка пакета запущена, но не завершена по какой-то причине. unpacked Пакет распакован, но не сконфигурирован. half-configured Пакет распакован и настройка начата, но по какой-то причине еще не завершена. triggers-awaited Пакет ожидает обработки триггера другим пакетом. triggers-pending Пакет запущен. установлен Пакет распакован и сконфигурирован нормально.

Состояния выбора пакета

install Пакет выбран для установки. Hold Пакет, помеченный как приостановленный, не обрабатывается dpkg, если это не принудительно сделать с помощью опции --force-hold. deinstall Пакет выбран для деинсталляции (т.е. мы хотим удалить все файлы, кроме конфигурационных). purge Пакет выбран для очистки (т.е. мы хотим удалить все, даже файлы конфигурации).

Флаги пакетов

reinst-required Пакет, отмеченный как reinst-required, поврежден и требует переустановки. Эти пакеты не могут быть удалены, кроме как с опцией --force-remove-reinstreq.

Действия

-i, --install файл_пакета. Установите пакет. Если указан параметр --recursive или -R, вместо этого package_file должен ссылаться на каталог.

Установка состоит из следующих шагов:

<р>1. Извлеките управляющие файлы нового пакета.

<р>2. Если перед новой установкой была установлена ​​другая версия того же пакета, выполните сценарий prerm старого пакета.

<р>3. Запустите скрипт preinst, если он предусмотрен пакетом.

<р>4. Распакуйте новые файлы, а заодно сделайте резервную копию старых файлов, чтобы, если что-то пойдет не так, их можно было восстановить.

<р>5. Если перед новой установкой была установлена ​​другая версия того же пакета, выполните сценарий postrm старого пакета. Обратите внимание, что этот сценарий выполняется после сценария preinst нового пакета, потому что новые файлы записываются одновременно с удалением старых файлов.

<р>6. Настройте пакет. См. --configure для подробной информации о том, как это делается. --unpack package_file. Распакуйте пакет, но не настраивайте его. Если указан параметр --recursive или -R, вместо этого package_file должен ссылаться на каталог. --настроить пакет. |-a|--pending Переконфигурировать распакованный пакет. Если вместо package указано -a или --pending, настраиваются все распакованные, но ненастроенные пакеты.

Настройка состоит из следующих шагов:

<р>1. Распакуйте конфайлы, а заодно сделайте резервную копию старых конфайлов, чтобы их можно было восстановить, если что-то пойдет не так.

<р>2. Запустите скрипт postinst, если он предусмотрен пакетом. --triggers-only package. |-a|--pending Обрабатывает только триггеры. Все ожидающие триггеры будут обработаны. Если указаны имена пакетов, будут обработаны только триггеры этих пакетов, ровно один раз каждый, где это необходимо. Использование этой опции может привести к тому, что пакеты будут находиться в неподходящих состояниях ожидания триггера и ожидания триггера. Это можно исправить позже, запустив: dpkg --configure --pending. -r, --remove, -P, --purge пакет. |-a|--pending Удаление установленного пакета. -r или --remove удалить все, кроме conffiles. Это может помочь избежать перенастройки пакета, если он будет переустановлен позже. (Файлы conffile — это файлы конфигурации, перечисленные в управляющем файле DEBIAN/conffiles). -P или --purge удаляет все, включая conffiles.Если вместо имени пакета указано -a или --pending, то все пакеты, которые были распакованы, но помечены как подлежащие удалению или очищению в файле /var/lib/dpkg/status, удаляются или очищаются, соответственно. Примечание: некоторые файлы конфигурации могут быть неизвестны dpkg, поскольку они создаются и обрабатываются отдельно с помощью сценариев конфигурации. В этом случае dpkg не удалит их сам по себе, но скрипт пакета postrm (который вызывается dpkg) должен позаботиться об их удалении во время очистки.

Удаление пакета состоит из следующих шагов:

<р>1. Запустить скрипт prerm

<р>2. Удалите установленные файлы

<р>3. Запустите скрипт postrm
--update-avail, --merge-avail Файл пакетов Обновите представления dpkg и dselect о том, какие пакеты доступны. С помощью действия --merge-avail старая информация объединяется с информацией из Packages-file. С действием --update-avail старая информация заменяется информацией в файле пакетов. Файл пакетов, поставляемый с Debian, называется просто Пакеты. dpkg ведет учет доступных пакетов в /var/lib/dpkg/available.

Для извлечения и обновления доступного файла более простой одноразовой командой является dselect update. Обратите внимание, что этот файл в основном бесполезен, если вы используете не dselect, а интерфейс на основе APT: у APT есть собственная система для отслеживания доступных пакетов. -A, --record-avail package_file. Обновите представления dpkg и dselect о том, какие пакеты доступны, с помощью информации из пакета package_file. Если указан параметр --recursive или -R, вместо этого package_file должен ссылаться на каталог. --forget-old-unavail Теперь устарело и не работает, так как dpkg автоматически забывает удаленные недоступные пакеты. --clear-avail Стереть существующую информацию о доступных пакетах. -C, --audit Ищет пакеты, которые были установлены в вашей системе только частично. dpkg подскажет, что с ними делать, чтобы они заработали. --get-selections [шаблон-имя-пакета. ] Получить список выбранных пакетов и записать его в стандартный вывод. Без шаблона неустановленные пакеты (то есть те, которые были ранее очищены) не будут отображаться. --set-selections Установить выбор пакетов, используя файл, прочитанный со стандартного ввода. Этот файл должен быть в формате '

Параметры

номер описание
1 Общая полезная информация о ходе выполнения
2 Вызов и состояние сценариев поддержки
10 Вывод для каждого обработанного файла
100 Много вывода для каждого обработанного файла
20 выходных данных для каждого файла конфигурации
200 много выходных данных для каждого файла конфигурации
40 зависимостей и конфликтов
400 много выходных зависимостей/конфликтов
10000 активация и обработка триггера
20000 Много вывода о триггерах
40000 Глупое количество вывода о триггерах
1000 Много чепухи о например каталог dpkg/info
2000 Безумное количество чуши
--force-вещи, --no-force-вещи, --refuse- вещи

Заставлять или отказываться (отказ от принуждения и отказ означают одно и то же) делать некоторые вещи. вещи — это список вещей, разделенных запятыми, указанных ниже. --force-help отображает сообщение с их описанием. Вещи, отмеченные (*), принудительно устанавливаются по умолчанию.

Предупреждение. Эти параметры в основном предназначены для использования только экспертами. Их использование без полного понимания их эффектов может привести к поломке всей вашей системы.

все: включает (или выключает) все параметры принудительного исполнения.

downgrade(*): установить пакет, даже если уже установлена ​​его более новая версия.

Предупреждение: В настоящее время dpkg не выполняет проверку зависимостей при переходе на более раннюю версию и, следовательно, не будет предупреждать вас, если при переходе на более раннюю версию нарушается зависимость какого-либо другого пакета. Это может иметь серьезные побочные эффекты, понижение версии основных компонентов системы может даже сделать всю систему непригодной для использования. Используйте с осторожностью.

configure-any: настроить также все распакованные, но ненастроенные пакеты, от которых зависит текущий пакет.

удерживать: обрабатывать пакеты, даже если они помечены как "удержанные".

remove-reinstreq: удалить пакет, даже если он поврежден и помечен как требующий переустановки. Это может, например, привести к тому, что в системе останутся части пакета, которые затем будут забыты dpkg.

remove-essential: Удалить, даже если пакет считается важным. Пакеты Essential содержат в основном очень простые команды Unix. Их удаление может привести к тому, что вся система перестанет работать, поэтому используйте их с осторожностью.

depends: превратить все проблемы с зависимостями в предупреждения.

depends-version: Не обращайте внимания на версии при проверке зависимостей.

breaks: установите, даже если это нарушит работу другого пакета.

конфликты: установить, даже если он конфликтует с другим пакетом. Это опасно, поскольку обычно приводит к перезаписи некоторых файлов.

confmiss: Всегда устанавливайте отсутствующий conffile.Это опасно, так как означает не сохранение внесенных в файл изменений (удаление).

confnew: Если conffile был изменен, всегда устанавливайте новую версию без запроса, если не указан параметр --force-confdef, в этом случае предпочтительнее действие по умолчанию.

confold: если conffile был изменен, всегда сохраняйте старую версию без запроса, если только не указан параметр --force-confdef, в этом случае предпочтительнее действие по умолчанию.

confdef: Если файл конфигурации был изменен, всегда выбирайте действие по умолчанию. Если нет действия по умолчанию, он перестанет спрашивать пользователя, если не заданы --force-confnew или --force-confold, и в этом случае он будет использовать это для принятия решения об окончательном действии.

перезаписать: перезаписать файл одного пакета другим файлом.

overwrite-dir Перезаписать каталог одного пакета другим файлом.

overwrite-diverted: перезаписать перенаправленный файл неперенаправленной версией.

bad-path: в PATH отсутствуют важные программы, поэтому вероятны проблемы.

без полномочий root: попробуйте (де)установить что-либо, даже если у вас нет полномочий root.

bad-verify: установите пакет, даже если он не прошел проверку подлинности. --ignore-depends=пакет. Игнорировать проверку зависимостей для указанных пакетов (на самом деле проверка выполняется, но выдаются только предупреждения о конфликтах, ничего больше). --new, --old Выберите новый или старый формат бинарного пакета. Это параметр dpkg-deb(1). --nocheck Не читать и не проверять содержимое контрольного файла при сборке пакета. Это параметр dpkg-deb(1). --no-act, --dry-run, --simulate Делаем все, что положено, но не пишем никаких изменений. Это используется для просмотра того, что произойдет с указанным действием, без фактического изменения чего-либо.

Обязательно укажите --no-act перед параметром действия, иначе вы можете получить нежелательные результаты. (например, dpkg --purge foo --no-act сначала очистит пакет foo, а затем попытается очистить пакет --no-act, даже если вы, вероятно, ожидали, что он ничего не сделает) -R, --recursive Рекурсивно обрабатывать все обычные файлы, соответствующие шаблону *.deb, найденные в указанных каталогах и во всех его подкаталогах. Это можно использовать с действиями -i, -A, --install, --unpack и --avail. -G Не устанавливать пакет, если уже установлена ​​более новая версия того же пакета. Это псевдоним --refuse-downgrade. --admindir=dir Изменить административный каталог по умолчанию, который содержит множество файлов, предоставляющих информацию о состоянии установленных или удаленных пакетов и т. д. (по умолчанию /var/lib/dpkg ) --instdir=dir Изменить каталог установки по умолчанию, который относится к каталогу, в который должны быть установлены пакеты. instdir также является каталогом, который передается в chroot(2) перед запуском сценариев установки пакета, что означает, что сценарии видят instdir в качестве корневого каталога. (По умолчанию /) --root=dir Изменение корневого каталога изменяет instdir на dir и admindir на dir/var /lib/dpkg. -O, --selected-only Обрабатывать только те пакеты, которые выбраны для установки. Фактическая маркировка выполняется с помощью dselect или dpkg, когда он обрабатывает пакеты. Например, при удалении пакета он будет помечен как выбранный для удаления. -E, --skip-same-version Не устанавливать пакет, если такая же версия пакета уже установлена.

--pre-invoke=команда
--post-invoke=команда

Установите команду для запуска хука вызова с помощью 'sh -c' до или после запуска dpkg для unpack, configure, установить, запускает только, удалить и очистить действия dpkg. Эту опцию можно указать несколько раз. Порядок указания параметров сохраняется, приоритет имеют параметры из файлов конфигурации. Переменная окружения DPKG_HOOK_ACTION устанавливается для перехватчиков текущего действия dpkg. Примечание: внешние интерфейсы могут вызывать dpkg несколько раз за один вызов, что может привести к срабатыванию перехватчиков чаще, чем ожидалось.

В операционных системах Linux, использующих управление пакетами Debian, команда dpkg запрашивает, устанавливает, удаляет и поддерживает пакеты программного обеспечения Debian и их зависимости.

Описание

Основным и более удобным интерфейсом для dpkg является aptitude. Сам dpkg полностью управляется через параметры командной строки, которые состоят ровно из одного действия и нуля или более опций. Параметр action сообщает dpkg, что делать, а параметры каким-то образом управляют поведением действия.

dpkg также можно использовать в качестве внешнего интерфейса для dpkg-deb и dpkg-query. Список поддерживаемых действий приведен ниже (в разделе «Действия»). Если такое действие встречается, dpkg запускает dpkg-deb или dpkg-query с переданными ему параметрами, но в настоящее время им не передаются никакие конкретные параметры. Чтобы использовать любой такой параметр, серверные части должны быть вызваны напрямую.

Синтаксис

Действия

Установка состоит из следующих шагов:

<р>1.Извлеките управляющие файлы нового пакета.

<р>2. Если перед новой установкой была установлена ​​другая версия того же пакета, выполните prerm-скрипт старого пакета.

<р>3. Запустите скрипт preinst, если он предусмотрен пакетом.

<р>4. Распакуйте новые файлы, а заодно сделайте резервную копию старых файлов, чтобы, если что-то пойдет не так, их можно было восстановить.

<р>5. Если перед новой установкой была установлена ​​другая версия того же пакета, выполните скрипт postrm старого пакета. Обратите внимание, что этот сценарий выполняется после сценария preinst нового пакета, потому что новые файлы записываются одновременно с удалением старых файлов.

Чтобы перенастроить уже настроенный пакет, попробуйте вместо этого команду dpkg-reconfigure.

Настройка состоит из следующих шагов:

<р>1. Распакуйте конфайлы, а заодно сделайте резервную копию старых конфайлов, чтобы их можно было восстановить, если что-то пойдет не так.

Удаление пакета состоит из следующих шагов:

<р>1. Запустить предварительный скрипт.

<р>2. Удалите установленные файлы.

Файлы Packages, распространяемые вместе с Debian, называются Packages. dpkg ведет учет доступных пакетов в /var/lib/dpkg/available.

--set-selections

Параметры

Предупреждение. Эти параметры в основном предназначены для использования только экспертами. Использование их без полного понимания их эффектов может привести к поломке всей вашей системы.

все: включает (или выключает) все параметры принудительного исполнения.

downgrade: установка пакета, даже если уже установлена ​​его более новая версия.

Предупреждение. В настоящее время dpkg не выполняет проверку зависимостей при переходе на более раннюю версию и, следовательно, не предупреждает вас, если при переходе на более раннюю версию нарушается зависимость какого-либо другого пакета. Это может иметь серьезные побочные эффекты, понижение версии основных компонентов системы может даже сделать всю систему непригодной для использования. Используйте с осторожностью.

configure-any: настроить также все распакованные, но ненастроенные пакеты, от которых зависит текущий пакет.

удерживать: обрабатывать пакеты, даже если они помечены как "удержанные".

remove-reinstreq: удалить пакет, даже если он поврежден и помечен как требующий переустановки. Это может, например, привести к тому, что части пакета останутся в системе, и dpkg забудет их.

remove-essential: Удалить, даже если пакет считается важным. Пакеты Essential содержат в основном очень простые команды Unix. Их удаление может привести к тому, что вся система перестанет работать, поэтому используйте их с осторожностью.

depends: превратить все проблемы с зависимостями в предупреждения.

depends-version: Не обращайте внимания на версии при проверке зависимостей.

breaks: установите, даже если это нарушит работу другого пакета.

конфликты: установить, даже если он конфликтует с другим пакетом. Это опасно, так как обычно приводит к перезаписи некоторых файлов.

confmiss: Если conffile отсутствует, а версия в пакете изменилась, всегда устанавливайте отсутствующий conffile без запроса. Это опасно, так как означает не сохранение (удаление) внесенных в файл изменений.

confnew: если файл конфигурации был изменен, а версия в пакете действительно изменилась, всегда устанавливайте новую версию без запроса, если только не указано --force-confdef, где предпочтительнее действие по умолчанию.

confold: если conffile был изменен, а версия в пакете действительно изменилась, всегда сохраняйте старую версию без запроса, если только не указано --force-confdef, где предпочтительнее действие по умолчанию.

confdef: Если файл конфигурации был изменен, а версия в пакете действительно изменилась, всегда выбирайте действие по умолчанию без запроса. Если нет действия по умолчанию, он прекращает спрашивать пользователя, если только не заданы --force-confnew или --force-confold, где он использует это для принятия решения об окончательном действии.

confask: Если файл конфигурации был изменен, всегда предлагайте заменить его версией в пакете, даже если версия в пакете не изменилась. Если также указан какой-либо из параметров --force-confmiss, --force-confnew, --force-confold или --force-confdef, он используется для определения окончательного действия.

перезаписать: перезаписать файл одного пакета другим файлом.

overwrite-dir: перезаписать каталог одного пакета другим файлом.

overwrite-diverted: перезаписать перенаправленный файл неперенаправленной версией.

unsafe-io: не выполнять безопасные операции ввода-вывода при распаковке. В настоящее время это означает, что перед переименованием файлов не выполняется синхронизация файловой системы, что, как известно, вызывает существенное снижение производительности в некоторых файловых системах, к сожалению, в тех, которые требуют безопасного ввода-вывода в первую очередь из-за их ненадежного поведения, вызывающего файлы нулевой длины на внезапный сбой системы.

Примечание. Для файловых систем ext4 рассмотрите возможность использования вместо этого параметра монтирования nodelalloc, который устраняет как снижение производительности, так и проблемы с безопасностью данных. выполнение синхронизации перед атомарными переименованиями.

Предупреждение. Использование этого параметра может повысить производительность за счет потери данных, используйте его с осторожностью.

плохая версия: обрабатывать даже пакеты с неправильными версиями.

bad-path: в PATH отсутствуют важные программы, поэтому вероятны проблемы.

без полномочий root: попробуйте (де)установить что-либо, даже если у вас нет полномочий root.

Предупреждение: примите во внимание, что в зависимости от исключенных путей вы можете полностью нарушить работу вашей системы, используйте с осторожностью.

Шаблоны glob используют те же подстановочные знаки, что и в оболочке, где '*' соответствует любой последовательности символов, включая пустую строку, а также '/'. Например, «/usr/*/READ*» соответствует «/usr/share/doc/package/README». По-прежнему, '?' соответствует любому одиночному символу (опять же, включая '/'). И '[' запускает класс символов, который может содержать список символов, диапазонов и дополнений.

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

Это может удалить все пути, кроме некоторых; типичный случай:

--path-exclude=/usr/share/doc/*

--path-include=/usr/share/doc/*/copyright

чтобы удалить все файлы документации, кроме файлов авторских прав.

статус: пакет: статус

Статус пакета изменен; состояние такое же, как в файле состояния.

статус: пакет : ошибка : расширенное сообщение об ошибке

Произошла ошибка. Любые возможные символы новой строки в расширенном-сообщении-ошибке перед выводом преобразуются в пробелы.

статус: файл : conffile-prompt : 'настоящий-старый' 'настоящий-новый' отредактировано пользователем отредактировано

Пользователю задают вопрос для беседы.

обработка: этап: пакет

Информация о пакетах

dpkg хранит некоторую полезную информацию о доступных пакетах. Информация разделена на три класса: состояния, состояния выбора и флаги. Эти значения предназначены для изменения в основном с помощью dselect.

Состояния пакета

< tr >
не установлен Пакет не установлен в вашей системе.
config -files В системе существуют только файлы конфигурации пакета.
установлен наполовину Установка пакета был запущен, но не завершен по какой-то причине.
распакован Пакет распакован, но не сконфигурирован.
наполовину сконфигурирован Пакет распакован, и настройка запущена, но по какой-то причине еще не завершена.
triggers-awaited< /td> Пакет ожидает обработки запуска другим пакетом.
ожидание запуска Пакет запущен.
установлен Пакет распакован и сконфигурирован нормально.

Состояния установки пакета

install Пакет выбран для установки.
удерживать Пакет, помеченный как приостановленный, не обрабатывается dpkg, если только это не принудительно сделать с помощью параметра --force-hold.
deinstall Пакет выбран для деинсталляции (т.е. мы хотим удалить все файлы, кроме файлов конфигурации).
purge Пакет выбран для удаления очищены (т. е. мы хотим удалить все из системных каталогов, даже файлы конфигурации).

Флаги пакета

reinst-required Пакет, отмеченный как reinst-required, поврежден и требует переустановки. Эти пакеты не могут быть удалены, кроме как с опцией --force-remove-reinstreq.

Файлы

/etc/dpkg/dpkg.cfg Файл конфигурации с параметрами по умолчанию.
/var/log/dpkg.log Файл журнала по умолчанию (см. /etc/dpkg/dpkg.cfg и параметр --log).

Другие файлы, перечисленные ниже, находятся в своих каталогах по умолчанию. См. параметр --admindir, чтобы узнать, как изменить расположение этих файлов.

Кроме того, следующие файлы являются компонентами двоичного пакета: control, conffiles, preinst, postinst, prerm и postrm.

Окружающая среда

HOME Если установлено, dpkg использует его как каталог, из которого считывается пользовательский файл конфигурации.
TMPDIR Если установлено, dpkg использует его как каталог, в котором создаются временные файлы и каталоги.
PAGER Программа dpkg выполняется при отображении conffiles.
SHELL Программа dpkg выполняется при запуске новой оболочки.
СТОЛБЦЫ Устанавливает количество столбцов, которые dpkg должен использовать при отображении форматированного текста. В настоящее время используется только -l.
DPKG_SHELL_REASON Определено dpkg в оболочке, созданной в приглашении conffile для изучения ситуации. Текущее допустимое значение: conffile-prompt.
DPKG_CONFFILE_OLD Определяется dpkg в оболочке, порожденной приглашением conffile, для изучения ситуации. Содержит путь к старому conffile.
DPKG_CONFFILE_NEW Определяется dpkg в оболочке, порожденной приглашением conffile для изучения ситуации. Содержит путь к новому файлу конфигурации.
DPKG_RUNNING_VERSION Определяется dpkg в среде сценария сопровождающего для версии запущенного в данный момент экземпляра dpkg.
DPKG_MAINTSCRIPT_PACKAGE Определяется dpkg в среде сценария сопровождающего для имени обрабатываемого пакета.
DPKG_MAINTSCRIPT_ARCH Определяется dpkg в среде сценария сопровождающего для архитектуры, в которой собран пакет.
DPKG_MAINTSCRIPT_NAME Определяется dpkg на среды сценария сопровождающего на имя запущенного сценария (preinst, postinst, prerm, postrm).

Примеры

Список установленных пакетов, связанных с редактором vi.

Просмотрите записи пакетов elvis и vim, как указано в /var/lib/dpkg/available.

Команда Dpkg В Linux

В этой статье мы обсудим команду dpkg в Linux. Пакеты помогают доставлять или устанавливать любое приложение в системе Linux. По сути, пакеты представляют собой сжатый архив файлов и зависимостей, необходимых для установки программы или службы.

Эти пакеты используются, когда вы хотите установить новую программу или службу в своей системе. Все пакеты в системе хранятся в локальном «репозитории».

К этому репозиторию может обращаться служба управления пакетами, когда это необходимо. Давайте сегодня поговорим об одной из таких утилит управления пакетами — команде dpkg в Linux.

Что такое команда dpkg?

По сути, справочная страница описывает это так: «dpkg — это инструмент для установки, сборки, удаления и управления пакетами Debian».

Мы используем команду dpkg для взаимодействия с пакетами в нашей системе. Он полностью управляется с помощью параметров командной строки, и первый параметр называется параметром действия, который используется для указания того, что делать. За этим параметром может следовать любой другой параметр, а может и не следовать.

Позже был разработан новый инструмент под названием aptitude, чтобы предоставить пользователям более удобный интерактивный интерфейс для управления пакетами без такой сложной команды, как dpkg. Он взаимодействует с интерфейсом dpkg от имени пользователя. Теперь давайте попробуем понять команду dpkg в Linux.

Основы работы с командой dpkg в Linux

Вот как выглядит основной синтаксис команды dpkg:

Команда dpkg предоставляет длинный список параметров для настройки данных, которые мы получаем при анализе нашей сети. Вот список некоторых наиболее популярных опций dpkg.

ОпцияФункция
-i ИЛИ –install Установите пакет с помощью команды dpkg. Команда извлечет все управляющие файлы для указанного пакета, удалит все ранее установленные старые экземпляры пакета и установит новый пакет в нашу систему.
-r ИЛИ – удалитьУдалить установленный пакет из нашей системы. Он удаляет все файлы, принадлежащие конкретному пакету, кроме файлов конфигурации. Это можно рассматривать как вариант удаления.
-P ИЛИ –purgeАльтернативный способ удаления установленного пакета из нашей системы. Он полностью удаляет все файлы, принадлежащие конкретному пакету, включая файлы конфигурации. Это можно рассматривать как вариант «полного удаления».
–update-availUhe информация команды dpkg о доступных пакетах в своих репозиториях. Если доступны новые пакеты, они синхронизируются с официальными репозиториями.
–merge-availОбъединить информацию команда dpkg о доступных пакетах в своих репозиториях с ранее доступной информацией. Обычно она запускается сразу после предыдущей команды.
–helpОтображение страницы справки для команды dpkg и выход .

Это некоторые из наиболее часто используемых параметров команды dpkg, и вы можете узнать больше, отобразив параметры справки в своем терминале.

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

Давайте рассмотрим обычное использование команды dpkg. Поскольку эта команда работает одинаково как для систем Debian, так и для Ubuntu, с этого момента в этом руководстве мы будем упоминать только Ubuntu.

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

Самое простое использование команды dpkg в Ubuntu — это установка пакета. Мы можем установить пакет deb в Ubuntu или Debian, используя параметр команды dpkg -i.

Вот как установить пакет.

Мы устанавливаем проигрыватель VLC в нашу систему Ubuntu. Посмотрите на скриншот ниже, как выглядит установка на экране.

Dpkg Command

Команда Dpkg

Вы также можете установить несколько пакетов одновременно, указав имена пакетов, разделенные пробелами.

2. Удаление пакета

Если вам больше не нужна программа или служба в вашей системе, нет смысла их хранить.

Команда dpkg также поможет нам в этом.

Мы можем удалить программу или службу из нашей системы, используя параметр dpkg -r.

Давайте удалим проигрыватель VLC, который мы установили для этой демонстрации.

На приведенном ниже снимке экрана показано, как dpkg запускает изменения для всех зависимых меню, значков на рабочем столе и т. д. аналогично команде apt.

Dpkg R Vlc

Dpkg R Vlc

3. Обновление ваших репозиториев

В репозитории dpkg хранятся все пакеты, доступные для установки в вашем дистрибутиве Ubuntu или Debian Linux.

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

Угадайте, что? Параметр dpkg --update-avail поможет вам.

Он проверяет онлайн-репозитории и загружает все обновленные пакеты в ваш локальный репозиторий.

Давайте обновим наши локальные репозитории до последней версии:

Заключительные заметки

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

dpkg — это инструмент управления пакетами для установки, сборки, удаления, запроса и управления пакетами в системах на базе Debian. Основным интерфейсом для dpkg является aptitude. dpkg работает только с файлами пакетов .deb, поэтому в вашей системе должны быть файлы .deb. Файл .deb содержит установочные пакеты программного обеспечения для дистрибутивов Linux на основе Debian, таких как Ubuntu, Linux Mint, Fedora и Debian.

Различные примеры использования команды dpkg

В этой статье мы научимся использовать команду dpkg для управления программными пакетами в дистрибутивах Linux на основе Debian.

1. Команда dpkg для установки пакета

Чтобы установить пакет Debian, вы можете использовать параметр -i или --install, за которым следует пакет .deb.

Пример вывода:

команда dpkg для установки пакета

2. Проверьте, установлен ли пакет или нет, с помощью команды dpkg

Параметр

-s или --status выводит статус пакета, показывающий, установлен ли пакет в вашей системе или нет.

Пример вывода:

dpkg команда для проверки состояния пакет

3. Удалите установленный пакет с помощью команды dpkg

Эту команду можно использовать для удаления пакета из системы. Он удаляет установленный пакет, а не файл .deb.

Пример вывода:

команда dpkg для удаления пакета

4. Удалить установленный пакет вместе с файлами конфигурации

Параметр

-r удаляет пакет, но не файлы конфигурации. Вместо этого вы можете использовать параметр -P или --purge, чтобы удалить пакет вместе с файлами конфигурации.

Пример вывода:

команда dpkg для очистки пакета

5. dpkg для просмотра списка установленных пакетов

Чтобы получить список всех установленных пакетов deb в вашей системе, вы можете использовать эту команду.

Пример вывода:

Вы можете указать имя пакета и перечислить только конкретный пакет.

dpkg command

Пример вывода:

Если вы не помните имя пакета, вы можете перечислить все пакеты и grep для вашего пакета

6. Список содержимого пакета deb с помощью команды dpkg

Вы можете использовать параметр -c или --contents, чтобы вывести список и просмотреть содержимое пакета deb.

Пример вывода:

dpkg команда для просмотра содержимого пакета

7. Команда dpkg для получения информации о пакете deb

Если вы хотите получить информацию о пакете deb перед его установкой, вы можете использовать следующую команду.

Пример вывода:

8. Команда dpkg для извлечения файлов пакета

Вы можете использовать параметр -x для извлечения файлов, содержащихся в пакете deb. Вам необходимо указать каталог, в который будут извлечены файлы.

Пример вывода:

команда dpkg для извлечения файлов пакета

Параметр

-X извлечет и отобразит имена файлов, содержащихся в пакете.

9. Распаковать пакет, но не настраивать с помощью команды dpkg

---параметр unpack используется для распаковки пакета, но не настраивает и не устанавливает пакет.

Пример вывода:

команда dpkg для распаковки пакета

Теперь посмотрим статус пакета scythe.

dpkg проверить статус пакета

10. Команда dpkg для перенастройки распакованного пакета

Вы можете использовать параметр --configure для перенастройки пакета, который был распакован, но еще не настроен.

Пример вывода:

команда dpkg для настройки распакованного пакета

11. Поиск частично установленных пакетов с помощью команды dpkg

Опция -C или --audit ищет пакеты, которые были установлены в вашей системе только частично.

Пример вывода:

команда dpkg для поиска частично установленных пакетов

12. Команда dpkg для вывода списка всех файлов установленного пакета

Вы можете использовать параметр -L, чтобы вывести список всех файлов определенного установленного пакета.

Пример вывода:

13. Найдите имя файла в установленных пакетах с помощью команды dpkg

Параметр

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

Пример вывода:

14. Обновите информацию о пакете с помощью команды dpkg

С опцией --update-avail старая информация заменяется доступной информацией в файле пакетов.

Пример вывода:

15. dpkg, чтобы забыть об удаленных и недоступных пакетах

Команда --forget-old-unavail автоматически забывает об удаленных и недоступных пакетах, но только о тех, которые не содержат пользовательской информации, такой как выбранные пакеты.

Пример вывода:

16. Стереть существующую информацию о пакетах с помощью команды dpkg

Вы можете использовать параметр --clear-avail, чтобы стереть существующую информацию о том, какие пакеты доступны.

Заключение

dpkg — это инструмент командной строки для установки, сборки, удаления и управления пакетами Debian. Хотя основным и более удобным интерфейсом для dpkg является apt. Сам dpkg полностью управляется через параметры командной строки, которые состоят ровно из одного действия и нуля или более опций. Параметр действия сообщает dpkg, что делать, а параметры каким-то образом управляют поведением действия.

Читайте также: