2015-05-01 21 views
14

Próbuję zaktualizować systemy CentOS ansibli. Niestety nie jestem w stanie tego zrobić.Odpowiedz: Jak zaktualizować system CentOS z Ansible

Próbowałem już:

- name: install updates 
    yum: update_cache=yes 
    when: ansible_os_family == "RedHat 

nie działa.


- name: install updates 
    yum: name=* state=latest 
    when: ansible_os_family == "RedHat 

ostatniego dzieła zadanie, ale czy to prawda, że ​​zadanie aktualizuje system?

Odpowiedz

0

Ostatnie zadanie działa, ale czy to prawda, że ​​zadanie aktualizuje system?

Tak, to zadanie powinno być równoważne wykonaniu yum -y update na serwerze.

Jeśli uruchomisz ten skrypt z napisem -vvvv w linii poleceń, powinieneś zobaczyć całe wyjście polecenia yum po jego wykonaniu.

+0

Co to jest odpowiednik "yum -y upgrade"? Ponieważ aktualizacja i aktualizacja to bardzo różne rzeczy. –

+1

@ victorio-berra Zgodnie ze stroną man 'yum',' upgrade' to "Jest takie samo jak polecenie update z flagą' --obsoletes' ". –

24

Pierwsze zadanie, które chcesz, aby system zaktualizował tylko pamięć podręczną yum.

Po drugie skutecznie uaktualniasz wszystkie pakiety do najnowszej wersji za pomocą state=latest, ale powinieneś także użyć update_cache=yes w tym samym zadaniu, aby upewnić się, że odświeżasz pamięć podręczną za pomocą najnowszych informacji o pakiecie.

Dokumentacja yum module zapewnia dokładnie ten przykład:

- name: upgrade all packages 
    yum: name=* state=latest 

Po wykonaniu zadania, terminal powinien pojawić się komunikat w żółtym rozumieniu status zadaniem jest changed.

+1

Jak zainstalować aktualizacje zabezpieczeń i nie aktualizować wszystkich pakietów? – lony

+0

Niestety, w ten sposób otrzymujesz bardzo złe informacje zwrotne dotyczące rozwiązywania problemów w przypadku, gdy coś pójdzie nie tak (w zasadzie cały log yum, wraz z błędem na 1 linii). Ponadto, nie można naprawdę oglądać postępu aktualizacji, ani uzyskać żadnego dziennika postępu. Szkoda, że ​​nie było specjalnego modułu do tego. – Petr