ansible使用包管理模块

一般使用的包管理模块的RPM,和YUM

参数

必填

默认

选择

说明

Conf_file

No

YUM的配置文件

Disable_dbg_check

No

No

Yes/no

是否开启验证

Disablerepo

No

禁用的仓库

Enablerepo

No

启用的仓库

List

No

非幂等性命令

Name

Yes

包名称

State

No

Present

Present/installed

Latest/absent

Removed

是否插入(present,installed,latest),移除

(absent/removed)包

1.1 安装最新的包

[root@ansibleserver tmp]# ansible pythonserver -m yum -a "name=httpd state=latest"

SSH password:

192.168.1.60 | success >> {

"changed": true,

"msg": "",

"rc": 0,

"results": [

"Loaded plugins: product-id, security, subscription-manager\nUpdating certificate-based repositories.\nSetting up Install Process\nResolving Dependencies\n--> Running transaction check\n---> Package httpd.x86_64 0:2.2.15-15.el6 will be installed\n-->
Processing Dependency: httpd-tools = 2.2.15-15.el6 for package: httpd-2.2.15-15.el6.x86_64\n--> Processing Dependency: apr-util-ldap for package: httpd-2.2.15-15.el6.x86_64\n--> Running transaction check\n---> Package apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1
will be installed\n---> Package httpd-tools.x86_64 0:2.2.15-15.el6 will be installed\n--> Finished Dependency Resolution\n\nDependencies Resolved\n\n================================================================================\n Package           Arch      
Version                Repository            Size\n================================================================================\nInstalling:\n httpd             x86_64     2.2.15-15.el6          rhel-source-beta     808 k\nInstalling for dependencies:\n
apr-util-ldap     x86_64     1.3.9-3.el6_0.1        rhel-source-beta      15 k\n httpd-tools       x86_64     2.2.15-15.el6          rhel-source-beta      70 k\n\nTransaction Summary\n================================================================================\nInstall      
3 Package(s)\n\nTotal download size: 893 k\nInstalled size: 3.1 M\nDownloading Packages:\n--------------------------------------------------------------------------------\nTotal                                            25 MB/s | 893 kB     00:00     \nRunning
rpm_check_debug\nRunning Transaction Test\nTransaction Test Succeeded\nRunning Transaction\n\r  Installing : apr-util-ldap-1.3.9-3.el6_0.1.x86_64                         1/3 \n\r  Installing : httpd-tools-2.2.15-15.el6.x86_64                             2/3
\n\r  Installing : httpd-2.2.15-15.el6.x86_64                                   3/3 \nInstalled products updated.\n\nInstalled:\n  httpd.x86_64 0:2.2.15-15.el6                                                  \n\nDependency Installed:\n  apr-util-ldap.x86_64
0:1.3.9-3.el6_0.1   httpd-tools.x86_64 0:2.2.15-15.el6  \n\nComplete!\n"

]

}

查询之后发现已经安装,并且安装了最新版本

name表示需要安装的包名称,state为lastest,表示安装Apache的最新版本

1.2 移除包

[root@ansibleserver tmp]# ansible pythonserver -m yum -a "name=httpd state=absent"

SSH password:

192.168.1.60 | success >> {

"changed": true,

"msg": "",

"rc": 0,

"results": [

"Loaded plugins: product-id, security, subscription-manager\nUpdating certificate-based repositories.\nSetting up Remove Process\nResolving Dependencies\n--> Running transaction check\n---> Package httpd.x86_64 0:2.2.15-15.el6 will be erased\n-->
Finished Dependency Resolution\n\nDependencies Resolved\n\n================================================================================\n Package      Arch          Version              Repository                Size\n================================================================================\nRemoving:\n
httpd        x86_64        2.2.15-15.el6        @rhel-source-beta        2.9 M\n\nTransaction Summary\n================================================================================\nRemove        1 Package(s)\n\nInstalled size: 2.9 M\nDownloading Packages:\nRunning
rpm_check_debug\nRunning Transaction Test\nTransaction Test Succeeded\nRunning Transaction\n\r  Erasing    : httpd-2.2.15-15.el6.x86_64                                   1/1 \nInstalled products updated.\n\nRemoved:\n  httpd.x86_64 0:2.2.15-15.el6                                                 
\n\nComplete!\n"

]

}

移除安装包

1.3 指定repo来进行安装包

[root@ansibleserver tmp]# ansible pythonserver -m yum -a "name=httpd enablerepo=rhel state=present"

SSH password:

192.168.1.60 | FAILED >> {

"failed": true,

"msg": "Error setting/accessing repo rhel: Error getting repository data for rhel, repository not found"

}

在指定源的时候,使用enablerepo,注意这个名字是配置文件/etc/yum.repo.d/目录中文件的section的名称,如下所示:

[root@ansibleserver yum.repos.d]# cat rhel-source.repo |grep kel

[kel]

name=kel

baseurl=file:///tmp/kel

主要的就是使用这个repo的名字,section为[kel]

在上面的报错信息中,主要就是没有找到这个section

[root@ansibleserver ~]# ansible pythonserver -m yum -a "name=httpd enablerepo=kel state=present"

SSH password:

192.168.1.60 | success >> {

"changed": true,

"msg": "",

"rc": 0,

"results": [

"Loaded plugins: product-id, security, subscription-manager\nUpdating certificate-based repositories.\nSetting up Install Process\nResolving Dependencies\n--> Running transaction check\n---> Package httpd.x86_64 0:2.2.15-15.el6 will be installed\n-->
Finished Dependency Resolution\n\nDependencies Resolved\n\n================================================================================\n Package         Arch             Version                   Repository     Size\n================================================================================\nInstalling:\n
httpd           x86_64           2.2.15-15.el6             kel           808 k\n\nTransaction Summary\n================================================================================\nInstall       1 Package(s)\n\nTotal download size: 808 k\nInstalled size:
2.9 M\nDownloading Packages:\nRunning rpm_check_debug\nRunning Transaction Test\nTransaction Test Succeeded\nRunning Transaction\n\r  Installing : httpd-2.2.15-15.el6.x86_64                                   1/1 \nInstalled products updated.\n\nInstalled:\n 
httpd.x86_64 0:2.2.15-15.el6                                                  \n\nComplete!\n"

]

}

在上面例子中,可以看到直接进行了安装

1.4 指定版本进行安装包

[root@ansibleserver ~]# ansible pythonserver -m yum -a "name=httpd-2.2.15-15.el6.x86_64  state=present "

SSH password:

192.168.1.60 | success >> {

"changed": true,

"msg": "",

"rc": 0,

"results": [

"Loaded plugins: product-id, security, subscription-manager\nUpdating certificate-based repositories.\nSetting up Install Process\nResolving Dependencies\n--> Running transaction check\n---> Package httpd.x86_64 0:2.2.15-15.el6 will be installed\n-->
Finished Dependency Resolution\n\nDependencies Resolved\n\n================================================================================\n Package         Arch             Version                   Repository     Size\n================================================================================\nInstalling:\n
httpd           x86_64           2.2.15-15.el6             kel           808 k\n\nTransaction Summary\n================================================================================\nInstall       1 Package(s)\n\nTotal download size: 808 k\nInstalled size:
2.9 M\nDownloading Packages:\nRunning rpm_check_debug\nRunning Transaction Test\nTransaction Test Succeeded\nRunning Transaction\n\r  Installing : httpd-2.2.15-15.el6.x86_64                                   1/1 \nInstalled products updated.\n\nInstalled:\n 
httpd.x86_64 0:2.2.15-15.el6                                                  \n\nComplete!\n"

]

}

在进行name指定版本的时候,架构类型可以写也可以不写,也就是x86_64可以写或者不写都是可以的

在写上版本的时候,注意是l还是1,注意具体的版本型号,在实验的时候因为字母l和数字1导致很多时间被浪费,指定的具体版本无法进行安装

1.5 更新所有安装包

[root@ansibleserver ~]# ansible pythonserver -m yum -a "name=* state=latest"

1.6 指定rpm进行安装

[root@ansibleserver ~]# ansible pythonserver -m yum -a "name=/usr/local/src/kel.noarch.rpm state=present"

表示直接指定了一个rpm的位置,然后进行直接安装rpm

1.7 指定远程网址rpm进行安装

ansible pythonserver -m yum -a "name=http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6.0.el6.ngx.noarch.rpm  state=present"

直接指定一个远程网址来进行安装包

anible包模块管理的更多相关文章

  1. day17跨文件夹导入模块,模块的两种被执行方式,包,直接使用包中模块,包的管理

    复习 ''' 1.模块 -- 一系列功能的集合体,用文件来管理一系列有联系的功能,该文件我们称之为模块,文件名就是模块名 -- import | from...import 来导入模块,从而使用模块中 ...

  2. Python科学计算包模块的安装(ubuntu)

    Python的科学计算包设计到C语言代码的编译,采用pip的方式安装会出现错误. 一种简单的方式是采用的集成包,具体的步骤参考:https://www.continuum.io/downloads#_ ...

  3. [20150522]RPM包的管理

    RPM包的管理 RPM包的分类 RPM包可分为源码包和二进制包两类.源码包的主要优点是开源,如果有足够的能力,可以修改源代码,源码包可以自由选择所需要安装的功能,软件是编译安装,所以更加适合自己的系统 ...

  4. Webpack: 为Web开发而生的模块管理器[转]

    Webpack: 为Web开发而生的模块管理器 原文地址:http://hanjianwei.com/2014/09/10/webpack-package-manager-for-web/ 10 Se ...

  5. npm模块管理器入门

    什么是 NPM npm 是 Node 官方提供的包管理工具,他已经成了 Node 包的标准发布平台,用于 Node 包的发布.传播.依赖控制.npm 提供了命令行工具,使你可以方便地下载.安装.升级. ...

  6. Perl模块管理

    Perl模块管理 perl有自带的模块,还有第三方模块.自带的模块是随perl安装而安装好的,第三方模块需要从CPAN(Comprehensive Perl Archive Network)上下载并安 ...

  7. [Web 前端] 使用yarn代替npm作为node.js的模块管理器

    cp from : https://www.jianshu.com/p/bfe96f89da0e     Fast, reliable, and secure dependency managemen ...

  8. 每天记录一点:NetCore获得配置文件 appsettings.json vue-router页面传值及接收值 详解webpack + vue + node 打造单页面(入门篇) 30分钟手把手教你学webpack实战 vue.js+webpack模块管理及组件开发

    每天记录一点:NetCore获得配置文件 appsettings.json   用NetCore做项目如果用EF  ORM在网上有很多的配置连接字符串,读取以及使用方法 由于很多朋友用的其他ORM如S ...

  9. 使用yarn代替npm作为node.js的模块管理器

    使用yarn代替npm作为node.js的模块管理器 转 https://www.jianshu.com/p/bfe96f89da0e     Fast, reliable, and secure d ...

随机推荐

  1. RAID

    RAID(is short for redundant arrays of independent disks) 独立/廉价磁盘冗余阵列.基本思想:把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使 ...

  2. 深入理解Java内存模型(三)——顺序一致性

    数据竞争与顺序一致性保证 当程序未正确同步时,就会存在数据竞争.java内存模型规范对数据竞争的定义如下: 在一个线程中写一个变量, 在另一个线程读同一个变量, 而且写和读没有通过同步来排序. 当代码 ...

  3. sizeof()与strlen()的区别

    首先需要说明的是sizeof和strlen都可以求长度,但是却有很大的区别,简单来说可以概括为以下几点: 1.sizeof是一个关键字,而strlen确实一个函数. 2.sizeof求的是字节长度,而 ...

  4. Linux Java 环境变量设置

    对整个机器:所有用户 1,在/etc/profile 文件末尾加入 export JAVA_HOME=/var/opt/jdk1.7.0_04 export PATH=$JAVA_HOME/bin:$ ...

  5. [HDOJ2604]Queuing(递推,矩阵快速幂)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2604 递推式是百度的,主要是练习一下如何使用矩阵快速幂优化. 递推式:f(n)=f(n-1)+f(n- ...

  6. 上海二手房8月排名:链家、悟空找房、中原、太平洋、我爱我家、易居、房天下、iwjw、房多多、房好多、q房网、、、

    房产网站总结 链家: 悟空找房: 中原: 太平洋: 我爱我家: 易居: 房天下: iwjw:有较多二手房信息 链家称王 房多多领跑电商平台 近日,云房数据公布了8月上海房产中介成交数据,从排行榜来看, ...

  7. hdu 4810 Wall Painting (组合数学+二进制)

    题目链接 下午比赛的时候没有想出来,其实就是int型的数分为30个位,然后按照位来排列枚举. 题意:求n个数里面,取i个数异或的所有组合的和,i取1~n 分析: 将n个数拆成30位2进制,由于每个二进 ...

  8. XenServer6.2详细安装步骤

    系统要求 系统要求 XenServer 至少需要两台单独的 x86 物理计算机:一台用作 XenServer 主机,另一台用于运行XenCenter 应用程序. XenServer 主计算机完全专用于 ...

  9. windows下github pages + hexo next 搭建个人博客

    一.github pages 搭建个人博客一般需要购买域名和空间,github pages为我们提供了这两样东西,而且是免费的,相关介绍和使用方法参考这里 github pages. 二.Hexo 一 ...

  10. [CTO]创业团队CTO应具备的素质

    原文地址:http://www.cyzone.cn/a/20131001/245862_2.html [导读]CTO要让技术团队明白,公司不是请你来搞纯技术研发的,个别人可以纯技术导向,但整个团队的目 ...