歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Python部署管理工具Fabric

Python部署管理工具Fabric

日期:2017/2/28 15:32:05   编辑:Linux教程

fabric是個輕量級的遠程維護工具,當然是結合python來使用,先看介紹:
Fabric is a Python (2.5 or higher) library and command-line tool for streamlining the use of SSH for application deployment or systems administration tasks.
不過需要注意的是fabric只支持2.5以後python,然而rhl5默認的是2.4.3,因此需要首先升級先python。
升級之前是2.4.3:
[root@gtlionsdev ~]# python -V
Python 2.4.3

[root@gtlionsdev ~]# wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2
--2012-09-27 15:47:23-- http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2
正在解析主機 www.python.org... 82.94.164.162, 2001:888:2000:d::a2
Connecting to www.python.org|82.94.164.162|:80... 已連接。
已發出 HTTP 請求,正在等待回應... 200 OK
長度:11793433 (11M) [application/x-bzip2]
Saving to: `Python-2.7.3.tar.bz2'

100%[=====================================================================================================================================================>] 11,793,433 381K/s in 26s

2012-09-27 15:47:55 (451 KB/s) - `Python-2.7.3.tar.bz2' saved [11793433/11793433]
[root@gtlionsdev ~]# tar -jxf Python-2.7.3.tar.bz2
[root@gtlionsdev ~]# cd Python-2.7.3
[root@gtlionsdev Python-2.7.3]# ./configure
checking for --enable-universalsdk... no
checking for --with-universal-archs... 32-bit
checking MACHDEP... linux2
checking EXTRAPLATDIR...
checking machine type as reported by uname -m... x86_64
checking for --without-gcc... no
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
..........
..........
checking for build directories... done
configure: creating ./config.status
config.status: creating Makefile.pre
config.status: creating Modules/Setup.config
config.status: creating Misc/python.pc
config.status: creating Modules/ld_so_aix
config.status: creating pyconfig.h
creating Modules/Setup
creating Modules/Setup.local
creating Makefile
[root@gtlionsdev Python-2.7.3]# make
gcc -pthread -c -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -IInclude -I./Include -DPy_BUILD_CORE -o Modules/python.o ./Modules/python.c
gcc -pthread -c -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -IInclude -I./Include -DPy_BUILD_CORE -o Parser/acceler.o Parser/acceler.c
..........
漫長的make過程
漫長的make過程
..........
Failed to build these modules:
readline

running build_scripts
creating build/scripts-2.7
copying and adjusting /root/Python-2.7.3/Tools/scripts/pydoc -> build/scripts-2.7
copying and adjusting /root/Python-2.7.3/Tools/scripts/idle -> build/scripts-2.7
copying and adjusting /root/Python-2.7.3/Tools/scripts/2to3 -> build/scripts-2.7
copying and adjusting /root/Python-2.7.3/Lib/smtpd.py -> build/scripts-2.7
changing mode of build/scripts-2.7/pydoc from 644 to 755
changing mode of build/scripts-2.7/idle from 644 to 755
changing mode of build/scripts-2.7/2to3 from 644 to 755
changing mode of build/scripts-2.7/smtpd.py from 644 to 755
/usr/bin/install -c -m 644 ./Tools/gdb/libpython.py python-gdb.py
提示readline模塊失敗,囧,先跳過再說。
[root@gtlionsdev Python-2.7.3]# make install
[root@gtlionsdev Python-2.7.3]# /usr/local/bin/python2.7 -V
Python 2.7.3
[root@gtlionsdev Python-2.7.3]# mv /usr/bin/python /usr/bin/python2.4.3.bak
[root@gtlionsdev Python-2.7.3]# ln -s /usr/local/bin/python2.7 /usr/bin/python
[root@gtlionsdev Python-2.7.3]# python -V
Python 2.7.3
另外由於yum調用python,這個仍然需要使用2.4.3版本,因此需要修改下yum腳本:
[root@gtlionsdev Python-2.7.3]# vim /usr/bin/yum
將首行的#!/usr/bin/python改成#!/usr/bin/python2.4,然後測試一下:
[root@gtlionsdev Python-2.7.3]# yum list
[root@gtlionsdev Python-2.7.3]# yum update
一切正常,OK。

然後接下來開始安裝fabric,推薦使用pip來安裝,pip是用來替代easy_install的不錯的工具:
$ curl -O https://raw.github.com/pypa/virtualenv/master/virtualenv.py
$ python virtualenv.py my_new_env
$ . my_new_env/bin/activate
(my_new_env)$ pip install fabric

安裝完成記得把環境變量包含/root/my_new_env/bin進PATH。
-The End-

Copyright © Linux教程網 All Rights Reserved