如何从文件(package.deb)安装推荐的软件包?

我有一个 package.deb 文件,想要安装所有依赖项(debian/control 中的 Depends 字段)和所有推荐包(debian/control 中的 Recommends 字段)。

目前考虑的选项:

  • Gdebi 显然 不支持安装推荐包。
  • 使用 "sudo dpkg -i package.deb" 命令后跟上 "sudo apt-get install --install-recommends -f" 命令只会安装依赖项(debian/control 中的 Depends 字段),但不会安装推荐包(debian/control 中的 Recommends 字段)。

还有其他的想法吗?

2个回答

一种解决方案是建立个人APT存储库,并从那里使用APT安装软件包
另一种可能性是从软件包描述中提取依赖项。该脚本从.deb文件的描述中提取“Recommends:”行,并删除版本信息,仅保留多个备选项中的第一个。
apt-get install $(dpkg-deb -I foo.deb |
                  sed -n 's/^ *\(Depends\|Recommends\)://p' |
                  tr , $'\n' |
                  sed 's/[|(].*//')

使用aptitude,您可以安装与模式匹配的一组软件包。如果有多个选择,首先安装您想要的那个。
aptitude install '?reverse-recommends(foo)'

从全屏界面中,突出显示该软件包,按下 Enter 键,导航到“推荐”并按下 + 键,然后按下 g 键。

dpkg中有一个名为--nodependencies的参数(在早期的版本中存在)今天该参数被命名为 - 在man页面中查看 -

--ignore-depends=package,... 对指定的软件包忽略依赖检查(实际上会进行检查,但只提供有关冲突的警告,不做其他操作)。

你可以尝试使用该参数,但这也可能存在风险。

我只知道大多数情况下风险并不太高。在终端/控制台中:

dpkg -i --ignore-depends=package1,package2,package3... package-to-be-installed-name.deb