我如何编写Salt状态来升级centos和ubuntu系统上(实验室)安装的所有软件包?
我有一个upgrades.sls
,其内容如下:
upgrades:
pkg.upgrade:
- name: '*'
但是它返回一个
在SLS'dfars.patching'中找不到状态'pkg.upgrade'原因: “ pkg.upgrade”不可用。
我是否必须为centos指定它,然后使用yum.pkg
,让Ubuntu使用apt
?
答案 0 :(得分:1)
您可以为此使用pkg.uptodate
update_pkg:
pkg.uptodate:
- refresh : True
答案 1 :(得分:0)
由于pkg.upgrade
是一个执行模块,您正在收到错误,您正在尝试从状态文件中运行它。执行模块是salt命令调用的功能,不能直接从states
执行。
但是,您可以使用module.run来允许通过状态进行execution module调用,
upgrades:
module.run:
- pkg.upgrade
....
另一种方法是利用states.pkg
中的某些内容,例如states.pkg.uptodate,
salt.states.pkg.uptodate(name, refresh=False, pkgs=None, **kwargs)
确认系统是最新的。
名称:该名称没有功能价值,仅用作跟踪 参考
刷新:刷新软件包数据库,然后检查是否有新的 升级
pkgs:要升级的软件包列表