Как проверить, есть ли на зеркале apt нужная мне версия пакета?

Как проверить, есть ли на зеркале apt нужная мне версия пакета?

Допустим, я хочу узнать, openssl, 1.0.1-4ubuntu5.12доступно ли это в зеркале, например

deb http://security.ubuntu.com/ubuntu precise-security main restricted

Какую простую команду я могу проверить?

решение1

Вы можете запуститьapt-get install -s openssl -t precise-security

  • Флаг -sнужен только для имитации установки.
  • Флаг -tуказывает целевой релиз

Это вернет что-то вроде:

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be upgraded:
  openssl
1 upgraded, 0 newly installed, 0 to remove and 64 not upgraded.
Inst openssl [1.0.1-4ubuntu5.11] (1.0.1-4ubuntu5.12 Ubuntu:12.04/precise-security [amd64])
Conf openssl (1.0.1-4ubuntu5.12 Ubuntu:12.04/precise-security [amd64])

Теперь, отсюда вы можете увидеть, что версия openssl 1.0.1-4ubuntu5.12доступна в этом репозитории.

Однако об этом будет сообщено только в том случае, если репозиторий содержит более новую версию, чем та, которая установлена ​​в вашей системе.


apt-cache policy opensslвыведет список доступных версий для каждого репозитория, который вы определили в файле sources.list (даже если ваша система уже обновлена, что не относится к моему случаю):

openssl:
  Installed: 1.0.1-4ubuntu5.11
  Candidate: 1.0.1-4ubuntu5.12
  Version table:
     1.0.1-4ubuntu5.12 0
        500 http://security.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
 *** 1.0.1-4ubuntu5.11 0
        500 http://fr.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     1.0.1-4ubuntu3 0
        500 http://fr.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages

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