2016-04-27 36 views
9

设置新的Linux服务器时,我通常运行apt-get update,然后运行apt-get upgrade。第一个命令会更新可用软件包及其版本的列表,但不会安装或升级任何软件包。第二个命令实际上安装了我有更新版本的软件包。使用Ansible升级APT软件包的正确方法是什么?

在Ansible中做到这一点的正确方法是什么?你可以做到这一点的方法之一是这样的:

- name: update and upgrade apt packages 
    apt: > 
    upgrade=yes 
    update_cache=yes 
    cache_valid_time=3600 

或者你可以做它在两个单独的步骤:

- name: update apt packages 
    apt: > 
    update_cache=yes 
    cache_valid_time=3600 

- name: upgrade apt packages 
    apt: upgrade=yes 

如果你做到这一点的第一种方式,是Ansible足够聪明,知道它'升级'之前应该运行'更新'? Ansible apt documentation没有解决这个问题。

回答

8

apt module documentation没有真正说明它会首先运行更新:

运行相当于apt-get的操作之前更新。可以运行 作为软件包安装的一部分或作为单独的步骤运行。

(重点煤矿)

所以这两个剧本的应该是功能上是相同的。

0

未知是否下面是the correct way to upgrade apt packages using ansible,但这个更新包的系统上:

- name: Upgrade all packages to the latest version 
    apt: 
    update_cache: yes 
    upgrade: yes 
相关问题