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

63

Используя APT, вы можете установить определенную версию пакета, используя:

apt-get install package=1.0

Но вы не можете сделать

apt-get install package=1.*

Итак, как я могу узнать, какие версии доступны для packageконкретного репозитория или во всех репозиториях в моем /etc/apt/sources.list?

Камило Мартин
источник
Смотрите также stackoverflow.com/questions/18885820/...
rogerdpack

Ответы:

90

Просто как дополнение

apt-cache madison <<package name>>

перечислит версии, доступные из всех ваших источников.

apt-cache madison vim
   vim | 2:7.3.547-1 | http://debian.mirrors.tds.net/debian/ unstable/main amd64 Packages
   vim | 2:7.3.429-2 | http://debian.mirrors.tds.net/debian/ testing/main amd64 Packages
   vim | 2:7.3.429-2 | http://http.us.debian.org/debian/ testing/main amd64 Packages
   vim | 2:7.3.429-2 | http://debian.mirrors.tds.net/debian/ testing/main Sources
   vim | 2:7.3.547-1 | http://debian.mirrors.tds.net/debian/ unstable/main Sources

madisonэто apt-cacheподкоманда, man apt-cacheговорит:

Команда madison apt-cache пытается имитировать выходной формат и подмножество функций инструмента управления архивами Debian, madison. Он отображает доступные версии пакета в табличном формате. В отличие от оригинального Madison, он может отображать информацию только для архитектуры, для которой APT получил списки пакетов (APT :: Architecture).

lornix
источник
3
Мэдисон? Это параметр в apt-cache или имя пакета? Я больше не использую apt-get distro (но +1 на всякий случай)
Камило Мартин
5
параметр. Не чувствую себя плохо, это было одно из тех случайных открытий для меня тоже. На сайте Debian есть веб-страница (приложение?), Которая показывает ту же информацию, которая, как я полагаю, была первой, и кто-то написал ее для apt-cache. Довольно удобно.
lornix
Вау, довольно удобно. Я поменяю согласие на это, потому что это как раз то, что я хотел (в то время) и поставляется встроенным, без разбора.
Камило Мартин
1
Это не работает для всех пакетов.
Cerin
1
@nuoritoveri Источники Sources - это репозитории, которые содержат исходный код различных программ и пакетов. Исходный код может быть загружен с помощью apt-get source XYZZYкоманды для загрузки исходного кода для пакета XYZZY . Смотрите страницу руководства apt-get ( ) для более подробной информации. man apt-get
Lornix
25

Здесь apt-cache show <Package>показаны описания пакетов всех версий, которые может установить ваша установка Debian (т.е. из кэшированного списка пакетов, доступных в репозиториях, перечисленных в sources.list). Поэтому я думаю, что вы можете попробовать что-то вроде (например):

# apt-cache show package | grep Version
Version 1.0
Version 0.9-2squeeze1

Это apt-cache showдаст вам гораздо больше информации, чем просто версии.

индиго
источник
Спасибо, попробую. Можно ли понизить рейтинг?
Камило Мартин
Кажется, это работает, я просто хочу знать, будет ли в этом списке пакеты, версии которых ниже, чем у меня сейчас.
Камило Мартин
5
Вы можете использовать политику apt-cache, если вас интересует только версия.
Реми
@ Реми Спасибо! Эта команда решила мое следующее сомнение, как узнать, откуда пакет. Я даже искал уже :)
Камило Мартин
12
apt-cache policy gdb

Образец вывода:

gdb:
  Installed: 7.7.1-0ubuntu5~14.04.2
  Candidate: 7.7.1-0ubuntu5~14.04.2
  Version table:
 *** 7.7.1-0ubuntu5~14.04.2 0
        500 http://fr.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     7.7-0ubuntu3 0
        500 http://fr.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
        500 http://archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

Итак, мы видим, что доступны две версии GDB:

  • 7.7.1-0ubuntu5~14.04.2
  • 7.7-0ubuntu3

Значение вывода:

Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
источник
1
Спасибо, это кажется более подробным, чем apt-cache madison(но сложнее разобрать).
Камило Мартин,
2

Команда, специально предназначенная для этого, apt-show-version . Вам часто приходится устанавливать его, но затем можно запустить apt-show-version -a, и он покажет вам номер версии, дистрибутив (т. Е. Тестирование, стабильный, нестабильный, backports и т. Д.), Где его можно найти, и, наконец, сообщить вам, установлена ​​ли у вас обновленная версия или нет.

Он не дает вам столько информации, сколько apt-cache, но дает в значительной степени то, что вам нужно, поскольку вы можете установить его из правильного репозитория (используя aptitude / apt-get -t) или просто установить, используя правильный номер версии в Форма, которую вы отметили.

ShankarG
источник
+1, но при тестировании его на коробке моей подруги с произвольным примером, он пропускает одну из apt-cacheвыбранных версий : i.imgur.com/15be7.png
Камило Мартин
Это интересно, кажется, пропустил самый старый. Возможно, ваши подходящие предпочтения настроены на тестирование?
ShankarG
Я не знаю? Куда мне обратиться, чтобы проверить, предпочитает ли он тестирование?
Камило Мартин
Проверьте файл / etc / apt / предпочтения
ShankarG