如何使用 apt-get 安装最新版本的软件包?

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)

并且将安装所有存储库中可用的最新版本。

  • 不要忘记在 `apt-get install ...` 之前使用 `apt-get update` 来更新存储库中的包列表。 (3认同)

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 次

最近记录:

8 年,4 月 前