web-dev-qa-db-ja.com

.debパッケージをインストールすることで実行されるアクションを表示するにはどうすればよいですか?

アップグレードが予定されているパッケージに関連付けられているスクリプト/トリガーを表示して、Webサーバーが再起動されるかどうかなどを確認できるようにしたいと思います。それを表示するaptitudeオプション(またはapt/dpkg)が見つかりません。私が得ることができる最高のものは内容(ファイル)です。これを示す、見逃したシミュレーション/冗長/コンテンツスイッチの組み合わせはありますか?

さらに、サービスの再起動など、パッケージで今すぐに実行したくないことが発生した場合、一部またはすべてのスクリプトを実行せずにパッケージをインストールする方法はありますか?

33
Sam Brightman

dpkg -I package.debを使用して制御ファイルとその他の情報を印刷するか、dpkg -e package.debを使用して制御情報ファイルのみを抽出できます。

また、dpkgが--dry-runで何をするかを確認するために、予行演習を行うことができます。

dpkg --dry-run -i package.deb
20
Mikael S

いいえ、aptitudeを使用してこれを行う方法はわかりません。

スクリプトを直接見ることができます。アップグレード中に実行されるスクリプトはパッケージに含まれています。 arを使用してdebを解凍します。

ar -x package.deb

次に、control.tar.gzを調べます。スクリプトが含まれています。

8
sleske

--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.
2
estibordo

いいえ、メンテナスクリプトの一部を実行することはできません。そのためのフックはありません。

スクリプトを手動で調べて何が行われるかを確認することはできます。ここでも、「ドライラン」では何が行われ、何が行われないかを正確に示すことはできません。「これらの引数を使用してpostinstを実行します」のみです。

これらが、ステージング環境とテスト環境がある理由です。

1
womble