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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/559311.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言如何关闭线程,如何用C语言实现多线程

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼Windows操作系统&#xff0c;C语言实现多线程&#xff1a;#include #include DWORD APIENTRY ThreadOne ( LPVOID threadArg ){printf ( "线程开始啦&#xff0c;参数是&#xff1a;%s\n" , (char *)threadArg );return …

linux8安装bbr_CentOS 7安装4.9内核开启BBR

最新的4.9内核合并了Google研发的BBR TCP阻塞算法&#xff0c;使用效果大概可以跟锐速相比。待4.9正式版发出前&#xff0c;CentOS并没有4.9的RPM包。那么我们可以手动编译内核&#xff0c;安装并启用。注意&#xff1a;内存小于512M的机器在编译内核bzImage的时候会出现错误。…

Android怎么自定义充电铃声,安卓手机怎么自定义充电提示音_自定义安卓充电提示音教程_3DM手游...

安卓手机其实也是可以设置充电提示音的&#xff0c;我们只需要下载一个第三方软件&#xff0c;然后在APP中进行一些简单的设置&#xff0c;就可以实现自定义更换手机充电提示音了。安卓手机怎么自定义充电提示音&#xff1f;下面小编就为大家带来了详细的教程&#xff0c;希望能…

rfc方式的集成 sap_转载: 与SAP集成的接口方式比较:IDOC BAPI RFC 之间的区别

se37写出来的叫function,其中可以远程调用的叫rfc,remote-enabled function,abap语法和输入输出参数就会有一些限制。bapi是sap做好的实现特定业务操作的rfc。idoc是基于sap自己的类似xml格式的文档数据交换的方式。rfc必须在线的方式调用&#xff0c;一般做同步的&#xff0c;…

android logcat 根据包名过滤,adb logcat通过包名过滤(dos命令find后跟变量)

过滤条件&#xff1a;该app在运行实现原理&#xff1a;1、获取该app运行时的pid2、通过find命令&#xff0c;过滤pid的日志&#xff0c;就是该包的运行日志实现&#xff1a;1、在同一目录建立一文件&#xff1a;getpid.batecho offadb shell "ps | grep com.example.testp…

流浪的python博客园_python学习心得第一章

初始python1什么是程序计算机程序是一组执行某种动作的的指令。和那些电路、芯片、显卡、硬盘等不同&#xff0c;它不是计算机本身可以触摸的部分&#xff0c;而是隐藏在背后运行在硬件上面的东西。程序就是一系列告诉没有知觉的硬件该做什么事情的命令。软件就是这些程序的集合…

adb server is out of date. linux,adb server is out of date. killing完美解决

原本是想跑monkey测试的&#xff0c;可使用adb命令时提示&#xff1a;adb server is out of date. killing...出现这个问题的原因是&#xff1a;adb使用的端口5037被占用了。下面我们说下如何找到是哪个程序占用了这个端口&#xff0c;顺便看看cmd里面的一些类似linux的进程操作…

react 怎么获取表格_react学习之js-xlsx导入和导出excel表格

前记&#xff1a;最近真的挺忙的&#xff0c;一件事接着一件&#xff0c;都忘了我的React项目&#xff0c;尽管这是一个没写概率没写离散的夜晚&#xff0c;我决定还是先做做我的React好了&#xff0c;进入正题项目需求&#xff0c;需要导入和导出表单&#xff0c;发现前端已经…

android 最新的框架搭建,Android之Mvp模式框架搭建

前言在做Android开发时,我们通常为了更合理,更高效,优质的开发项目,并不是直接上来就开始开发功能,而是先搭建好自己的一个开发框架,一个好的开发框架,通常会让我们事倍功半,它就好比我们去建造一个房子,如果你的地基打的越深,越牢固,那么就可以建造出很高很大的房子.在搭建一个…

curl在android服务器上编译,Android curl的上载编译和使用

mm执行编译&#xff1a;PLATFORM_VERSION_CODENAMERELPLATFORM_VERSION4.0.3TARGET_PRODUCTfullTARGET_BUILD_VARIANTengTARGET_BUILD_TYPEreleaseTARGET_BUILD_APPSTARGET_ARCHarmTARGET_ARCH_VARIANTarmv7-aHOST_ARCHx86HOST_OSlinuxHOST_BUILD_TYPEreleaseBUILD_IDIML74Kmak…

英特尔nuc能代替主机吗_python编程,热度为什么越来越高,python能代替JAVA吗?...

大家好&#xff0c;我是你们的软件主讲老师宁彤天&#xff0c;python编程是这几年刚火起来了&#xff0c;这可能是这几年人工智能的普及吧&#xff0c;现在是人工智能非python&#xff0c;没有第二&#xff0c;当能其它语言也能实现人工智能&#xff0c;但python的代码量能用最…

python 网页自动化框架_python+selenium自动化框架

项目以前的UI自动化大概是这样分层的1.Common功能层&#xff1a;一些经常被调用的基本常用操作&#xff0c;用来完成某项具体的功能&#xff0c;与具体的业务无关。比如常用的封装&#xff1a;--将元素定位方法重新封装--封装上下左右滑动 eg: swipe(directdown,count1)--pinch…

小程序监听android返回键,如何监听小程序返回按钮事件?

写在前面为了能及时的将自己踩到的前端坑(包括ionic,angular,react,ReactNative,小程序,APICloud)分享给大家&#xff0c;以后会逐渐将文章转移到微信公众号&#xff1a;前端e家(front_e_family)。可直接扫码关注&#xff0c;公众号会不定期更新新文章&#xff0c;分享踩坑笔记…

mix2s 升级android p,小米推送小米MIX2S 安卓P稳定版更新 这两个隐藏升级你发现了吗?...

原标题&#xff1a;小米推送小米MIX2S 安卓P稳定版更新 这两个隐藏升级你发现了吗&#xff1f;今天上午&#xff0c;小米推送了小米MIX2S的稳定版更新&#xff0c;版本号为MIUI V10.0.4.0&#xff0c;体积为2GB&#xff0c;这一次更新将系统底层更新至了Android P&#xff0c;不…

如何用python做一个会聊天的女朋友_520来啦~教你用Python给自己造了一个女朋友!...

520这一天&#xff0c;也是网络情人节。就在那天&#xff0c;如果没有女朋友的自己&#xff0c;如何假装自己是有朋友的&#xff01;如何在朋友圈“秀恩爱。女生版&#xff1a;image很有感觉有木有~~男生版&#xff1a;imageimage其实这些都是小意思啦~~这些都是假装自己有女朋…

鸿蒙系统定位低端市场,明年年初见!鸿蒙系统会先定位中低端,后续全面升级...

惊变20年鸿蒙系统手机会先定位中低端惊变20年上个月的华为H..DC2020开发者大会上&#xff0c;余承东对外公布将在明年开发出搭载鸿蒙系统的手机&#xff0c;并且采用EMUI11的华为手机可以拥有优先享受升级鸿蒙的待遇&#xff0c;手持华为手机的用户都颇为期待。惊变20年根据最新…

jsfor循环终止_js 终止 forEach 循环

wp8 入门到精通 MultiMsgPromptList arraymsg new List(); List ArrayNotifyInfo ...转&#xff1a;Top 10 Algorithms for Coding InterviewThe following are top 10 algorithms related concepts in coding interview. I will try to illustrate t ...Unity游戏开发——自动…

python求出五位数的回文数_python之递归

#codingutf-8#题目&#xff1a;打印出如下图案(菱形)nu 1 # 开始值k 2 # 变量值while nu > 0:print(int((7 - nu) / 2) * * * nu)nu kif nu 7:k -k#题目&#xff1a;有一分数序列&#xff1a;2/1 &#xff0c;3/2 &#xff0c;5/3 &#xff0c;8/5 &#xff0c;1…

html大小写字符串转换成整数,c++字符串大小写转换

由于ANSI和Unicode在函数名上有差别&#xff0c;故都列出来&#xff0c;不过本人以Unicode为主。【1.用C语言标准库函数toupper,tolower】头文件&#xff1a;cctype c下面&#xff1a;ctype.h转大写Ansi版&#xff1a; int toupper(int c);Unicode版&#xff1a;int towupper(w…

adams建立一绳索不带滑轮_ADAMS绳索仿真

在实际生活中有大量的绳索类传动运动形式。绳索类部件看似简单&#xff0c;但是用计算机软件对其模拟时却存在较大障碍。以钢丝绳为例&#xff0c;通常都是通过细长的钢丝螺旋缠绕在一起形成&#xff0c;在工作时当施加拉力载荷于其上&#xff0c;除了材料自身的拉力作用外&…