我有一个 package.deb 并且想要安装所有依赖项(debian/control 中的 Depends 字段)和所有推荐包(debian/control 中的 Recommends 字段)。
目前考虑的选项:
- 格德比显然不支持安装推荐包。
- “sudo dpkg -i package.deb” 后跟“sudo apt-get install --install-recommends -f” 也只安装依赖项(debian/control 中的 Depends 字段),但不推荐软件包(debian/control 中的 Recommends 字段)。
还有其他想法吗?
答案1
一个解决方案是设置你的个人 APT 存储库并从那里使用 APT 安装软件包。
另一种可能性是从包描述中提取依赖项。此脚本Recommends:
从文件中的描述中提取行.deb
并删除版本,并在有多个替代方案时仅保留第一个替代方案。
apt-get install $(dpkg-deb -I foo.deb |
sed -n 's/^ *\(Depends\|Recommends\)://p' |
tr , $'\n' |
sed 's/[|(].*//')
使用 aptitude,您可以安装与模式匹配的软件包集。如果有其他选择,请先安装您想要的那个。
aptitude install '?reverse-recommends(foo)'
从 aptitude 全屏界面,突出显示包,按Enter,导航到“推荐”,+然后按g。
答案2
dpkg 中有一个名为 --nodependencies 的参数(以前有),现在的参数名称为 - 请参阅手册页 -
--ignore-depends=package,... 忽略指定包的依赖性检查(实际上,会执行检查,但只会给出有关冲突的警告,没有其他内容)。
你可以尝试一下,但这也可能有风险。
我只知道大多数风险不是那么高。在终端/konsole中:
dpkg -i --ignore-depends=package1,package2,package3... 待安装软件包名称.deb