2016-04-27 65 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 
相關問題