我尝试在使用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
这只发生在该图像上。如果我尝试在我的 linux 机器( xenial )或另一个具有不同 linux 映像的 vagrant box 中安装相同的 .deb 文件,则 .deb 文件安装正确。
您缺少出现在 preinst 脚本的 shebang 行中的可执行文件。
dpkg -e wtbuild.deb tmp
tmp/preinst
在文本编辑器中打开。#!
。之后出现的文本是用于运行文件的程序。你错过了那个程序。/usr/bin/python
,你应该安装python
包:sudo apt-get install python
如果您维护 wtbuild.deb,您应该花时间将缺少的依赖项添加到包的
control
文件中。如果其他人维护 wtbuild.deb,您应该提交错误报告并包括缺少的依赖包的名称。