Especifique apt-get uma versão mínima a ser instalada

Especifique apt-get uma versão mínima a ser instalada

Você pode especificar uma versão específica para instalar um pacote desta forma: apt-get install pkg=version.

Mas você pode especificar uma versão mínima?

Por exemplo, quero pelo menos o gcc 8, mas estou bem com o gcc 9.

Algo assim (obviamente não funciona):apt-get install pkg>=version

Responder1

Sice apt 1.9 (lançado em 17 de junho de 2019), você pode usar apt(-get) satisfycomo:

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

A sintaxe da string de dependência é descrita aqui:

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

Responder2

aptAs opções de pacotes permitem ao usuário escolher entre as diversas versões de um pacote que aptconhece; eles não permitem que o usuário especifique restrições gerais de pacote.

A abordagem mais simples para conseguir o que você procura é usar equivs. Escreva o seguinte em um arquivo, digamos 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.

Em seguida, construa o pacote:

equivs-build mingcc

Isso irá gerar um pacote, gcc-8-or-later_1.0_all.debno diretório atual ou em $TMP. Você pode instalá-lo com apt:

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

A instalação só funcionará se o GCC 8 ou posterior estiver disponível.

(Os gccmeta-pacotes no Debian e no Ubuntu usam uma época, atualmente em 4, portanto >= 4:8.)

informação relacionada