2016-04-27 10 views
9

Wenn ich einen neuen Linux-Server einrichte, starte ich normalerweise apt-get update und dann apt-get upgrade. Der erste Befehl aktualisiert die Liste der verfügbaren Pakete und deren Versionen, aber er installiert oder aktualisiert keine Pakete. Der zweite Befehl installiert tatsächlich neuere Versionen der Pakete, die ich habe.Was ist der richtige Weg, um APT-Pakete mit Ansible zu aktualisieren?

Was ist der richtige Weg, dies in Ansible zu tun? Eine Möglichkeit, es tun könnte, ist wie folgt:

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

Oder Sie könnten es in zwei getrennten Schritten tun:

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

- name: upgrade apt packages 
    apt: upgrade=yes 

Wenn Sie es die erste Art und Weise zu tun, ist ansible intelligent genug, um zu wissen, dass es sollte 'update' vor 'upgrade' laufen? Der Ansible apt documentation adressiert diesen feineren Punkt nicht.

Antwort

8

Die apt module documentation hat angeben eigentlich, dass es zuerst das Update ausgeführt wird:

Führen Sie das Äquivalent von apt-get vor die Operation aktualisieren. Kann als Teil der Paketinstallation oder als separater Schritt ausgeführt werden.

(Hervorhebung von mir)

Also diese beiden Stücke sollten funktional identisch sein.

0

nicht bekannt, ob die folgende ist the correct way to upgrade apt packages using ansible, aber die Pakete auf einem System aktualisiert:

- name: Upgrade all packages to the latest version 
    apt: 
    update_cache: yes 
    upgrade: yes