suse 12 sp3 利用shell脚本离线编译安装ansible
# 测试环境是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的更多相关文章
- ansible配合shell脚本批量编译安装python3.6.6
[root@node1:/etc]# tree /etc/ansible/ /etc/ansible/ ├── ansible.cfg ├── hosts ├── python.yml └── rol ...
- 利用shell脚本或者php移动某个文件夹下的文件到各自的日期组成的目录下
背景是这样的:网站一开始访问量比较小,大家就把所有的图片文件上传到一个目录下(比如是/data/images/).后来访问量大了,图片也多了,这样就影响读取效率.所以有个这样的需求,把这些个图片文件移 ...
- 利用shell脚本实现计划任务功能 V1.2
2013.05.10 mytask 1.2 主程序休眠时间分成若干小的时间片断分段休眠,避免长时间的休眠不能及时响应系统信号. 2013.05.07 mytask 1.1 昨天发布了mytask1. ...
- 利用shell脚本去备份幸运28源码搭建下载所指定的数据库
#! /bin/bash幸运28源码搭建下载Q[115288oo99]logintool=/home/yx/server/mysql/mysql/bin/mysqldumptool=/home/yx/ ...
- 利用shell脚本个性化运行jar任务
利用shell脚本可以个性化运行jar任务,废话不多说,直接上代码: #!/bin/bash APP_PATH=/root/bigdata/jars/data_migration_from_sqlse ...
- 利用shell脚本将Oracle服务器中数据定时增量刷新到ftp服务器中
现有需求:将oracle数据库中的数据准实时同步至某ftp服务器中,以便前端应用能定时从ftp服务器目录中取增量数据 方法:将加工脚本写为存储过程,然后利用shell脚本执行该存储过程并将增量数据导出 ...
- shell编程系列24--shell操作数据库实战之利用shell脚本将文本数据导入到mysql中
shell编程系列24--shell操作数据库实战之利用shell脚本将文本数据导入到mysql中 利用shell脚本将文本数据导入到mysql中 需求1:处理文本中的数据,将文本中的数据插入到mys ...
- 16、编译安装ansible
16.1.python版本说明: Ansible是一种批量部署工具,现在运维人员用的最多的三种开源集中化管理工具有:puppet,saltstack,ansible,各有各的优缺点, 其中saltst ...
- 利用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可 ...
随机推荐
- BeanUtils.copyProperties 选择性赋值字段
BeanUtils.copyProperties 在字段赋值上有强大的功能,如果有两个的类,如果需要将相同的字段赋值,就可以直接赋制.而不需要每个字段都需要一个一个赋制. BeanUtils.copy ...
- 在变压器厂中使用 ISA-95 应用程序进行调度集成
介绍 在工业批量和连续生产/运营环境中,调度涉及将诸如罐.反应器和其他加工设备之类的资源分配给生产/运营任务.第 4 层生产/运营计划确定要制造什么产品.要制造多少产品以及何时制造.根据设备.物料.人 ...
- kafka学习笔记(四)kafka的日志模块
概述 日志段及其相关代码是 Kafka 服务器源码中最为重要的组件代码之一.你可能会非常关心,在 Kafka 中,消息是如何被保存和组织在一起的.毕竟,不管是学习任何消息引擎,弄明白消息建模方式都是首 ...
- 机器学习&恶意代码静态检测
目录 分析工具 方法概述 二进制灰度图 字节(熵)直方图 字符串信息 ELF结构信息 源码分析与OPcode FCG references: 分析工具 readelf elfparser ninja ...
- 为什么char类型输入遇空格会结束,int类型必须要空格才能输出
char类型与int类型输入时的区别: 在C语言的规则中,规定了scanf函数在接收字符串时--遇到空格或回车就认为前面的输入已经完成且有效! 而对于int类型:表示整数,输入时需要用空格隔开,以确认 ...
- 01-JS中字面量与变量
01-JS中字面量与变量 一.直接量(字面量) 字面量:英语叫做literals,也做直接量,看见什么,它就是什么. (一)数字的字面量 数字的字面量,就是这个数字自己,并不需要任何的符号来界定这个数 ...
- Cesium参考资源
Reference resources cesium官网 cesium 下载 cesium官方文档 APIs cesium-workshop github cesium 官方示例 cesium git ...
- DDD从入门到精通:基础篇
这篇文章主要还是表述清楚DDD相关的基础概念,因为DDD入门有一定的专业名词,还是得有个基本的了解. 先讲解下领域模型作用: 对软件需求进行设计,维持其内在逻辑的一致性 1)划分边界.也是一种高内聚. ...
- 集合框架-ListIterator接口
1 package cn.itcast.p4.list.demo; 2 3 import java.util.ArrayList; 4 import java.util.Iterator; 5 imp ...
- HTML(前端web)
目录 一:HTML前端 1.什么是前端? 2.什么是后端? 3.什么是HTML? 4.HTML不是什么? 5.前端的学习流程 6.BS架构 7.搭建服务器 简易(浏览器访问) 8.浏览器访问报错原因 ...