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
时间: 2024-07-28 18:50:45

saltstack模块之pkg相关模块的相关文章

saltstack模块之file相关模块

1.file.access模块 file.access:测试salt进程是否有对指定文件的对应访问权限. [[email protected] ~]# salt '*' file.access /etc/passwd f salt-minion02.contoso.com:     True salt-minion01.contoso.com:     True [[email protected] ~]# salt '*' file.access /etc/passwd r salt-mini

SaltStack源码分析之pkg状态模块

pkg状态模块使用各个操作系统自带的包管理工具来安装各种软件包,例如RedHat系列使用YUM安装软件包,Ubuntu使用apt-get安装等 /usr/lib/python2.6/site-packages/salt/states/pkg.py ''' Installation of packages using OS package managers such as yum or apt-get ================================================

saltstack使用指南----常用执行模块

saltstack常用执行模块: cron模块 archive模块 cmd模块 cp模块 dnsutil模块 file模块 group模块 network模块 service模块 pkg模块 user模块 一.cron模块: 功能:实现被控主机的crontab操作 [[email protected] ~]# salt '*' sys.list_functions cron izwz9f8xrvty50quc2gq50z: - cron.list_tab - cron.ls - cron.raw

JavaWeb网上图书商城完整项目--21.用户模块各层相关类的创建

1.现在要为user用户模块创建类 用户模块功能包括:注册.激活.登录.退出.修改密码. User类对照着t_user表来写即可.我们要保证User类的属性名称与t_user表的列名称完全相同. 我们来创建User类 package com.weiyuan.goods.user.domian; public class User { private String uid; //主键 private String loginname;// 登陆名称 private String loginpass

2、NS3-目录结构和相关模块

Waf是基于Python开发的编译工具,ns-3系统本身和将要写的仿真代码都由waf负责编译运行. Scratch目录一般存放用户脚本文件,也可以把要运行的例子拷贝到该目录下. Example是ns-3提供的关于如何使用ns-3的例子,包含许多模块的使用. Doc目录是帮助文档,可以使用./waf --doxygen编译本地Doxygen文档. Build目录是ns-3编译目录,包含编译文件时使用的共享库和头文件(build/ns3). Src是ns-3源码目录. 模块里面的wscript文件结

ansible 软件相关模块,剧本

软件相关模块 yum rpm和yum的区别 rpm:redhat package manager yum 可以解决依赖关系 yum 源配置 使用yum下载时需要先下载epel [epel] name=Extra Packages for Enterprise Linux 7 - $basearch #名字 baseurl=http://mirrors.aliyun.com/epel/7/$basearch #rpm源的地址,可以写http,https,ftp,Samba,file: failov

ansible 软件相关模块

一 yum 模块 1.yum配置源(/etc/yum.repos.d/epel.repo) 1 [epel] 2 name=Extra Packages for Enterprise Linux 7 - $basearch #名字 3 baseurl=http://mirrors.aliyun.com/epel/7/$basearch #rpm源的地址,可以写http,https,ftp,Samba,file: 4 failovermethod=priority 5 enabled=1 # 是否

Ansible 命令相关模块command, shell, raw, expect, script, telnet[转]

本文主要介绍Ansible的几个命令模块,包括: command - 在远程节点上执行命令 shell - 让远程主机在shell进程下执行命令 script - 将本地script传送到远程主机之后执行 raw - 执行低级的和脏的SSH命令 expect - 执行命令并响应提示 telnet - 执行低级的和脏的telnet命令 command模块 简介 command模块用于在给的的节点上运行系统命令,比如echo hello. 它不会通过shell处理命令,因此不支持像$HOME这样的变

ldd3-2 构造和运行模块:Hello World模块笔记

实验环境: 按照之前的搭建方法,已经在Ubuntu 5.04版本上构建了linux原始的2.6.10版本内核树: GCC是用的安装镜像自带的版本: 一切准备就绪后对虚拟机做了快照,防止内核损坏: 因为Ubuntu 5.04虚拟机下编程很麻烦,所以编码和调试都不在虚拟机下运行了: 编辑在windows下运行,然后把代码文件通过Xftp传输到虚拟机里: 调试的话通过Xshell: 笔记基本是按照书上小结的标题来的,每个标题能做实验的就做实验,理论性的就小结一下,不易过多记忆,因为没代码实践,理论也理