Укажите apt-get минимальную версию для установки

Укажите apt-get минимальную версию для установки

Вы можете указать конкретную версию для установки пакета следующим образом: apt-get install pkg=version.

Но можете ли вы указать минимальную версию?

Например, мне нужен как минимум gcc 8, но меня вполне устроит gcc 9.

Что-то вроде этого (очевидно, не работает):apt-get install pkg>=version

решение1

Начиная с версии 1.9 (выпущенной 17 июня 2019 г.), вы можете использовать apt(-get) satisfy:

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

Синтаксис строки зависимости описан здесь:

https://www.debian.org/doc/debian-policy/ch-relationships.html#синтаксис-полей-отношений

решение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.)

Связанный контент