# 测试环境是suse 12 sp3的系统,机器都是内网使用的,安装ansible真的很难顶
# 测试环境使用的python版本:2.7.13-27
# 此脚本只在本人测试环境成功,其他环境,需要选择合适的版本(suse装ansible的版本真的很烦人)
# 需要提前准备的内容:机器内需要有 gcc 和 make (编译yaml目录的时候,需要用到的)
# 需要注意的版本:ansible依赖python-devel包,如果环境没有,需要先准备和自己环境可用的python-devel
# tar包下载地址:(可以根据提示的报错,修改url后缀的版本来获取相应的tar包)
# https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.6.2.tar.gz
# http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz
# https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.11.tar.gz
# https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-1.1.1.tar.gz
# https://pypi.python.org/packages/source/J/Jinja2/Jinja2.11.2.tar.gz
# https://pypi.python.org/packages/source/e/ecdsa/ecdsa-0.11.tar.gz
# https://pypi.python.org/packages/source/p/paramiko/paramiko-1.15.1.tar.gz
# https://pypi.python.org/packages/source/s/setuptools/setuptools-11.3.tar.gz
# https://releases.ansible.com/ansible/ansible-2.9.7.tar.gz
#!/bin/env bash
# system: suse 12
# use : offline install ansible
# time : 2020-11-17
# from : 半癫
set -e PWD=$(cd `dirname $0`; pwd)
pydev=$(rpm -qa python-devel | wc -l) devel_install(){
if [ $pydev -ge 1 ];
then
echo 'python-devel is installed'
else
echo 'starting install python-devel'
cd $PWD/packages/ && rpm -ivh python-devel-2.7.13-27.1.x86_64.rpm
if [ $pydev -ge 1 ];
then
echo 'python-devel install successful'
else
echo 'python-devel install failed'
fi
fi
} pycrypto_install(){
cd $PWD/packages/pycrypto-yb-2.6.2a103/ && \
python setup.py install && \
cd -
} yaml_install(){
cd $PWD/packages/yaml-0.1.5/ && \
./configure --prefix=/usr/local && \
make --jobs=`grep processor /proc/cpuinfo |wc -l` && \
make install && \
cd -
} pyyaml_install(){
cd $PWD/packages/PyYAML-3.11/ && \
python setup.py install && \
cd -
} setuptools_install(){
cd $PWD/packages/setuptools-11.3/ && \
python setup.py install && \
cd -
} markupsafe_install(){
cd $PWD/packages/MarkupSafe-1.1.1/ && \
python setup.py install && \
cd -
} jinja2_install(){
cd $PWD/packages/Jinja2-2.11.2/ && \
python setup.py install && \
cd -
} ecdsa_install(){
cd $PWD/packages/ecdsa-0.11/ && \
python setup.py install && \
cd -
} paramiko_install(){
cd $PWD/packages/paramiko-1.15.1 && \
python setup.py install && \
cd -
} ansible_install(){
cd $PWD/packages/ansible-2.9.7/ && \
python setup.py install && \
cd -
} ansible_example(){
mkdir $PWD/ansible
cp /etc/ansible/ansible.cfg $PWD/ansible
cp /etc/ansible/hosts $PWD/ansible
} main(){
devel_install
pycrypto_install
yaml_install
pyyaml_install
setuptools_install
markupsafe_install
jinja2_install
ecdsa_install
paramiko_install
ansible_install
ansible_example
} main

suse 12 sp3 利用shell脚本离线编译安装ansible的更多相关文章

  1. ansible配合shell脚本批量编译安装python3.6.6

    [root@node1:/etc]# tree /etc/ansible/ /etc/ansible/ ├── ansible.cfg ├── hosts ├── python.yml └── rol ...

  2. 利用shell脚本或者php移动某个文件夹下的文件到各自的日期组成的目录下

    背景是这样的:网站一开始访问量比较小,大家就把所有的图片文件上传到一个目录下(比如是/data/images/).后来访问量大了,图片也多了,这样就影响读取效率.所以有个这样的需求,把这些个图片文件移 ...

  3. 利用shell脚本实现计划任务功能 V1.2

    2013.05.10  mytask 1.2 主程序休眠时间分成若干小的时间片断分段休眠,避免长时间的休眠不能及时响应系统信号. 2013.05.07 mytask 1.1 昨天发布了mytask1. ...

  4. 利用shell脚本去备份幸运28源码搭建下载所指定的数据库

    #! /bin/bash幸运28源码搭建下载Q[115288oo99]logintool=/home/yx/server/mysql/mysql/bin/mysqldumptool=/home/yx/ ...

  5. 利用shell脚本个性化运行jar任务

    利用shell脚本可以个性化运行jar任务,废话不多说,直接上代码: #!/bin/bash APP_PATH=/root/bigdata/jars/data_migration_from_sqlse ...

  6. 利用shell脚本将Oracle服务器中数据定时增量刷新到ftp服务器中

    现有需求:将oracle数据库中的数据准实时同步至某ftp服务器中,以便前端应用能定时从ftp服务器目录中取增量数据 方法:将加工脚本写为存储过程,然后利用shell脚本执行该存储过程并将增量数据导出 ...

  7. shell编程系列24--shell操作数据库实战之利用shell脚本将文本数据导入到mysql中

    shell编程系列24--shell操作数据库实战之利用shell脚本将文本数据导入到mysql中 利用shell脚本将文本数据导入到mysql中 需求1:处理文本中的数据,将文本中的数据插入到mys ...

  8. 16、编译安装ansible

    16.1.python版本说明: Ansible是一种批量部署工具,现在运维人员用的最多的三种开源集中化管理工具有:puppet,saltstack,ansible,各有各的优缺点, 其中saltst ...

  9. 利用shell脚本统计文件中出现次数最多的IP

    比如有如下文件test.txt 1  134.102.173.43 2  134.102.173.43 3  134.102.171.42 4  134.102.170.9 要统计出现次数最多的IP可 ...

随机推荐

  1. BeanUtils.copyProperties 选择性赋值字段

    BeanUtils.copyProperties 在字段赋值上有强大的功能,如果有两个的类,如果需要将相同的字段赋值,就可以直接赋制.而不需要每个字段都需要一个一个赋制. BeanUtils.copy ...

  2. 在变压器厂中使用 ISA-95 应用程序进行调度集成

    介绍 在工业批量和连续生产/运营环境中,调度涉及将诸如罐.反应器和其他加工设备之类的资源分配给生产/运营任务.第 4 层生产/运营计划确定要制造什么产品.要制造多少产品以及何时制造.根据设备.物料.人 ...

  3. kafka学习笔记(四)kafka的日志模块

    概述 日志段及其相关代码是 Kafka 服务器源码中最为重要的组件代码之一.你可能会非常关心,在 Kafka 中,消息是如何被保存和组织在一起的.毕竟,不管是学习任何消息引擎,弄明白消息建模方式都是首 ...

  4. 机器学习&恶意代码静态检测

    目录 分析工具 方法概述 二进制灰度图 字节(熵)直方图 字符串信息 ELF结构信息 源码分析与OPcode FCG references: 分析工具 readelf elfparser ninja ...

  5. 为什么char类型输入遇空格会结束,int类型必须要空格才能输出

    char类型与int类型输入时的区别: 在C语言的规则中,规定了scanf函数在接收字符串时--遇到空格或回车就认为前面的输入已经完成且有效! 而对于int类型:表示整数,输入时需要用空格隔开,以确认 ...

  6. 01-JS中字面量与变量

    01-JS中字面量与变量 一.直接量(字面量) 字面量:英语叫做literals,也做直接量,看见什么,它就是什么. (一)数字的字面量 数字的字面量,就是这个数字自己,并不需要任何的符号来界定这个数 ...

  7. Cesium参考资源

    Reference resources cesium官网 cesium 下载 cesium官方文档 APIs cesium-workshop github cesium 官方示例 cesium git ...

  8. DDD从入门到精通:基础篇

    这篇文章主要还是表述清楚DDD相关的基础概念,因为DDD入门有一定的专业名词,还是得有个基本的了解. 先讲解下领域模型作用: 对软件需求进行设计,维持其内在逻辑的一致性 1)划分边界.也是一种高内聚. ...

  9. 集合框架-ListIterator接口

    1 package cn.itcast.p4.list.demo; 2 3 import java.util.ArrayList; 4 import java.util.Iterator; 5 imp ...

  10. HTML(前端web)

    目录 一:HTML前端 1.什么是前端? 2.什么是后端? 3.什么是HTML? 4.HTML不是什么? 5.前端的学习流程 6.BS架构 7.搭建服务器 简易(浏览器访问) 8.浏览器访问报错原因 ...