您可以透過以下方式指定特定版本來安裝軟體包: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 或更高版本可用時,安裝才有效。
(gcc
Debian 和 Ubuntu 中的元包使用紀元,目前為 4,因此>= 4:8
。)