Jon*_*nik 18 package-management apt
使用 apt-get安装特定版本的软件包很容易:
apt-get install <package name>=<version>
Run Code Online (Sandbox Code Playgroud)
例如:
apt-get install jenkins=1.517
Run Code Online (Sandbox Code Playgroud)
但是有安装最新版本的快捷方式吗?
例如,假设编写一个脚本来自动化 Jenkins 安装。添加http:/q/pkg.jenkins-ci.org/debian到 后/etc/apt/sources.list,Jenkins 可从两个来源获得。现在,我想告诉 apt-get 安装最新版本,而无需确切知道脚本执行时最新版本是什么。
这可能以任何简单的方式实现吗?
tto*_*ine 14
只需输入
apt-get update
apt-get install <package-name>
Run Code Online (Sandbox Code Playgroud)
并且将安装所有存储库中可用的最新版本。
jot*_*ken 10
所选答案在大多数情况下都有效。但是,您可能会发现自己在 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
Run Code Online (Sandbox Code Playgroud)
可以通过指定从 backports 安装来从 backports 中选择一个版本:apt-get -t xenial-backports install golang。
参考:https : //help.ubuntu.com/community/UbuntuBackports#Installing_Backports
小智 6
对于到达这里的其他人:ttoine 的答案是正确的。
但如果您对语法感到困惑apt-get -q -y --force-yes install openjdk-6-jdk=<blah>(比如说通过 Chef),您可以指定一个星号/星号来获取最新的:apt-get -q -y --force-yes install openjdk-6-jdk=\*
| 归档时间: |
|
| 查看次数: |
48540 次 |
| 最近记录: |