Especifique apt-get una versión mínima para instalar

Especifique apt-get una versión mínima para instalar

Puede especificar una versión específica para instalar un paquete de esta manera: apt-get install pkg=version.

¿Pero puedes especificar una versión mínima?

Por ejemplo, quiero al menos gcc 8, pero estoy bien con gcc 9.

Algo como esto (obviamente no funciona):apt-get install pkg>=version

Respuesta1

Desde apt 1.9 (lanzado el 17 de junio de 2019), puedes usar apt(-get) satisfycomo:

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

La sintaxis de la cadena de dependencia se describe aquí:

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

Respuesta2

aptLas opciones de paquetes permiten al usuario elegir entre las distintas versiones de un paquete que aptconoce; no permiten al usuario especificar restricciones generales del paquete.

El método más sencillo para lograr lo que buscas es utilizar equivs. Escriba lo siguiente en un archivo, 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.

Luego construye el paquete:

equivs-build mingcc

Esto generará un paquete, gcc-8-or-later_1.0_all.debya sea en el directorio actual o en $TMP. Puedes instalarlo con apt:

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

La instalación solo funcionará si GCC 8 o posterior está disponible.

(Los gccmetapaquetes en Debian y Ubuntu usan una época, actualmente en 4, por lo tanto >= 4:8).

información relacionada