Линукс dpkg что это

Линукс dpkg что это

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

ОПИСАНИЕ

dpkg can be also be used as a front-end to dpkg-deb (1). The following are dpkg-deb actions, and if they are encountered, dpkg just runs dpkg-deb with the parameters given to it: Все эти действия описаны в dpkg-deb (1).

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


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


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


ФЛАГИ ПАКЕТА


ДЕЙСТВИЯ

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

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 —update-avail | —merge-avail I Обновить информацию dpkg и dselect о доступных пакетах. Действие —merge-avail комбинирует старую информацию с информацией из файла Packages . Действие —update-avail перезаписывает старую информацию информацией из файла Packages . Файл Packages распространяется с Debian под именем Packages . dpkg хранит информацию о доступных пакетах в файле /var/lib/dpkg/available .

Для упрощения процедуры получения и обновления файла available можно использовать команду dselect update . dpkg -A | —record-avail имя файла пакета . Обновить информацию dpkg и dselect о доступных пакетах информацией из пакета имя файла пакета . Если задан параметр —recursive или -R , то вместо имени файла пакета должен быть указан каталог. dpkg —forget-old-unavail Забыть о неустановленных недоступных пакетах. dpkg —clear-avail Очистить имеющуюся информацию о том, какие пакеты доступны. dpkg -C | —audit Найти пакеты, которые были установлены в системе только частично. dpkg посоветует, что делать, чтобы восстановить их работоспособность. dpkg —get-selections [ шаблон имени пакета . ] Get list of package selections, and write it to stdout. Without a pattern, packages marked with state purge will not be shown. dpkg —set-selections Установить список выбранных пакетов, принимая его со стандартного ввода. Этот файл должен быть в формате ‘ ‘, где состоянием может быть install, hold, deinstall или purge. Допускаются пустые строки и строки комментариев (начинающиеся с #). dpkg —clear-selections Set the requested state of every non-essential package to deinstall. This is intended to be used immediately before —set-selections, to deinstall any packages not in list given to —set-selections. dpkg —yet-to-unpack Найти пакеты, выбранные для установки, но по какой-то причине ещё не установленные. dpkg —print-architecture Print architecture of packages dpkg installs (for example, «i386»). 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 —help Вывести небольшую подсказку. dpkg —force-help Вывести подсказку о параметрах —force- что-нибудь . dpkg -Dh | —debug=help Вывести подсказку о параметрах отладки. dpkg —licence | dpkg —license Показать лицензию dpkg . dpkg —version Показать информацию о версии dpkg . dpkg-deb actions Смотрите dpkg-deb (1) для более подробной информации о нижеследующих действиях.

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

ПАРАМЕТРЫ

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

Читайте также:  Windows для очень слабых ноутбуков

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

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

all : Turns on (or off) all force options.

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

Предупреждение: На данный момент dpkg не выполняет проверку зависимостей при переходе на более старую версию и поэтому не предупредит если это поломает зависимости с остальными пакетами. Это может иметь серьёзные последствия: замена на более старую версию системных компонентов первой необходимости может привести к полной неработоспособности системы. Использовать осторожно.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

bad-verify : Устанавливать пакет, даже если он не прошёл проверку подлинности.

—ignore-depends = пакет . Игнорировать проверку зависимостей для указанных пакетов (на самом деле, проверка выполняется, но выдаются только предупреждения о конфликтах и ничего более). —new | —old Выбрать, соответственно, новый или старый формат пакета. Это параметр программы dpkg-deb (1). —nocheck Не читать и не проверять содержимое файла control при создании пакета. Это параметр программы 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 Don’t install a package if a newer version of the same package is already installed. This is an alias of —refuse-downgrade . —root= dir | —admindir= dir | —instdir= dir Change default directories. admindir defaults to /var/lib/dpkg and contains many files that give information about status of installed or uninstalled packages, etc. instdir defaults to / and refers to the directory where packages are to be installed. instdir is also the directory passed to chroot (2) before running package’s installation scripts, which means that the scripts see instdir as a root directory. Changing root changes instdir to dir and admindir to dir /var/lib/dpkg . -O | —selected-only Обрабатывать только пакеты, выбранные для установки. Такой выбор делается программой dselect или же самой программой dpkg при работе с пакетами. Например, когда пакет удаляется, он будет помечен для удаления. -E | —skip-same-version Не устанавливать пакет, если та же версия этого пакета уже установлена. —status-fd Send package status info to file descriptor . This can be given multiple times. Status updates are of the form `status:

‘. Errors are reported as `status:

: error: extend-error-message’. Configuration file conflicts are reported as `status: conffile-prompt: conffile : ‘current-conffile’ ‘new-conffile’ useredited distedited’. —log= имя файла Log status change updates and actions to filename , instead of the default /var/log/dpkg.log . If this option is given multiple times, the last filename is used. Log messages are of the form `YYYY-MM-DD HH:MM:SS status

Читайте также:  Ffmpeg линукс как пользоваться

‘ for status change updates; `YYYY-MM-DD HH:MM:SS

ФАЙЛЫ


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


ПРИМЕРЫ

To list packages related to the editor vi (1):

To see the entries in /var/lib/dpkg/available of two packages:

dpkg —print-avail elvis vim | less

Вручную просмотреть список пакетов:

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

Чтобы установить пакет, сначала нужно найти его в архиве или на CDROM. Файл «available» показывает, что пакет vim находится в секции «editors» («редакторы»):

cd /cdrom/hamm/hamm/binary/editors
dpkg -i vim_4.5-3.deb

Получить локальную копию состояний выбранных пакетов:

dpkg —get-selections >myselections

Вы можете перенести этот файл на другой компьютер и установить его там с помощью:

dpkg —clear-selections
dpkg —set-selections

Заметим, что при этом ничего не будет ни установлено, ни удалено, просто будут заданы состояния запрошенных пакетов. Для того, чтобы на самом деле скачать и установить запрошенные пакеты, вам понадобится другая программа. Например, запустите dselect и выберите «Установить».

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

Источник

Линукс dpkg что это

ВНИМАНИЕ ВНИМАНИЕ ВНИМАНИЕ

Данное руководство было составлено неаккуратно, а теперь еще и устарело.

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

может быть полезно пользователям для понимания опций dpkg и состояний пакета в более подробном виде, чем это предоставляет вызов dpkg —help.

Описания же того что делает dpkg , когда устанавливает и удаляет пакеты частично неадекватно. Для подробной информации об этом обратитесь к Debian Packaging Guidelines, доступной под названием guidelines в системе GNU Info.

ОПИСАНИЕ

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

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

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

1. Извлечение файлов управления из пакета. 2. Если другая версия этого пакета была установлена ранее, то запускается сценарий prerm для старого пакета. 3. Запускается сценарий preinst , если он есть в данном пакете. 4. Распаковываются файлы и в это же время происходит резервное сохранение старых файлов так что если что-либо пойдет не так, мы можем восстановить их. 5. Если другая версия данного пакета была установлена ранее, то запускаем сценарий postrm для старого пакета. Заметим, что этот сценарий запускается после сценария preinst нового пакета, потому что новые файлы пишутся в то же время, когда старые удаляются. 6. Настройка пакета. Смотрите —configure для более подробной информации об этом шаге.

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

dpkg —configure . | -a|—pending Перенастроить распакованный пакет. Если вместо имя пакета задана опция -a или —pending , то все распакованные, но не настроенные пакеты будут настроены.

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

1. Распаковка конфигурационных файлов и в это же время сохранение старых кофигурационных файлов, так что мы можем восстановить их, если что-то пойдет не так. 2. Запуск сценария postinst, если он есть в данном пакете.

dpkg -r|—remove | —purge . | -a|—pending Удалить установленный пакет. —purge удаляет все,

с конфигурационными файлами. (конфигурационные файлы это те, что указаны в управляющем файле confiles ). Если вместо имя пакета задана опция -a или —pending, то все распакованные пакеты, но отмеченные к удалению или к очищению(purge) удаляются или очищаются (в файле /var/liba/dpkg/status ). Удаление пакета состоит из следующих шагов: 1. Запуск сценария prerm 2. Удаление установленных фалов 3. Запуск сценария postrm

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

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

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

dpkg -l|—list [ . ] Показывает пакеты соответствующие данному образцу. Если образец имени пакета не задан, показывает все пакеты в /var/lib/dpkg/avialable. В образце имени пакета можно указывать `*’ и `?’.

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

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

dpkg -S|—search . Ищет имя файла по образцу в установленных пакетах. В образце допустимы символы `*’ и `?’. (Для того чтобы отыскать какому пакету принадлежит файл. Прим. переводчика)

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

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

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

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

Смотрите dpkg-deb(8)
для более подробной информации об этих действиях.

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.

Читайте также:  Data transfer cable windows to mac

dpkg -I|—info [ ] Показывает информацию о даннои пакете.

dpkg -X|—vextract Извлекает и показывает имена файлов, содержащиеся в пакете.

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

Выдает помощь о опциях отладки

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

Основная полезная информация по ходу выполнения

Вызов и состояния сценариев обслуживания

Вывод по каждому файлу в ходе работы 100 Подробный вывод по каждому файлу в ходе работы

Вывод по каждому конфигурационному файлу

Подробный вывод по каждому конфигурационному файлу

Зависимости и конфликты

Подробное освещение зависимостей и конфликтов

Подробная ерунда о всяких dpkg/info каталогах

Включение или отказ (no-force и refuse состояния для тех же things) некоторых вещей для действий. things -это тот или иной модификатор из отдельного списка, приведенного ниже:

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

Настроить также распакованные, но не настроенные пакеты, что зависят от текущего пакета.

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

hold: Не беспокоится, если пакет в состоянии hold или нет.

Удалить даже если пакет важен. Важные пакеты содержат базовые команды unix и все такое прочее. Удаление такого пакета может привести к останову работы системы, так что используйте данную опцию с осторожностью.

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

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

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

Модификаторы помеченные (*) включены по умолчанию.

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

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

Говорит dpkg чтобы он сохранял память или использовал ее как понадобится.

Выбирает новый или старый формат пакета. Это опция dpkg-deb(8)

Не читать или проверять содержимое файла управления пока строится пакет. Это опция dpkg-deb(8)

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

Убедитесь что задали —no-act перед действием параметром или вы

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

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

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

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

Работать только с пакетами, что выбраны к установке. Данная пометка делается с помощью dse lect или dpkg, когда он управляет пакетами. Когда, например пакет удаляется, он будет помечен к инсталляции и т.д.

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

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

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

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

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

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

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

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

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

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

Пакет выбран к установке.

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

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

hold Пакет помечен как hold и не управляется dpkg , пока включена опция —force-hold.

Пакет помечен reinst-requered, является битым и требует переустановки. Эти пакеты не могут быть удалены, пока включена опция —force-reinstreq.

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

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

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

См. deb(5)
для информации о этом файле.

dpkg. См. deb(5)
для информации о этом файле.

См. deb(5)
для информации о этом файле.

См. deb(5)
для информации о этом файле.

prerm См. deb(5)
для информации о этом файле.

postrm См. deb(5)
для информации о этом файле.

DPKG_NO_TSTP Определяется для чего-то, если вы предпочитаете, dpkg запускается с новым shell скорее чем приостанавливается dpkg, который в это время выходит из shell.

SHELL Программа dpkg будет запущена в то время как запускается новый shell.

Источник

Оцените статью