saltstack模块之pkg相关模块
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了saltstack模块之pkg相关模块相关的知识,希望对你有一定的参考价值。
1、pkg.available_version模块
pkg.available_version: 返回所查询软件包可供安装或更新的最新版本。如果指定多个软件包,则以字典的形式输出返回结果。
[[email protected] ~]# salt ‘*‘ pkg.available_version httpd salt-minion02.contoso.com: 2.2.15-59.el6.centos salt-minion01.contoso.com: 2.2.15-59.el6.centos [[email protected] ~]# salt ‘*‘ pkg.available_version httpd nginx pcre salt-minion02.contoso.com: ---------- httpd: 2.2.15-59.el6.centos nginx: 1.10.2-1.el6 pcre: 7.8-7.el6 salt-minion01.contoso.com: ---------- httpd: 2.2.15-59.el6.centos nginx: 1.10.2-1.el6 pcre: 7.8-7.el6 [[email protected] ~]# salt ‘*‘ pkg.available_version nginx fromrepo=epel salt-minion02.contoso.com: 1.10.2-1.el6 salt-minion01.contoso.com: 1.10.2-1.el6
2、pkg.version模块
pkg.version:返回minion端软件包的版本号,如果没有安装该软件包,则返回空。如果同时查询多个软件包,则将软件包的名字和版本号以字典的方式返回。
[[email protected] ~]# salt ‘*‘ pkg.version lrzsz salt-minion01.contoso.com: 0.12.20-27.1.el6 salt-minion02.contoso.com: 0.12.20-27.1.el6 [[email protected] ~]# salt ‘*‘ pkg.version lrzsz gcc salt-minion01.contoso.com: ---------- gcc: 4.4.7-17.el6 lrzsz: 0.12.20-27.1.el6 salt-minion02.contoso.com: ---------- gcc: 4.4.7-17.el6 lrzsz: 0.12.20-27.1.el6
3、pkg.list_pkgs模块
pkg.list_pkgs:列出已安装的软件包,返回结果为包含包名和版本号的字典。
[[email protected] ~]# salt ‘salt-minion01.contoso.com‘ pkg.list_pkgs salt-minion01.contoso.com: ---------- ConsoleKit: 0.4.1-3.el6 ConsoleKit-libs: 0.4.1-3.el6 ConsoleKit-x11: 0.4.1-3.el6 GConf2: 2.28.0-6.el6 MAKEDEV: 3.24-6.el6 ORBit2: 2.14.17-3.2.el6_3 PyYAML: 3.10-3.1.el6 .....
4、pkg.install模块
pkg.install: 安装相对应的软件包,加上refresh=True可以在安装前清理yum数据库。
name: 软件包的名称,例如:salt ‘*‘ pkg.install httpd
refresh: 在执行安装操作前是否进行更新yum数据库,例如:salt ‘*‘ pkg.install httpd refresh=True
reinstall: 通过指定reinstall的值True/False来决定是否重新安装指定的软件包,相当于yum reinstall操作。如果指定了软件包的版本,那么只有在指定版本号和已安装的版本号相同的情况下才能使用yum reinstall。可以连同sources一同使用,前提是软件包来源的头部要和已经安装的软件包名称和版本号匹配。
skip_verify:跳过GPG检查,同yum install的--nogpgcheck选项。
version:指定安装包的版本,如果同时传了“pkgs”和“sources”选项,那么version参数无效。
Repository相关选项:
fromrepo:指定从哪个(些)repo仓库进行安装。
enablerepo:启用已被禁用的repo仓库。
disablerepo:禁用已被启用的repo仓库。
disableexcludes:禁用从main中引用,可能是repo或其他的引用,相当于yum --disableexcludes=‘main‘。
批量安装软件包选项:
pkgs:指定要从repo仓库中安装软件的列表,需要传一个Python列表。可以通过使用包含软件包和版本的单一字典指定软件包的版本号。
例如:salt ‘*‘ pkg.install pkgs=‘["lrzsz", "tree"]‘
salt ‘*‘ pkg.install pkgs=‘["gcc", {"lrzsz": "0.12.20-27.1.el6"}]‘
sources:要安装的RPM包的列表。必须要传一个字典列表,包含RPM包名称的键,并且RPM包的源URL或者本地路径作为键值。
例如:salt ‘*‘ pkg.install sources=‘[{"foo": "salt://foo.rpm"}, {"bar": "salt://bar.rpm"}]‘
相关示例如下:
[[email protected] ~]# salt ‘salt-minion01.contoso.com‘ pkg.install tcpdump salt-minion01.contoso.com: ---------- tcpdump: ---------- new: 14:4.0.0-11.20090921gitdf3cb4.2.el6 old: 14:4.0.0-3.20090921gitdf3cb4.2.el6 [[email protected] ~]# salt ‘salt-minion02.contoso.com‘ pkg.install tcpdump refresh=True salt-minion02.contoso.com: ---------- tcpdump: ---------- new: 14:4.0.0-11.20090921gitdf3cb4.2.el6 old: 14:4.0.0-3.20090921gitdf3cb4.2.el6 [[email protected] ~]# salt ‘salt-minion02.contoso.com‘ pkg.install tcpdump reinstall=True salt-minion02.contoso.com: ---------- tcpdump: ---------- new: 14:4.0.0-11.20090921gitdf3cb4.2.el6 old: 14:4.0.0-11.20090921gitdf3cb4.2.el6 [[email protected] ~]# salt ‘salt-minion02.contoso.com‘ pkg.install pcre fromepel=epel #使用fromrepo反而无法安装,使用fromepel=选项反而可以安装(使用的salt版本是salt-master-2015.5.10-2.el6.noarch) salt-minion02.contoso.com: ---------- pcre: ---------- new: 7.8-7.el6 old: 7.8-6.el6 [[email protected] ~]# salt ‘salt-minion01.contoso.com‘ pkg.install nfs-utils fromepel=CentOS-Base salt-minion01.contoso.com: ---------- libtirpc: ---------- new: 0.2.1-13.el6_9 old: 0.2.1-6.el6_4 nfs-utils: ---------- new: 1:1.2.3-75.el6 old: 1:1.2.3-39.el6 python-argparse: ---------- new: 1.2.1-2.1.el6 old: [[email protected] ~]# salt ‘salt-minion02.contoso.com‘ pkg.install pkgs=‘["lrzsz","tree"]‘ re install=True salt-minion02.contoso.com: ---------- lrzsz: ---------- new: 0.12.20-27.1.el6 old: 0.12.20-27.1.el6 tree: ---------- new: 1.5.3-3.el6 old: 1.5.3-3.el6 [[email protected] ~]# salt ‘salt-minion02.contoso.com‘ pkg.install sources=‘[{"zabbix-release": "http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm"}]‘ salt-minion02.contoso.com: ---------- zabbix-release: ---------- new: 3.0-1.el6 old:
5、pkg.upgrade模块
pkg.upgrade:更新系统已安装的软件包,返回一个包含报名以及升级前后新旧版本号的词典。用法:salt ‘*‘ pkg.upgrade (因为升级系统比较耗时,这里不再添加演示示例)
Repository选项:
fromrepo:指定从哪个(些)repo仓库进行安装。
enablerepo:启用已被禁用的repo仓库。
disablerepo:禁用已被启用的repo仓库。
disableexcludes:禁用从main中引用,可能是repo或其他的引用,相当于yum --disableexcludes=‘main‘。
6、pkg.remove模块
pkg.remove:移除软件包
name:指定要移除的软件包。
批量移除选项:
pkgs:指定要批量移除的软件包列表。必须传入一个Python列表,如果该选项被启用,则name选项被忽略。
[[email protected] ~]# salt ‘salt-minion02.contoso.com‘ pkg.remove lrzsz salt-minion02.contoso.com: ---------- lrzsz: ---------- new: old: 0.12.20-27.1.el6 [[email protected] ~]# salt ‘salt-minion02.contoso.com‘ pkg.remove tcpdump,lrzsz salt-minion02.contoso.com: ---------- lrzsz: ---------- new: old: 0.12.20-27.1.el6 tcpdump: ---------- new: old: 14:4.0.0-11.20090921gitdf3cb4.2.el6 [[email protected] ~]# salt ‘salt-minion02.contoso.com‘ pkg.remove pkgs=‘["tcpdump","lrzsz","tree"]‘ salt-minion02.contoso.com: ---------- lrzsz: ---------- new: old: 0.12.20-27.1.el6 tcpdump: ---------- new: old: 14:4.0.0-11.20090921gitdf3cb4.2.el6 tree: ---------- new: old: 1.5.3-3.el6
本文出自 “IT小二郎” 博客,请务必保留此出处http://jerry12356.blog.51cto.com/4308715/1932011
以上是关于saltstack模块之pkg相关模块的主要内容,如果未能解决你的问题,请参考以下文章
SaltStack 常用模块介绍 - service - pkg - file