web-dev-qa-db-ja.com

新しいインストール前スクリプト(/var/lib/dpkg/tmp.ci/preinst)を実行できません

generic/ubuntu1604イメージを使用するVagrant Boxに.debファイルをインストールしようとしましたが、次のエラーが表示されました。

Reading package lists... Done
Building dependency tree

Reading state information... Done
Reading state information... Done

A queue based service for watching directories for files to process as per its configuration.
Do you want to install the software package? [y/N]:y
(Reading database ... 108439 files and directories currently installed.)
Preparing to unpack wtbuild.deb ...
dpkg (subprocess): unable to execute new pre-installation script (/var/lib/dpkg/tmp.ci/preinst): No such file or directory
dpkg: error processing archive wtbuild.deb (--install):
 subprocess new pre-installation script returned error exit status 2
Errors were encountered while processing:
 wtbuild.deb

エラー

それはその画像でのみ起こります。同じ.debファイルをLinuxマシン(xenial)または別のLinuxイメージを持つ別のVagrantボックスにインストールしようとすると、.debファイルが正しくインストールされます。

1
Javier Galarza

PreinstスクリプトのShebang行に表示される実行可能ファイルがありません。

  1. パッケージのメタデータを一時ディレクトリに抽出します:dpkg -e wtbuild.deb tmp
  2. テキストエディタでtmp/preinstを開きます。
  3. 最初の行は、文字#!で始まる必要があります。その後に表示されるテキストは、ファイルの実行に使用されるプログラムです。そのプログラムがありません。
  4. 不足しているプログラムを提供するパッケージを決定します。たとえば、プログラムが/usr/bin/pythonの場合、pythonパッケージをインストールする必要があります:Sudo apt-get install python

Wtbuild.debを保守する場合は、パッケージのcontrolファイルに不足している依存関係を追加するのに時間がかかるはずです。他の誰かがwtbuild.debを保守している場合、バグレポートを提出し、不足している依存関係パッケージの名前を含める必要があります。

1
Zenexer