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可 ...
随机推荐
- react子组件向父组件传值
子组件向父组件传值,注意父组件传递函数的时候必须绑定this到当前父组件(handleEmail={this.handleEmail.bind(this)}),不然会报错 /***实现在输入框输入邮箱 ...
- Android官方文档翻译 四 1.2Running Your App
Running Your App If you followed the previous lesson to create an Android project, it includes a def ...
- day5 数组对角线及最大值
1.输出M行M列数组方针,求对角线元素和#define M 5void fun(int xx[][M], int n)//n行n列{ int i = 0; int sum = 0; for (i = ...
- RBAC: K8s基于角色的权限控制
文章目录 RBAC: K8s基于角色的权限控制 ServiceAccount.Role.RoleBinding Step 1:创建一个ServiceAccount,指定namespace Step 2 ...
- Tomcat部署启动时发生错误
Tomcat启动后项目地址显示404:源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示. 严重: ContainerBase.addChild: start: org.apache. ...
- 【记录一个问题】cv::cuda::BufferPool发生assert错误
cv::cuda::setBufferPoolUsage(true); const int width = 512; const int height = 848; const int channel ...
- JavaCV推流实战(MP4文件)
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 2022GDUT寒训专题一J题
题目 题面 给你一个长度为 n的整数序列{A1,A2,⋯,A**n},要求从中找出一段连续的长度不超过 m的非空子序列,使得这个序列的和最大. 输入格式 第一行为两个整数 n,m: 第二行为 n个用空 ...
- C# 同步 异步 回调 状态机 async await Demo
源码 https://gitee.com/s0611163/AsyncAwaitDemo 为什么会研究这个? 我们项目的客户端和服务端通信用的是WCF,我就想,能不能用异步的方式调用WCF服务呢?或者 ...
- xargs、管道、exec区别
作者:ilexwg链接:https://www.zhihu.com/question/27452459/answer/170834758来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...