2016-06-20 113 views
0

我想從我的回購安裝所有的軟件包在ansible升級所有的包,我不能重複這個命令:如何安裝或在yum軟件庫

yum repo-pkgs reponame install 
在Ansible劇本

所有的東西,我發現它:例如知道包是如何安裝一個軟件包或列表:

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

不工作:寫安裝的所有軟件包 - 但它不對

回答

2

隨着documentation表明,以下任務將更新所有已安裝的軟件包,不安裝可用的:

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

達到你想要什麼,你需要先註冊你的第一個命令返回包的列表:

- name: gather list of packages available 
    shell: yum repo-pkgs reponame list 
    register: packages 

- name: install/upgrade all packages 
    yum: name={{packages.stdout_lines|join(',')}} state=latest 

免責聲明:這不是測試,因此它可能需要調整。

+0

感謝您的回答,並尋求解決方案。在你的例子packages.stdout_lines | join(',')需要更多的解析,因爲stdout中的所有單詞用逗號分隔,並用var名稱代替 –

+0

我怎樣才能限制它只安裝安全更新? (請參閱這裏的問題http://stackoverflow.com/questions/39450744/how-to-install-security-updates-on-amazon-ec2-runnign-machine-using-ansible) – lony

相關問題