之前安装了一遍,到最后安装成功的时候出现了这种问题:
[root@localhost ~]# ansible webserver -m command -a 'uptime'
.....................................
ImportError: No module named _ssl
百度查了下,是因为python编译安装的时候没有安装openssl-devel的问题.
 
所以准备重头开始记录一下自己的安装过程。
安装过程可能会根据环境的不同有一些包的依赖,产生一些报错,
python的包都很好找,在https://pypi.python.org/pypi
右上角输入包名,就可以找到相应的安装包,下载安装便可以。
 
其实最简单的安装办法就是先安装setuotools 或 pip
然后:
    easy_install ansible
    pip install ansible
源码安装可以继续看下面
 
一,安装准备
1.安装ansible需要使用的一些包:
yum install openssl-devel libffi-devel zlib-devel gcc -y
 
2.下载python2.7,编译安装: 
[root@localhost ~]# tar zxf Python-2.7.8.tgz
[root@localhost ~]# cd Python-2.7.8
[root@localhost Python-2.7.8]# vim Modules/Setup.dist
# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
#SSL=/usr/local/ssl
_ssl _ssl.c \
        -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
        -L$(SSL)/lib -lssl -lcrypto
[root@localhost Python-2.7.8]# ./configure --prefix=/usr/local/
[root@localhost Python-2.7.8]# make --jobs=`grep processor /proc/cpuinfo | wc -l`  &&  make install
 
3.修改下默认的python命令(使系统默认python升级到2.7)
 
## 将python头文件拷贝到标准目录,以避免编译ansible时,找不到所需的头文件
[root@localhost Python-2.7.8]# cd /usr/local/include/
[root@localhost python2.7]# cp * ../
 

## 备份旧版本的python,并符号链接新版本的python

[root@localhost bin]# mv python python2.6
mv: overwrite `python2.6'? y
[root@localhost bin]# ln -s /usr/local/bin/python
 
## 修改yum脚本,使其指向旧版本的python,已避免其无法运行
[root@localhost bin]# vim /usr/bin/yum
#!/usr/bin/python  -->  #!/usr/bin/python2.6
二、安装过程:
1.安装setuptools模块安装
[root@localhost ~]# tar zxf setuptools-25.1.6.tar.gz
[root@localhost ~]# cd setuptools-25.1.6
[root@localhost setuptools-25.1.6]# python setup.py install
2.安装 pycrypto模块:
[root@localhost ~]# tar zxf pycrypto-2.6.1.tar.gz
[root@localhost ~]# cd pycrypto-2.6.1
[root@localhost pycrypto-2.6.1]# python setup.py install
3.安装PyYAML模块
[root@localhost ~]# tar zxf PyYAML-3.11.tar.gz
[root@localhost ~]# cd PyYAML-3.11  
[root@localhost PyYAML-3.11]# python setup.py install
......
build/temp.linux-x86_64-2.7/check_libyaml.c:2:18: error: yaml.h: No such file or directory
build/temp.linux-x86_64-2.7/check_libyaml.c: In function ‘main’:
build/temp.linux-x86_64-2.7/check_libyaml.c:5: error: ‘yaml_parser_t’ undeclared (first use in this function)
build/temp.linux-x86_64-2.7/check_libyaml.c:5: error: (Each undeclared identifier is reported only once
build/temp.linux-x86_64-2.7/check_libyaml.c:5: error: for each function it appears in.)
build/temp.linux-x86_64-2.7/check_libyaml.c:5: error: expected ‘;’ before ‘parser’
.............
 
因为报错,所以先安装yaml 模块
[root@localhost ~]# tar zxf yaml-0.1.5.tar.gz
[root@localhost ~]# cd yaml-0.1.5
[root@localhost yaml-0.1.5]# ./configure --prefix=/usr/local/
[root@localhost yaml-0.1.5]# make && make install
 
继续安装
[root@localhost ~]# cd PyYAML-3.11  
[root@localhost PyYAML-3.11]# python setup.py install
 
4.安装Jinja2模块
[root@localhost ~]# tar zxf Jinja2-2.8.tar.gz
[root@localhost ~]# cd Jinja2-2.8
[root@localhost Jinja2-2.8]# python setup.py install
 
5.安装paramiko模块
[root@localhost ~]# tar zxf paramiko-2.0.2.tar.gz
[root@localhost ~]# cd paramiko-2.0.2
[root@localhost paramiko-2.0.2]# python setup.py install
6.安装simplejson模块
[root@localhost ~]# tar zxf simplejson-3.8.2.tar.gz
[root@localhost ~]# cd simplejson-3.8.2
[root@localhost simplejson-3.8.2]# python setup.py install
7.安装ansible模块
[root@localhost ~]# tar xf v1.7.2
[root@localhost ~]# cd ansible-1.7.2/
[root@localhost ansible-1.7.2]# python setup.py install
 
至此安装已经完成了,这次安装比较顺利
我第一次安装的时候,出现了好多的包依赖,下面是我第一次安装过程中所用的包地址:
 
 
三、ansible的基本使用
ansible <pattern_hosts> -m <module_name> -a <arguments>
1.远程命令模块
command      //远程执行shell命令
scripts           //scp + shell
shell             //执行远程主机的shell脚本
eg:
ansible webserver -m command -a "uptime"
2.copy模块
ansible webserver -m copy -a "src=  dest=  owner=  group= mode= "
3.stat模块
4.get_url
5.yum模块
ansible webserver -m yum -a "name=    state= "
ansible webserver -m apt -a "name=    state= "
6.cron
ansible webserver -m cron -a "name='check dirs' hour='5.2'  job='ls -alh > /dev/null'"
7.mount
ansible webserver -m mount -a "name=/mnt src=/dev/sdb fstype=ext4 opts=ro state=present"
8.service
ansible webserver -m service -a "name=httpd state=stopped"
9.sysctl
10.user
ansible webserver -m user -a "name=dayuan comment='dayuanhello'"            //添加用户
ansible webserver -m user -a "name=dayuan state=absent removes=yes"       //删除用户
 

ansible的安装过程 和基本使用的更多相关文章

  1. Ansible的安装与使用初探

    一.环境准备 网络配置 管理端:192.168.237.201 受控端:192.168.237.202.192.168.237.203(一共2台) 硬件信息 CPU:1核 内存:512MB 磁盘:10 ...

  2. 运维自动化之ansible的安装与使用 转

    运维自动化之ansible的安装与使用 随着服务器数量的增长,我们需要一个批量工具去提高工作效率,之前用的是puppet,ansible的简单,适用让我眼前一亮,决定写一篇ansible从安装到基本配 ...

  3. ansible一键安装GreatSQL并构建MGR集群

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 利用ansible一键安装GreatSQL并完成MGR部署. 本次介绍如何利用ansible一键安装GreatSQL并完成 ...

  4. webstorm下载&&安装过程&&打开项目

    一.webstorm下载 WebStorm 是jetbrains公司旗下一款JavaScript 开发工具.被广大中国JS开发者誉为"Web前端开发神器"."最强大的HT ...

  5. vagrant 1.8.6 安装过程及总结遇到的坑

    下面先总结遇到的问题,这些问题如果你也遇到,可能需要搜索很多次才能找到原因. 如果想看安装过程,可以先直接跳到后面第二部分部分. 1 问题汇总: 1.1 vagrant版本过高问题. vagrant ...

  6. 安装过程错误[INS-30131]

    问题:Oracle Database 安装过程错误[INS-30131]   原因:安装用户没有对临时文件夹的读写权限   解决方案:   1.以管理员身份运行cmd.exe 2.输入命令(需启动Se ...

  7. TortoiseGIT的安装过程详解

    TortoiseGIT简介 TortoiseGIT 是Git版本控制系统的一个免费开源客户端,它是git版本控制的 Windows 扩展.可以使你避免使用枯燥而且不方便的命令行.它完全嵌入 Windo ...

  8. RabbitMQ 集群安装过程详解

    一.安装Erlang 1.rabbitMQ是基于erlang的,所以首先必须配置erlang环境. 从erlang官网下载 otp 18.3.下载链接:http://erlang.org/downlo ...

  9. JAVA安装过程中出现的“javac不是内部或外部指令”的解决方法

    近来重新安装了JAVA,安装过程中出现问题,网上找到解决办法,汇总发布. 解决流程: 1.确定自己的环境变量设置没问题,没有出现遗漏 : . 等情况 (具体环境变量设置百度) 2.环境变量设置后 ,d ...

随机推荐

  1. poj2895

    题解: splay,维护当前第k大 并查集维护当前集合 合并x,y时,del(num[x]),del(num[y]),insert(num[x]+num[y]) 代码: #include<cst ...

  2. 特征选择: 卡方检验、F 检验和互信息

    特征选择是特征工程中的重要一环,其主要目的是从所有特征中选出相关特征 (relevant feature),或者说在不引起重要信息丢失的前提下去除掉无关特征 (irrelevant feature) ...

  3. PHP实现日志处理类库 - 【微信开发之微电商网站】技术笔记之二

    继上篇文章[微信开发之微电商网站]技术笔记之一,昨日做了日志处理的功能. 对于现在的应用程序来说,日志的重要性是不言而喻的.很难想象没有任何日志记录功能的应用程序运行在生产环境中.日志所能提供的功能是 ...

  4. ESXi6.5中将虚拟机从厚置备转换为精简置备

    本文来自:https://blog.csdn.net/wangjingkaibear/article/details/77097041 用ESXi做虚拟化,创建了一个原始虚拟机并安装好系统做好基本设置 ...

  5. Python seek和tell

    f = open("胡辣汤", mode="r+", encoding="utf-8") f.seek(0,2) # 移动到末尾 conte ...

  6. WebStrom 多项目展示及vuejs插件安装

    2. Vuejs 插件安装: ① ②

  7. Android 搭建ssh服务

    ## 搭建步骤: 1. 下载dropbear源码 下载源码有几个选择: 到dropbear官网下载源码.不过这里的源码是没有Android.mk文件的需要自行编写 到AOSP(android open ...

  8. 最大似然估计和最大后验概率MAP

    最大似然估计是一种奇妙的东西,我觉得发明这种估计的人特别才华.如果是我,觉得很难凭空想到这样做. 极大似然估计和贝叶斯估计分别代表了频率派和贝叶斯派的观点.频率派认为,参数是客观存在的,只是未知而矣. ...

  9. 20155229 2016-2017-2 《Java程序设计》第八周学习总结

    20155229 2016-2017-2 <Java程序设计>第八周学习总结 教材学习内容总结 第十四章 NIO使用频道(Channel)来衔接数据节点,在处理数据时,NIO可以设定缓冲区 ...

  10. PHP vs Node.js

    网络正在处于一个日新月异的发展时代.服务器端开发人员在选择语言的时候非常困惑,有长期占主导地位的语言,例如C.Java和Perl,也有专注于web开发的语言,例如Ruby.Clojure和Go.只要你 ...