Легко установить специфическую версию пакета с помощью 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 установить последнюю версию , не зная точно, какая последняя версия во время выполнения скрипта.
Возможно ли это любым простым способом?
Выбранный ответ работает в большинстве случаев. Однако вы можете оказаться в ситуации, когда более поздняя версия доступна в репозитории 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
Выбор версии из бэкпорта можно сделать, указав установку из бэкпорта: apt-get -t xenial-backports install golang
.
Ссылка: https://help.ubuntu.com/community/UbuntuBackports#Install_Backports
.Обратите внимание, что для получения актуальной последней версии пакета вам может понадобиться добавить репозиторий в apt, репозиторий, который содержит более актуальную (т.е. настоящую последнюю) версию пакета. Например, в документации openvpn объясняется:
«Последние выпуски OpenVPN доступны в репозиториях apt проекта OpenVPN. Это позволяет вам использовать более актуальную версию OpenVPN, чем обычно доступны в репозиториях вашего дистрибутива. "
Конечно, вы хотите быть уверены, что доверяете любому добавляемому репозиторию. Есть несколько способов добавить репозиторий. Мне нравится способ, который они предлагают в документах OpenVPN, связанных выше. Также есть add-apt-repository .
просто введите
apt-get update
apt-get install <package-name>
И будет установлена последняя версия, доступная во всех ваших репозиториях.
Для всех, кто приземлится здесь: ответ Ттоина правильный.
НО, если вы застряли в синтаксисе apt-get -q -y --force-yes install openjdk-6-jdk=<blah>
(скажем, через Chef), вы можете указать звездочку / звездочку, чтобы получить последнюю версию: apt-get -q -y --force-yes install openjdk-6-jdk=\*