我正在尝试使用fpm创建一个deb包,其中包含一些shell脚本文件,但是deb包应该使用名为vim(Linux中的vim编辑器)的依赖项来创建。意味着在安装deb软件包时,应先安装vim,然后再安装脚本文件。

要求是在安装deb软件包时,vim应该先安装,然后再安装脚本文件。

我尝试过的fpm命令是:

  fpm -s dir -t deb -n 'test' --deb-pre-depends vim --after-install /home/test/testfile.sh -C /home test

并在创建deb包之后。安装它时,出现以下错误:
dpkg: regarding test_1.0_amd64.deb containing test, pre-dependency problem:
 test pre-depends on vim
  vim is not installed.

dpkg: error processing archive test_1.0_amd64.deb (--install):
 pre-dependency problem - not installing test
Errors were encountered while processing:
 test_1.0_amd64.deb

提前致谢...

最佳答案

正如@Vorsprung所提到的,您需要使用--depends:

fpm -s dir \
    -t deb \
    -n 'test' \
    --depends vim \
    --after-install /home/test/testfile.sh \
    -C /home test

您需要知道dpkg不会为您安装依赖项,但是您可以在以后运行apt-get来安装所有缺少的依赖项:
dpkg -i test.deb
apt-get install -f

09-25 22:54
查看更多