指定 apt-get 要安装的最低版本

指定 apt-get 要安装的最低版本

您可以通过以下方式指定特定版本来安装软件包:apt-get install pkg=version

但你能指定一个最低版本吗?

例如,我至少想要 gcc 8,但我可以使用 gcc 9。

像这样的东西(显然不起作用):apt-get install pkg>=version

答案1

Sice apt 1.9(2019年6月17日发布),您可以使用apt(-get) satisfy

sudo apt-get satisfy "foo (>= 1.0), bar (>= 2.0)"

依赖字符串语法如下所述:

https://www.debian.org/doc/debian-policy/ch-relationships.html#syntax-of-relationship-fields

答案2

apt包上的选项允许用户在apt了解的包的各个版本中进行选择;它们不允许用户指定一般包约束。

实现您所追求的目标的最简单方法是使用equivs.将以下内容写入文件,例如mingcc

Section: devel
Priority: optional
Standards-Version: 4.5.0

Package: gcc-8-or-later
Depends: gcc (>= 4:8)
Description: dependency package ensuring GCC 8 or later is installed
 This meta-package ensures that GCC 8 or later is installed.

然后构建包:

equivs-build mingcc

这将gcc-8-or-later_1.0_all.deb在当前目录或$TMP.您可以使用以下命令安装它apt

apt install ./gcc-8-or-later_1.0_all.deb

仅当 GCC 8 或更高版本可用时,安装才有效。

gccDebian 和 Ubuntu 中的元包使用纪元,目前为 4,因此>= 4:8。)

相关内容