Как установить последнюю версию пакета с помощью apt-get?

14

Это легко установить конкретную версию пакета с APT-GET:

apt-get install <package name>=<version>

Например:

apt-get install jenkins=1.517

Но есть ли ярлык для установки последней версии?

Например, написание сценария для автоматизации установки Jenkins. После добавления http:/q/pkg.jenkins-ci.org/debianв /etc/apt/sources.listДженкинс доступен из двух источников. Теперь я хотел бы попросить apt-get установить последнюю версию, не зная точно, какая последняя версия во время выполнения скрипта.

Это возможно любым простым способом?

Jonik
источник
apt-getпо умолчанию получите последнюю версию. бежать, apt-get updateпрежде чем быть уверенным
Анвар

Ответы:

14

просто введите

apt-get update    
apt-get install <package-name>

И последние доступные во всех ваших репозиториях будут установлены.

ttoine
источник
3
Не забудьте apt-get updateперед тем, apt-get install ...чтобы обновить список пакетов из репозиториев.
Эрик Карвалью
Спасибо, вроде как очевидно ... :) Раньше я сталкивался с непреднамеренной установкой более старой версии, но, возможно, это было вызвано забыванием сделать apt-get updateсначала.
Джоник
6

Выбранный ответ работает в большинстве случаев. Однако вы можете оказаться в ситуации, когда в репозитории backport доступна более новая версия, которая apt-get install <package-name>по умолчанию не будет установлена . Например, я недавно сталкивался с этим:

$ apt-cache policy golang
golang:
  Installed: 2:1.3.3-1
  Candidate: 2:1.3.3-1
  Version table:
     2:1.7~5~bpo8+1 0
        100 http://archive.ubuntu.com/ubuntu xenial-backports/main amd64 Packages
     2:1.5.1-4~bpo8+1 0
        100 http://archive.ubuntu.com/ubuntu xenial-backports/main amd64 Packages
 *** 2:1.3.3-1 0
        500 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages
        100 /var/lib/dpkg/status

Выбор версии из Backports можно сделать, указав для установки из Backports: apt-get -t xenial-backports install golang.

Ссылка: https://help.ubuntu.com/community/UbuntuBackports#Install_Backports

jotrocken
источник
2

Для всех, кто приземлится здесь: ответ Ттоина правильный.

НО, если вы застряли в apt-get -q -y --force-yes install openjdk-6-jdk=<blah>синтаксисе (скажем, через Chef), вы можете указать звездочку / звездочку, чтобы получить последнюю версию:apt-get -q -y --force-yes install openjdk-6-jdk=\*

Иса Фарник
источник
1

Обратите внимание, что для получения актуальной последней версии пакета вам может понадобиться добавить репозиторий в apt, репозиторий, который содержит более актуальную (т. Е. Реальную последнюю) версию пакета. Например, документация openvpn объясняет:

«Последние выпуски OpenVPN доступны в репозиториях apt проекта OpenVPN. Это позволяет вам использовать более актуальную версию OpenVPN, чем то, что обычно доступно в репозиториях вашего дистрибутива».

Конечно, вы хотите убедиться, что доверяете любому добавляемому вами репозиторию. Существуют различные способы добавления репозитория. Мне нравится способ, который они предлагают в документах OpenVPN, связанных выше. Также есть add-apt-repository .

Соколиный Глаз Паркер
источник