我正在尝试使用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
提前致谢...
答案 0 :(得分:2)
尝试 - 而不是--deb-pre-depends
“Depend”和“Pre Depend”略有不同,请参阅此处https://www.debian.org/doc/debian-policy/ch-relationships.html
听起来你想做的事情可能就是“依赖”,所以保持简单
答案 1 :(得分:2)
正如alredy提到的@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