Назад | Перейти на главную страницу

Как показать действия, которые необходимо выполнить при установке пакета .deb?

Я хотел бы иметь возможность просматривать сценарии / триггеры, связанные с пакетом, подлежащим обновлению, чтобы я мог, например, сказать, приведет ли это к перезапуску веб-сервера. Я не могу найти способ показать мне это (или apt / dpkg); лучшее, что я могу получить, - это содержимое (файлы). Есть ли какая-то комбинация переключателей симуляции / подробного / содержимого, которую я пропустил, которая покажет это?

Кроме того, если в результате пакета что-то происходит - например, перезапуск службы - чего я не хочу сейчас делать, есть ли способ установить пакет, не выполняя некоторые или все сценарии?

Вы можете распечатать контрольный файл и некоторую другую информацию с помощью dpkg -I package.deb, или используйте dpkg -e package.deb для извлечения только файлов с управляющей информацией.

Кроме того, вы можете выполнить пробный запуск, чтобы узнать, что dpkg будет делать с --dry-run:

dpkg --dry-run -i package.deb

Нет, я не знаю, как это сделать с помощью aptitude.

Вы можете посмотреть сценарии напрямую; сценарии, запускаемые во время обновления, содержатся в пакете. Распакуйте deb с помощью ar:

ar -x package.deb

Тогда загляни в control.tar.gz, он содержит скрипты.

Также есть --debug вариант для dpkg, как в sudo dpkg --debug=72200 -i package.deb

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

Вы можете увидеть все доступные варианты, запустив: dpkg --debug=help.

pi@kaldi:~ $ dpkg --debug=help
dpkg debugging option, --debug=<octal> or -D<octal>:

 Number  Ref. in source   Description
      1  general          Generally helpful progress information
      2  scripts          Invocation and status of maintainer scripts
     10  eachfile         Output for each file processed
    100  eachfiledetail   Lots of output for each file processed
     20  conff            Output for each configuration file
    200  conffdetail      Lots of output for each configuration file
     40  depcon           Dependencies and conflicts
    400  depcondetail     Lots of dependencies/conflicts output
  10000  triggers         Trigger activation and processing
  20000  triggersdetail   Lots of output regarding triggers
  40000  triggersstupid   Silly amounts of output regarding triggers
   1000  veryverbose      Lots of drivel about eg the dpkg/info directory
   2000  stupidlyverbose  Insane amounts of drivel

Debugging options can be mixed using bitwise-or.
Note that the meanings and values are subject to change.

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

Вы можете увидеть, что будет делать скрипт, только проверив его вручную - опять же, никакой «пробный прогон» не может сказать вам точно, что он будет, а что не будет, только «Я запущу postinst с этими аргументами».

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