Это руководство не следует использовать сопровождающим пакетов, которые хотят понять, как 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:
-b, --build, -c, --contents, -I, --info, -f, --field, -e, --control, -x, --extract, -X, --vextract и --fsys-tarfile.Все эти действия описаны в dpkg-deb(1).
Установка состоит из следующих шагов:
1. Извлечение управляющих файлов нового пакета.
2. Если другая версия этого пакета была установлена ранее, то запускается
сценарий prerm из старого пакета.
3. Запускается сценарий preinst, если он есть в пакете.
4. Распаковываются новые файлы, в тоже самое время сохраняя старые, чтобы
если что-то пойдет не так, можно было их восстановить.
5. Если ранее была установлена другая версия этого пакета, то запускается
сценарий postrm для старого пакета. Заметим, что этот сценарий
запускается после сценария preinst нового пакета, потому что новые файлы
записываются в то же самое время, когда удаляются старые.
6. Настройка пакета. Смотрите описание --configure, где приведена подробная информация об этом шаге.
Настройка состоит из следующих шагов:
1. Распаковка конфигурационных файлов, в то же самое время сохраняя
старые конфигурационные файлы, чтобы можно было восстановить их, если что-то
пойдет не так.
2. Запуск сценария postinst, если он есть в пакете.
Удаление пакета состоит из следующих шагов:
1. Запуск сценария prerm
2. Удаление установленных фалов
3. Запуск сценария postrm
Для упрощения процедуры получения и обновления файла available можно использовать команду dselect update.
dpkg -b | --build каталог [имя файла] Собирает deb пакет. dpkg -c | --contents имя файла Показывает содержимое deb пакета. dpkg -e | --control имя файла [каталог] Извлекает управляющую информацию из пакета. dpkg -x | --extract имя файла <каталог> Извлекает файлы, содержащиеся в данном пакете. dpkg -f | --field имя файла [управляющее-поле] ... Показывает управляющее(ие) поле(я) пакета. dpkg --fsys-tarfile имя файла Выдает на стандартный вывод tar-файл с файловой системой из указанного пакета Debian. dpkg -I | --info имя файла [файл control] Выдает информацию о данном пакете. dpkg -X | --vextract имя файла каталог Извлекает и выдает имена файлов, содержащиеся в пакете.
dpkg -l | --list шаблон имени пакета ... Показывает пакеты, соответствующие данному шаблону. dpkg -s | --status имя пакета ... Сообщает о состоянии указанного пакета. dpkg -L | --listfiles имя пакета ... Показывает файлы, установленные в системе из пакета с указанным именем. dpkg -S | --search шаблон имени файла ... Ищет в установленных пакетах имя файла по заданному шаблону. dpkg -p | --print-avail I <имя пакета> Выводит детальную информацию о пакете, которую извлекает из файла /var/lib/dpkg/available.
Маска Описание
1 Основная полезная информация по ходу выполнения
2 Вызов и состояния скриптов поддержки
10 Вывод по каждому обработанному файлу
100 Подробный вывод по каждому обработанному файлу
20 Вывод по каждому конфигурационному файлу
200 Подробный вывод по каждому конфигурационному файлу
40 Зависимости и конфликты
400 Подробное освещение зависимостей и конфликтов
1000 Подробная ерунда, например о каталоге dpkg/info
2000 Невероятное количество ерунды
Принудительно выполнять или же отказываться выполнять (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: Устанавливать пакет, даже если он не прошёл проверку подлинности.
Убедитесь, что указали --no-act перед действием, или у вас могут получиться нежелаемые результаты. (например, dpkg --purge foo --no-act сперва выполнит полное удаление пакета foo, а затем будет пытаться полностью удалить пакет --no-act, хотя вы ожидали, что ничего выполнено не будет)
To see the entries in /var/lib/dpkg/available of two packages:
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 --clear-selections
dpkg --set-selections <myselections
Заметим, что при этом ничего не будет ни установлено, ни удалено, просто будут заданы состояния запрошенных пакетов. Для того, чтобы на самом деле скачать и установить запрошенные пакеты, вам понадобится другая программа. Например, запустите dselect и выберите "Установить".
Обычно dselect(8) предоставляет более удобный способ изменить состояния
выбранных пакетов.
Смотрите файл /usr/share/doc/dpkg/THANKS, где приведён список тех, кто участвовал в разработке dpkg.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |