Sie können eine bestimmte Version zur Installation eines Pakets folgendermaßen angeben: apt-get install pkg=version
.
Aber können Sie eine Mindestversion angeben?
Ich möchte beispielsweise mindestens gcc 8, aber gcc 9 ist für mich ok.
So etwas wie das hier (funktioniert offensichtlich nicht):apt-get install pkg>=version
Antwort1
Seit Apt 1.9 (veröffentlicht am 17. Juni 2019) können Sie apt(-get) satisfy
Folgendes verwenden:
sudo apt-get satisfy "foo (>= 1.0), bar (>= 2.0)"
Die Syntax der Abhängigkeitszeichenfolge wird hier beschrieben:
https://www.debian.org/doc/debian-policy/ch-relationships.html#syntax-of-relationship-fields
Antwort2
apt
Die Paketoptionen ermöglichen dem Benutzer, zwischen den verschiedenen Versionen eines apt
bekannten Pakets auszuwählen. Sie ermöglichen dem Benutzer nicht, allgemeine Paketbeschränkungen anzugeben.
Der einfachste Weg, Ihr Ziel zu erreichen, ist die Verwendung von equivs
. Schreiben Sie beispielsweise Folgendes in eine Datei 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.
Erstellen Sie dann das Paket:
equivs-build mingcc
Dadurch wird ein Paket generiert, gcc-8-or-later_1.0_all.deb
entweder im aktuellen Verzeichnis oder in $TMP
. Sie können es mit installieren apt
:
apt install ./gcc-8-or-later_1.0_all.deb
Die Installation funktioniert nur, wenn GCC 8 oder höher verfügbar ist.
(Die gcc
Metapakete in Debian und Ubuntu verwenden eine Epoche, derzeit bei 4, daher >= 4:8
.)