jumpserver/install/install.py

64 lines
1.5 KiB
Python
Raw Normal View History

2015-12-18 08:52:50 +00:00
#!/usr/bin/python
# coding: utf-8
import subprocess
import time
import os
import sys
def bash(cmd):
"""
run a bash shell command
执行bash命令
"""
return subprocess.call(cmd, shell=True)
def color_print(msg, color='red', exits=False):
"""
Print colorful string.
颜色打印字符或者退出
"""
color_msg = {'blue': '\033[1;36m%s\033[0m',
'green': '\033[1;32m%s\033[0m',
'yellow': '\033[1;33m%s\033[0m',
'red': '\033[1;31m%s\033[0m',
'title': '\033[30;42m%s\033[0m',
'info': '\033[32m%s\033[0m'}
msg = color_msg.get(color, 'red') % msg
print msg
if exits:
time.sleep(2)
sys.exit()
return msg
class PreSetup(object):
@staticmethod
def _rpm_repo():
color_print('开始安装epel源', 'green')
bash('yum -y install epel-release')
@staticmethod
def _depend_rpm():
color_print('开始安装依赖rpm包', 'green')
bash('yum -y install git python-pip mysql-devel gcc automake autoconf python-devel vim sshpass')
@staticmethod
def _require_pip():
color_print('开始安装依赖pip包', 'green')
bash('pip install -r requirements.txt')
def start(self):
self._rpm_repo()
self._depend_rpm()
self._require_pip()
os.system('python next.py')
if __name__ == '__main__':
pre_setup = PreSetup()
pre_setup.start()