Ger*_*der 7 package-management ansible
我有一个简单的 Ansible playbook,用于在我管理的所有服务器上运行更新:
- hosts: ubuntu
tasks:
- name: install all updates
apt:
upgrade: dist
update_cache: yes
autoremove: yes
autoclean: yes
- hosts: centos
tasks:
- name: install all updates
yum:
name: '*'
update_cache: yes
state: latest
# use debug to show the output
register: result
- name: Show Output
debug: msg="{{ result.stdout_lines }}"
Run Code Online (Sandbox Code Playgroud)
有什么办法可以让 Ansible 向我展示在这个过程中哪些包得到了更新?apt和yum模块都没有为此提供选项。
目前使用的 Ansible 版本是 2.4。
从 HBruijn 的评论开始,我扩展了我的剧本以显示包管理日志的结果:
---
- hosts: ubuntu
tasks:
- name: install all updates
apt:
upgrade: dist
update_cache: yes
autoremove: yes
autoclean: yes
register: result
- name: List installed and updated packages
shell: grep -E "^$(date +%Y-%m-%d).+ (install|upgrade) " /var/log/dpkg.log |cut -d " " -f 3-5
register: result
- name: Show Output
debug: msg="{{ result.stdout_lines }}"
- hosts: centos
tasks:
- name: install all updates
yum:
name: '*'
update_cache: yes
state: latest
- name: List updated packages
shell: rpm -qa --last | grep "$(date +%a\ %d\ %b\ %Y)" |cut -f 1 -d " "
register: result
args:
warn: no
- name: Updates packages
debug: msg="{{ result.stdout_lines }}"
Run Code Online (Sandbox Code Playgroud)
结果输出:
ok: [ubuntu-host] => {
"msg": [
"upgrade python3-problem-report:all 2.14.1-0ubuntu3.25",
"upgrade python3-apport:all 2.14.1-0ubuntu3.25",
"upgrade apport:all 2.14.1-0ubuntu3.25",
"upgrade firefox:i386 56.0+build6-0ubuntu0.14.04.2",
"upgrade python-problem-report:all 2.14.1-0ubuntu3.25",
"upgrade python-apport:all 2.14.1-0ubuntu3.25",
"upgrade xul-ext-ubufox:all 3.4-0ubuntu0.14.04.1"
]
}
ok: [centos-host] => {
"msg": [
"kernel-headers-2.6.32-696.16.1.el6.x86_64",
"lvm2-2.02.143-12.el6_9.1.x86_64",
"device-mapper-multipath-0.4.9-100.el6_9.1.x86_64",
"kernel-2.6.32-696.16.1.el6.x86_64",
"kernel-firmware-2.6.32-696.16.1.el6.noarch",
"lvm2-libs-2.02.143-12.el6_9.1.x86_64",
"kpartx-0.4.9-100.el6_9.1.x86_64",
"device-mapper-multipath-libs-0.4.9-100.el6_9.1.x86_64",
"device-mapper-event-libs-1.02.117-12.el6_9.1.x86_64",
"device-mapper-event-1.02.117-12.el6_9.1.x86_64",
"device-mapper-1.02.117-12.el6_9.1.x86_64",
"util-linux-ng-2.17.2-12.28.el6_9.1.x86_64",
"device-mapper-libs-1.02.117-12.el6_9.1.x86_64",
"libblkid-2.17.2-12.28.el6_9.1.x86_64",
"libuuid-2.17.2-12.28.el6_9.1.x86_64"
]
}
Run Code Online (Sandbox Code Playgroud)
这是一个巨大的改进,但我仍然希望有人有更好的解决方案。
归档时间: |
|
查看次数: |
10841 次 |
最近记录: |