当建立一个新的Linux服务器,我通常跑apt-get update
后apt-get upgrade
.第一个命令更新可用软件包及其版本的列表,但它不会安装或升级任何软件包.第二个命令实际上安装了我的软件包的更新版本.
在Ansible中执行此操作的正确方法是什么?你可以这样做的一种方法是这样的:
- name: update and upgrade apt packages
apt: >
upgrade=yes
update_cache=yes
cache_valid_time=3600
Run Code Online (Sandbox Code Playgroud)
或者你可以分两步完成:
- name: update apt packages
apt: >
update_cache=yes
cache_valid_time=3600
- name: upgrade apt packages
apt: upgrade=yes
Run Code Online (Sandbox Code Playgroud)
如果你是第一种方式,Ansible足够聪明,知道它应该在'升级'之前运行'更新'吗?Ansible apt文档没有解决这个问题.
这是升级和更新包的更好版本。下面的可执行 playbook 将更新和升级软件包到清单文件中指定的所有主机。
- hosts: all
become: yes
tasks:
- name: Update and upgrade apt packages
apt:
upgrade: yes
update_cache: yes
cache_valid_time: 86400 # 1 day
Run Code Online (Sandbox Code Playgroud)
该cache_valid_time
值是可选的。文档说:
Run Code Online (Sandbox Code Playgroud)Update the apt cache if its older than the cache_valid_time. This option is set in seconds.
我认为如果您不想在最近更新缓存时更新缓存,那么包含此内容是一个很好的做法。
归档时间: |
|
查看次数: |
20489 次 |
最近记录: |