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

Легко установить определенную версию пакета с apt-get:

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

Например:

apt-get install jenkins=1.517

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

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

Возможно ли это любым простым способом? [!d8 ]

1
задан 3 June 2013 в 17:57

3 ответа

Выбранный ответ работает в большинстве случаев. Тем не менее, вы можете оказаться в ситуации, когда более поздняя версия доступна в репозитории 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#Installing_Backports

6
ответ дан 24 May 2018 в 21:28

Для любого другого, кто приземляется здесь: ответ ttoine правильный.

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

2
ответ дан 24 May 2018 в 21:28

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

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

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

1
ответ дан 24 May 2018 в 21:28

Другие вопросы по тегам:

Похожие вопросы: