Dpkg i что это
Перейти к содержимому

Dpkg i что это

  • автор:

dpkg

dpkg — это пакетный менеджер для Debian систем. Он может устанавливать, удалять и создавать пакеты, но, в отличие от других систем управления пакетами, он не может автоматически загружать и устанавливать пакеты или их зависимости. Эта секция раскрывает использование dpkg для управления локально установленными пакетами:

Для получения списка пакетов, установленных в системе, в терминале наберите:

dpkg -l

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

dpkg -l | grep apache2

Замените apache2 на любое имя пакета, часть имени или иное регулярное выражение.

Для получения списка файлов, установленных пакетом (в нашем случае ufw), введите:

dpkg -L ufw

Если вы не уверены каким пакетом установлен файл, dpkg -S может подсказать вам. Например:

dpkg -S /etc/host.conf base-files: /etc/host.conf

Вывод указывает, что /etc/host.conf принадлежит пакету base-files.

Многие файлы автоматически создаются в процессе установки пакета, но несмотря на то, что они находятся на файловой системе, dpkg -S может не знать какому пакету они принадлежат.

Вы можете установить локальный .deb файл, набрав:

sudo dpkg -i zip_3.0-4_i386.deb

Замените zip_3.0-4_i386.deb на реальное имя локального .deb файла, который вы собираетесь установить.

Удаление пакета может быть выполнено так:

sudo dpkg -r zip

Удаление пакетов с использованием dpkg в большинстве случаев не рекомендуется. Лучше использовать менеджер пакетов, отслеживающий зависимости, чтобы гарантировать, что система находится в связанном состоянии. Например, использование dpkg -r zip удалит пакет zip, однако любые пакеты, зависящие от него, останутся установленными и более не смогут работать правильно.

Для дополнительной информации смотрите страницу описания:

Часто используемые команды dpkg

Операционная система Debian Linux, является прародителем для целого ряда различных дистрибутивов linux, таких как Knoppix, Kali, Ubuntu, Mint, и т.д. Дистрибутивы linux на базе Debian, используют различные инструменты для работы с пакетами, такие как: dpkg, apt, aptitude, synaptic, tasksel, deselect, dpkg-deb и dpkg-split. Коротко о каждом из них:

  • AptAdvanced Package Tool. Данный инструмент работает с deb архивами из источников, указанных в файле конфигурации /etc/apt/sources.list.

Читать так-же: Часто используемые команды apt-get и apt-cache

1. Dpkg, установка пакета

Для установки .deb пакета используется ключ -i:

# dpkg -i flashpluginnonfree_2.8.2+squeeze1_i386.deb Selecting previously unselected package flashplugin-nonfree. (Reading database . 465729 files and directories currently installed.) Unpacking flashplugin-nonfree (from flashplugin-nonfree_3.2_i386.deb) . Setting up flashplugin-nonfree (1:3.2) . .
2. Dpkg, список установленных пакетов

Что-бы посмотреть установленные пакеты, используется ключ -l:

# dpkg -l Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Desc . +++-=============================================-==================== . ii acpi 1.6-1 amd64 displays information . ii acpi-support-base 0.140-5+deb7u3 all scripts for handling . ii acpid 1:2.0.16-1+deb7u1 amd64 Advanced Configurati .

Что-бы узнать установлен-ли конкретный пакет, нужно указать его имя:

# dpkg -l nginx Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Desc . +++-=============================================-==================== . ii nginx 1.8.0-1~wheezy amd64 high performance .
3. Dpkg, удалить пакет

Для удаления .deb пакета используется ключ -r (remove) с указанием имени пакета, например «flashpluginnonfree«, полное название «flashplugin-nonfree_3.2_i386.deb«, указывать не обязательно.

# dpkg -r flashpluginnonfree (Reading database . 142891 files and directories currently installed.) Removing flashpluginnonfree . Processing triggers for man-db . Processing triggers for menu . .

Ключ -r позволяет удалить только сам пакет, что-бы удалить пакет вместе с файлами конфигурации, вместо -r, используйте ключ -P (purge):

# dpkg -P flashpluginnonfree
4. Dpkg, посмотр содержимого пакета

Что-бы посмотреть содержимое пакета, используется ключ -c (content):

# dpkg -c flashplugin-nonfree_3.2_i386.deb drwxr-xr-x root/root 0 2012-12-14 22:54 ./ drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/ drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/bin/ drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/lib/ .
5. Dpkg, проверить, установлен пакет или нет

Для этого используется ключ -s (status)

# dpkg -s flashplugin-nonfree Package: flashplugin-nonfree Status: install ok installed Priority: optional .
6. Dpkg, куда установлены файлы пакета

Что-бы посмотреть расположение, установленных пакетом файлов, используйте ключ -L:

# dpkg -L mysql-common /. /usr /usr/share /usr/share/doc .
7. Dpkg, установить все пакеты из конкретной директории

Что-бы рекурсивно обойти указанную директорию и ее поддиректории, устанавливая все файлы *.deb, используйте ключи -R и —install. Следующая команда установит все *.deb файлы из директории debpackages:

# dpkg -R --install debpackages/ (Reading database . 465836 files and directories currently installed.) Preparing to replace flashplugin-nonfree 1:3.2 (using . /flashplugin-nonfree_3.2_i386.deb) . Unpacking replacement flashplugin-nonfree . Setting up flashplugin-nonfree (1:3.2) . .
8. Dpkg, распаковать пакет, не конфигурируя его

Для распаковки пакета используется опция —unpack, при этом не будет выполняться конфигурирование или установка:

# dpkg --unpack flashplugin-nonfree_3.2_i386.deb
9. Dpkg, конфигурирование распакованного пакета

Опция —onfigure выполнит переконфигурацию уже распакованного пакета

# dpkg --configure flashplugin-nonfree Setting up flashplugin-nonfree (1:3.2) .
10. Dpkg, обновить информации о доступности пакета

Опция —update-avail обновляет устаревшую информацию о доступности пакета в файле пакетов:

# dpkg –-update-avail package_name
11. Dpkg, удаление информации о доступности пакетов

Опция —clear-avaial удалит текущую информацию о доступности пакетов

# dpkg –-clear-avail
12. Dpkg, забыть удаленные и неиспользуемые пакеты

Что-бы система «забыла» удаленные и неиспользуемые пакеты, служит опция —forget-old-unavail:

# dpkg --forget-old-unavail
13. Лицензия dpkg
# dpkg --licence
14. Версия dpkg
# dpkg --version Debian `dpkg' package management program version 1.16.16 (amd64). This is free software; see the GNU General Public License version 2 or later for copying conditions. There is NO warranty.
15. Получение краткой справки
# dpkg --help Usage: dpkg [

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

Сегодня мы поговорим об одной из утилит управления пакетами в Linux — dpkg.

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

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

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

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

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

Теперь давайте попробуем разобраться с командой dpkg в Linux.

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

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

dpkg [options] [.deb package name]

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

  • -i или –install — установить пакет с помощью команды dpkg. Команда извлекает все управляющие файлы для указанного пакета, удаляет все ранее установленные старые экземпляры и устанавливает новый пакет в систему.
  • -r или –remove — удалить установленный пакет из системы. Удаляет все файлы конкретного пакета, кроме файлов конфигурации (вариант деинсталяции).
  • -P или –purge — альтернативный способ удаления установленного пакета из системы. Полностью удаляет все файлы конкретного пакета, включая файлы конфигурации (вариант “полной деинсталяции”).
  • –update-avail — получить информацию команды dpkg о доступных пакетах в ее репозиториях. Если новые пакеты доступны, то они синхронизируются с официальными репозиториями.
  • –merge-avail — объединить информацию команды dpkg о доступных пакетах в ее репозиториях с ранее доступной информацией. Обычно выполняется сразу после предыдущей команды.
  • –help — вывод страницы справки для команды dpkg и выход.

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

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

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

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

Основная функция команды dpkg в Ubuntu — это установка пакета. С помощью параметра dpkg -i можно установить пакет deb в Ubuntu или Debian.

Вот как можно установить пакет:

sudo dpkg -i [package name]

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

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

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

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

Здесь также поможет команда dpkg.

Удалить программу или сервис из системы можно с помощью опции dpkg -r.

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

sudo dpkg -r [package name]

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

3: Обновление репозиториев

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

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

Опция dpkg –update-avail поможет вам в этом.

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

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

sudo dpkg —update-avail

Подводим итоги

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

Manpages

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

Это руководство не следует использовать авторам пакетов, которые хотят понять, как dpkg будет устанавливать их пакеты. В частности, описание того, что делает dpkg, когда устанавливает и удаляет пакеты, частично неадекватно. Подробную информацию об этом можно найти в рубрике Система Управления Пакетами в debian-faq в системе GNU Info. Информация по созданию пакетов Debian находится в рубрике Средства Управления Пакетами Debian там же.

ОПИСАНИЕ

dpkg — это инструмент среднего уровня для инсталляции, создания, удаления и управления пакетами Debian GNU/Linux. Основная и более дружественная оболочка для dpkg — это dselect(8). dpkg управляется целиком через параметры командной строки, которые состоят из ровно одного действия и нуля или больше ключей. Параметр-действие говорит dpkg, что ему нужно сделать, а ключи так или иначе управляют выполнением действия.

dpkg может также использоваться как интерфейс к dpkg-deb. Нижеследующие действия являются действиями dpkg-deb, и если они встречаются, то dpkg просто запускает dpkg-deb с указанными параметрами:
-b
, —build,
-c
, —contents,
-I
, —info,
-f
, —field,
-e
, —control,
-x
, —extract,
-X
, —vextract, а также
—fsys-tarfile
.
Пожалуйста, обратитесь к dpkg-deb(1), где описаны все эти действия.

ИНФОРМАЦИЯ О ПАКЕТАХ

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

СОСТОЯНИЯ ПАКЕТА
installed

Пакет распакован и успешно настроен.

half-installed

Установка пакета была запущена, но не закончена по какой-либо причине.

not-installed

Пакет не установлен на вашей системе.

Пакет распакован, но не настроен.

half-configured

Пакет распакован и настройка была запущена, но пока еще не завершена по какой-либо причине.

config-files

В системе существуют только конфигурационные файлы пакета.

СОСТОЯНИЯ ВЫБОРА ПАКЕТА
install

Пакет выбран для установки.

Пакет выбран для удаления (т. е. мы хотим удалить все файлы, кроме конфигурационных).

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

ФЛАГИ ПАКЕТА

Пакет помечен как hold («приостановленный»), и не обрабатывается dpkg, пока не указан флаг —force-hold.

reinst-required

Пакет, помеченный как reinst-required, является битым и требует переустановки. Такие пакеты не могут быть удалены, пока не указан флаг —force-reinstreq.

ДЕЙСТВИЯ
dpkg -i
| —install .

Установить заданный пакет. Если указан флаг —recursive или -R, то вместо имени файла пакета должен быть указан каталог.

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

1. Извлечение управляющих файлов из пакета.

2. Если другая версия этого пакета была установлена ранее, то запускается скрипт prerm из старого пакета.

3. Запускается скрипт preinst, если он есть в этом пакете.

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

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

6. Настройка пакета. См. —configure, где приведена подробная информация об этом шаге.

dpkg —unpack .

Распаковать пакет, но не конфигурировать его. Если задан ключ —recursive или —R, то вместо имени файла пакета должен быть указан каталог.

dpkg —configure . | -a | —pending

Переконфигурировать распакованный пакет. Если вместо имени пакета задан ключ -a или —pending, то все распакованные, но не настроенные пакеты будут настроены.

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

2. Запуск скрипта postinst, если он есть в этом пакете.

dpkg -r | —remove | -P | —purge . | -a | —pending

Удалить установленный пакет. -r или —remove удаляет все, кроме конфигурационных файлов. Это позволяет избежать переконфигурации пакета, если он будет повторно установлен у будущем. (Конфигурационные файлы — это те, что указаны в управляющем файле debian/confiles). -P или —purge удаляет все, включая конфигурационные файлы. Если вместо имени пакета задан ключ -a или —pending, то все пакеты, распакованные, но отмеченные в файле /var/lib/dpkg/status для удаления или полной очистки, соответственно, удаляются или полностью очищаются.

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

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

2. Удаление установленных фалов

3. Запуск скрипта postrm

dpkg -p|—print-avail имя пакета

Выводит детальную информацию о пакете, которую извлекает из файла /var/lib/dpkg/available.

dpkg —update-avail | —merge-avail

Обновить представление dpkg и dselect о доступных пакетах. Действие —merge-avail комбинирует старую информацию с информацией из файла Packages. Действие —update-avail перезаписывает старую информацию информацией из файла Packages. Файл Packages обычно распространяется с Debian GNU/Linux. dpkg хранит информацию о доступных пакетах в /var/lib/dpkg/available.

dpkg -A | —record-avail .

Обновить представление dpkg и dselect о доступных пакетах информацией из пакета с указанным именем. Если задан ключ —recursive или -R, то вместо имени файла пакета должен быть указан каталог.

dpkg —forget-old-unavail

Забыть о неустановленных и недоступных пакетах.

dpkg —clear-avail

Очистить имеющуюся информацию о том, какие пакеты доступны.

dpkg -l | —list .

Показывает пакеты, соответствующие данному образцу. Если образец имени пакета не задан, показывает все пакеты в /var/lib/dpkg/available. В образце имени пакета можно указывать обычные символы шаблона командной оболочки. (Скорее всего, вам потребуется закавычить образец имени пакета, чтобы предотвратить подстановку имен файлов командной оболочкой. Например, dpkg -l ’libc5*’ перечислит все имена пакетов, которые начинаются с «libc5».)

dpkg -s | —status .

Сообщает о статусе указанного пакета, просто показывая соответствующую запись из базы статусов установленных пакетов.

dpkg -C | —audit

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

dpkg —get-selections [образец. ]

Выдает список состояний выбора пакетов.

dpkg —set-selections

Задает список состояний выбора пакетов, принимая его со стандартного ввода.

dpkg —yet-to-unpack

Ищет пакеты, выбранные для установки, но по какой-то причине еще не установленные.

dpkg -L | —listfiles .

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

dpkg -S | —search .

Ищет в установленных пакетах файл по заданному образцу. В образце допустимы стандартные символы шаблонов командной оболочки.

dkpg —print-architecture

Выдает архитектуру целевой системы (например, «i386»). Этот ключ использует программу gcc.

dpkg —print-gnu-build-architecture

Выдает архитектуру целевой системы по версии GNU (например, «i486»).

dpkg —print-installation-architecture

Выдает архитектуру машины для инсталляции.

dpkg —compare-versions ver1 op ver2

Сравнивает номера версий, используя op в качестве бинарного оператора. dpkg возвращает код успешного завершения (нуль), если указанное условие удовлетворяется, или неудачу (не-нуль) в противном случае. Есть две группы операторов, которые по-разному обращаются с отсутствующим параметром ver1 или ver2. Операторы lt le eq ne ge gt считают отсутствующий номер версии более ранним, чем любой другой. Операторы lt-nl le-nl ge-nl gt-nl считают отсутствующий номер версии более поздним, чем любой другой. Операторы < = >> > используются только для совместимости с синтаксисом файла control.

dpkg —command-fd

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

Показывает небольшую подсказку.

dpkg —force-help

Выдает подсказку о ключах —force-что-нибудь.

dpkg -Dh | —debug=help

Выдает подсказку об отладочных ключах.

dpkg —licence | dpkg —license

Показывает лицензию dpkg.

dpkg —version

Показывает информацию о версии dpkg.

dpkg-deb-actions

См. dpkg-deb(1) для более подробной информации о нижеследующих действиях.

dpkg -b | —build [ ]
Собирает пакет Debian GNU/Linux.
dpkg -c
| —contents
Показывает содержимое пакета GNU/Linux.
dpkg -e
| —control [ ]
Извлекает контрольную информацию из пакета.
dpkg -x
| —extract
Извлекает файлы, содержащиеся в данном пакете.
dpkg -f
| —field [управляющее-поле] .
Показывает управляющее(ие) поле(я) пакета.
dpkg —fsys-tarfile

Выдает на стандартный вывод tar-файл с файловой
системой из указанного пакета Debian GNU/Linux.
dpkg -I
| —info [control-file]
Выдает информацию о данном пакете.
dpkg -X
| —vextract
Извлекает и выдает имена файлов, содержащиеся в пакете.

КЛЮЧИ

Все ключи можно указывать как в командной строке, так и в конфигурационном файле dpkg/etc/dpkg/dpkg.cfg. Каждая строка в конфигурационном файле должна быть либо ключом (в точности как ключ командной строки, но без начальных дефисов), или же комментарием (если начинается с #).
—abort-after=

Задает количество ошибок, встретив которое, dpkg аварийно завершится. По умолчанию — 50.

-B|—auto-deconfigure

Если пакет удаляется, то возможно, что другой установленный пакет зависит от удаляемого пакета. Указание этого флага приведет к автоматической деконфигурации пакета, который зависит от удаляемого пакета.

-Doctal | —debug=octal

Включение отладки. octal — это восьмеричное число, сформированное побитно из нижеуказанных битовых масок, (заметим, что эти величины могут быть изменены в следующих версиях). -Dh или —debug-help показывают эти отладочные значения.

Маска Описание
1 Основная полезная информация по ходу выполнения
2 Вызов и состояния скриптов поддержки
10 Вывод по каждому обработанному файлу
100 Подробный вывод по каждому обработанному файлу
20 Вывод по каждому конфигурационному файлу
200 Подробный вывод по каждому конфигурационному файлу
40 Зависимости и конфликты
400 Подробное освещение зависимостей и конфликтов
1000 Подробная ерунда, например о каталоге dpkg/info
2000 Невероятное количество ерунды

—force-things | —no-force-things | —refuse-things

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

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

all: Включает (или выключает) все элементы.

auto-select(*): Выбирает пакеты, чтобы установить их, и снимает выделение, чтобы удалить их.

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

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

hold: Обрабатывать даже пакеты, помеченные как «hold».

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

remove-essential: Удалить, даже если пакет важен (имеет приоритет «Essential»). Важные пакеты в основном содержат базовые команды unix. Удаление такого пакета может привести к потере работоспособности системы, так что используйте данный ключ с осторожностью.

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

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

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

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

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

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

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

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

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

architecture: Обрабатывать пакеты не с той архитектурой.

bad-path: В путях поиска (переменной окружения PATH) отсутствуют важные программы, поэтому могут возникнуть проблемы.

not-root: Попытаться установить или удалить пакет, даже если не суперпользователь.

—ignore-depends= .

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

—new | —old

Выбирает, соответственно, новый или старый формат пакета. Это ключ программы dpkg-deb(1).

Не читать и не проверять содержимое файла control при создании пакета. Это ключ программы dpkg-deb(1).

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

Убедитесь, что задали —no-act перед параметром-действие, или у вас могут получиться неожиданные результаты (например, dpkg —purge foo —no-act сперва выполнит полное удаление пакета foo, и затем будет пытаться полностью удалить пакет —no-act, несмотря на то, что вы ожидали).

-R | —recursive

Рекурсивная обработка всех файлов, отвечающими шаблону *.deb, которые были найдены в заданных каталогах и во всех их подкаталогах. Этот флаг можно использовать вместе с действиями -i, -A, —install, —unpack, —avail.

Не устанавливать пакет, если новая версия такого же пакета уже установлена. Это синоним флага —refuse-downgrade.

—root=dir | —admindir=dir | —instdir=dir

Устанавливает каталоги по умолчанию. Каталог admindir по умолчанию равен /var/lib/dpkg и содержит много файлов, в которых дается информация о состояниях установленных или удаленных пакетов и т. д. Каталог instdir по умолчанию равен / и указывает каталог, куда будут установлены пакеты. Он также передается функции chroot(2) перед запуском скрипта установки пакета — это означает, что скрипты будут считать instdir корневым каталогом. Задание каталога root устанавливает каталог instdir в значение dir, а каталога admindir — в значение dir/var/lib/dpkgP.

-O | —selected-only

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

-E | —skip-same-version

Не устанавливать пакет, если та же версия этого пакета уже установлена.

Выдает информацию о статусе пакета на файловый дескриптор . Этот флаг можно задать несколько раз. Эта информация выдается в виде ’status: : ’.

ФАЙЛЫ

/etc/dpkg/dpkg.cfg

Файл конфигурации с ключами по умолчанию.

Остальные файлы перечислены с указанием их каталогов по умолчанию, см. ключ admindir, чтобы узнать, как изменить местоположение этих файлов.
/var/lib/dpkg/available

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

/var/lib/dpkg/status

Состояния доступных пакетов. Этот файл содержит информацию о том, помечен ли пакет для удаления или нет, установлен он или нет, и т. д. См. главу ИНФОРМАЦИЯ О ПАКЕТАХ, где приведена подробная информация.

Нижеследующие файлы являются компонентами бинарного пакета. См. deb(5), там приведена подробная информация о них:
control
conffiles
preinst
postinst

ПЕРЕМЕННЫЕ ОКРУЖЕНИЯ

DPKG_NO_TSTP

Задайте этой переменной любое значение, если вы предпочитаете, чтобы dpkg при запуске командной оболочки не приостанавливала себя, а создавала новый процесс.

Программа, которую запустит dpkg при старте новой командной оболочки.

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

ПРИМЕРЫ

Чтобы перечислить пакеты, относящиеся к редактору vi:
dpkg -l ’*vi*’

Чтобы посмотреть на записи о двух пакетах в файле /var/lib/dpkg/available:
dpkg —print-avail elvis vim | less

Вручную просмотреть список пакетов:
less /var/lib/dpkg/available

Удалить установленный пакет elvis:
dpkg -r elvis

Чтобы установить пакет, сначала нужно найти его в архиве или на CDROM. Файл «available» показывает, что пакет vim находится в секции «editors» («редакторы»):
cd /cdrom/hamm/hamm/binary/editors
dpkg -i vim_4.5-3.deb

Для получения локальной копии состояний выбора пакетов:
dpkg —get-selections >myselections

Затем вы можете перенести этот файл на другой компьютер и установить его там с помощью:
dpkg —set-selections
Заметьте, что при этом ничего не будет ни установлено, ни удалено, просто будут заданы состояния выбора пакетов. Для того, чтобы на самом деле установить запрошенные пакеты, вам понадобится другая программа.

Обычно dselect(8) предоставляет более удобный способ изменить состояния выбора пакетов.

СМОТРИ ТАКЖЕ

ОШИБКИ РЕАЛИЗАЦИИ

—no-act обычно дает меньше информации, чем могло бы быть полезным.

АВТОРЫ

См. /usr/share/doc/dpkg/THANKS, где приведен список тех, кто участвовал в разработке dpkg.

ПЕРЕВОД

Это руководство перевел с английского Виктор Вислобоков (2:5054/8.34@FidoNet). Обновление и корректура: Alexey Mahotkin [AT] hsys.ru>.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *