python安装lap_一个python脚本解决安装mq的依赖问题
import tarfile
import sys,os
from _utils.patrol2 import run_cmd
import zipfile
def get_version(filename):
cmd="rpm -U {}".format(filename)
code,res=run_cmd(cmd,cwd=pkg_unzip_path)
if 'is already installed' in res or '已安装' in res:
return True
else:
return False
def install_pkg(filename):
cmd = "yum -y localinstall {}".format(filename)
code,res=run_cmd(cmd,cwd=pkg_unzip_path)
if code:
print res
sys.exit(1)
if get_version(filename):
return True
else:
return False
def extract(tar_path, target_path):
try:
tar = tarfile.open(tar_path, "r:gz")
file_names = tar.getnames()
for file_name in file_names:
tar.extract(file_name, target_path)
tar.close()
except Exception, e:
print Exception, e
sys.exit(1)
def search(path, word):
for filename in os.listdir(path):
fp = os.path.join(path, filename)
if os.path.isfile(fp) and word in filename:
return filename
elif os.path.isdir(fp):
search(fp, word)
return False
def unpack_zip(filename, destpath, fix_path=None):
zf_obj = zipfile.ZipFile(filename)
if destpath.endswith(':'):
destpath = destpath + os.sep
zf_obj.extractall(path=destpath)
zf_obj.close()
if fix_path:
destpath = os.path.join(destpath, fix_path)
return destpath
if pkg_file.endswith('.gz'):
extract(pkg_file, pkg_unzip_path)
elif pkg_file.endswith('.zip'):
pkg_name=pkg_name.split('.zip')[0]
pkg_unzip_path=unpack_zip(pkg_file, pkg_unzip_path,fix_path=pkg_name)
print '-->解压成功'
code,res=run_cmd('chmod 755 ./lap/jre/jre/bin/java', cwd=pkg_unzip_path)
if code:
print 'java执行权限赋权失败',res
sys.exit(1)
else:
print 'java执行权限赋权成功'
#接受授权认证
cmd = "sh mqlicense.sh<
code,res = run_cmd(cmd,cwd=pkg_unzip_path)
if code:
print res
sys.exit(1)
else:
print res
print '-->权限认证成功'
#1、安装系统依赖包
print '开始安装rpm包,请等待'
names=["MQSeriesRuntime","MQSeriesSDK","MQSeriesJava","MQSeriesClient","MQSeriesSamples","MQSeriesServer"]
for name in names:
filename=search(pkg_unzip_path, name)
if not filename:
print '{}相关的包不存在'.format(name)
sys.exit(1)
elif get_version(filename):
print '{}已安装'.format(filename)
elif filename and not get_version(filename):
res=install_pkg(filename)
if res:
print '安装{}成功'.format(filename)
else:
print '安装{}失败'.format(filename)
sys.exit(1)
print '-->依赖包安装成功'
#2、修改系统limits参数
with open('/etc/security/limits.conf','a') as f:
f.write("mqm soft nofile 10240\nmqm hard nofile 10240\nmqm soft nproc 4096\n")
print '-->修改系统limits参数成功'
#3、修改系统核心参数
with open('/etc/sysctl.conf','a') as f:
f.write("kernel.sem = 500 256000 250 1024\nfs.file-max = 524288\nnet.ipv4.tcp_keepalive_time = 300\n")
cmd = "sysctl -p"
code,res=run_cmd(cmd,cwd=pkg_unzip_path)
if 'kernel.sem = 500 256000 250 1024\nfs.file-max = 524288\nnet.ipv4.tcp_keepalive_time = 300' in res:
print '-->修改系统核心参数成功'
else:
print '-->修改系统核心参数失败'
sys.exit(1)
python安装lap_一个python脚本解决安装mq的依赖问题相关推荐
- Python 开篇及第一个Python程序
本节内容 python 简单介绍 python 2.x 或者python 3.x python 安装 第一个python程序 一.python简单介绍 python的创始人为吉多.范罗苏姆(Guido ...
- python中tensorflow无法使用_完美解决安装完tensorflow后pip无法使用的问题
Win8,ANACONDA3(64-bit),Python3.6.2.ANACONDA Prompt中不能用pip命令安装包,并且是在安装了TensorFlow后才发生的. 报错如下: F:\360D ...
- linux python复制安装,复制一个Python全部环境到另一个环境,python另一个,导出此环境下安装的包...
复制一个Python全部环境到另一个环境,python另一个,导出此环境下安装的包 导出此环境下安装的包的版本信息清单pipfreeze>requirements.txt联网,下载清单中的包到a ...
- python sdk怎么用_如何使用七牛Python SDK写一个同步脚本及使用教程
七牛云存储的 Python 语言版本 SDK(本文以下称 Python-SDK)是对七牛云存储API协议的一层封装,以提供一套对于 Python 开发者而言简单易用的开发工具.Python 开发者在对 ...
- 用 Python + itchat 写一个爬虫脚本每天定时给女朋友发微信暖心话
项目介绍: 灵感来源 在掘金看到了一篇<用Node+wechaty写一个爬虫脚本每天定时给女(男)朋友发微信暖心话>后,我就想为什么不用 Python 去实现这个功能呢. JUST TO ...
- python脚本中执行另一个脚本_如何用python调用另一个python脚本?
如果想要将已经设置好的内容,在转移到另一个位置要怎么做呢?小编能写到的方法有,照抄,复制,以及转移使用.在我们日常办公上是非常好理解的,就是ctr v,但是如果想在编程上,将某一位置拿去到别的项目上使 ...
- python基础-第一个python程序
前言 上一章中,我们介绍了怎么去安装python环境,作为我们入门python的先决条件,今天,我们通过编写第一个python应用程序的方式,正式进入python的大门. 首先,关于python,有两 ...
- python如何运行一个python程序_python如何运行?第一个python小程序示范
我们想要用python编程首先要做的就是安装一些工具,随后学会应用.那么问题来了,我们需要安装什么?python又是怎样运行的呢? 安装什么工具? 1.Python 3.6.5(我安装的,还有很多版本 ...
- 安装VMWare tools,以及解决安装后/mnt中有hgfs但没共享文件的方法
一.首先是安装VMWare tools 安装过程可参考:http://www.cnblogs.com/jiu0821/p/7559949.html 二.解决安装VMWare tools后/mn ...
最新文章
- 正则表达式笔记(谷歌分析自定义报告)
- 【大数据-Hadoop】Hive
- SAP CRM, C4C和Hybris的后台作业
- icem网格划分如何给内部面网格_icem结构化网格划分 ICEM里面设置一下就可以自动划分网格,为什么要用块?...
- 再谈节奏与动力---平淡与枯燥的力量
- Java常用数据类型
- FT1248开发笔记
- mysql大于等于怎么写_MySQL 对于千万级的大表要怎么优化?我写了6000字的深度解读...
- 文件浏览器及数码相框 -2.3.2-freetype_arm-1
- 在手动安装 Kubernetes 的基础上搭建微服务
- 一个字等于多少字节?
- 西北农林科技大学CSDN高校俱乐部运营策划书
- Python练手小项目(名片管理系统<第二部分>)
- jpg图片转换成PDF转换器免费版使用
- 个人手机网站接入支付宝在线收款功能
- 佳能软件不用光盘安装升级包的方法
- 【人工智能】3.谓词与机器推理
- 电脑控制手机 教你实现多个手机同时打开关闭软件
- Windows 11打印测试页
- 服务器中病毒要不要重装系统,五种情况必须要给电脑重装系统,这三种不用重做系统,别被骗了!...
热门文章
- 带有Python示例的math.cos()方法
- synchronized 中的 4 个优化,你知道几个?
- VS2010 error C299: “Font”:“struct”类型重定义
- python深度神经网络算法_02.深度神经网络算法之Python基础与数据分析
- matlab去除图片水印_(水印去除技巧)3个在线图片水印去除网站,值得收藏
- python同时输出两个数组_python中实现将多个print输出合成一个数组
- 密度图的密度估计_不同类型的二维密度图小教程
- mysql max字符串报错_mysql [Warning] max_join_size报错问题解决办法
- python三种变量方式_python2.x 3种变量形式调用
- mysql数据库的三级模式_2016年计算机三级MySQL数据库试题