之前開發中用到python及一些其他相關的工具,大多是需要源**編譯安裝,在進行現場部署安裝時,雖然有寫了個完整的部署指令碼,但是因為實在過於繁瑣,遂起了製作rpm包的念頭,經過一番google和嘗試,終於成功地將python3.3.5以及要用到pcre、nginx、django等七七八八的東西全給做出相應的rpm包,部署時,一條rpm -ivh命令即可,感覺世界安靜了很多
一、建立rpmbuild目錄結構
我在/home/user目錄下建立rpmbuild的目錄,並在其下新建build、rpms、sources、specs、srpms幾個子目錄備用。
把官網的python-3.3.5.tar.gz放到sources子目錄下。如果只是為python3.3.5製作rpm包,則不需要其他東西,我是把其他要用到的諸如paramiko、django、memcached等都統統丟到了python-3.3.5的原始碼目錄中,並重新打包為xz格式,體積稍微小一點點,心裡舒坦
三、編寫specs
進入specs目錄,建立python.specs檔案,該檔案就是rpmbuild用來生成rpm包的,我的格式如下:
name: python
version: 3.3.5
release: 3.el6
vendor: python software foundation
summary: %-%
license: gpl
source: %-%.tar.xz
group: system environment/libraries
url:
packager: [email protected]
autoreq: no
prefix: %/local/lib/python3.3
%description
python is powerful... and fast
%define install_home %
%prep
%setup -q
%build
./configure
make
%install
make destdir=$rpm_build_root install
cp -f $rpm_build_dir/%-%/django-1.6.1.tar.xz $rpm_build_root/%
cp -f $rpm_build_dir/%-%/pycrypto-2.6.1.tar.xz $rpm_build_root/%
cp -f $rpm_build_dir/%-%/paramiko-1.13.0.tar.xz $rpm_build_root/%
cp -f $rpm_build_dir/%-%/ecdsa-0.10.tar.xz $rpm_build_root/%
cp -f $rpm_build_dir/%-%/psycopg2-2.5.2.tar.xz $rpm_build_root/%
cp -f $rpm_build_dir/%-%/python3-memcached-1.51.tar.xz $rpm_build_root/%
cp -f $rpm_build_dir/%-%/setuptools-3.4.tar.xz $rpm_build_root/%
%post
function python_install()
/$pkg -c /tmp
cd /tmp/$dir
echo "installing $dir ..."
/usr/local/bin/python3 setup.py $opts install>/dev/null
rm -rf /tmp/$dir
}python_install django-1.6.1.tar.xz
python_install pycrypto-2.6.1.tar.xz
python_install ecdsa-0.10.tar.xz
python_install paramiko-1.13.0.tar.xz
python_install setuptools-3.4.tar.xz
python_install python3-memcached-1.51.tar.xz
python_install psycopg2-2.5.2.tar.xz "build_ext --pg-config=/usr/pgsql-9.2/bin/pg_config"
exit 0
%postun
[ -d "%" ] && rm -rf %
%clean
[ "$rpm_build_root" != "/" ] && rm -rf "$rpm_build_root"
make clean
%files
%defattr (-,root,root)
%
四、生成rpm包
在spec目錄下執行如下命令,編譯生成python的rpm安裝包,順帶把django、paramiko、memcached等也打包安裝了
rpmbuild -bb ./python.spec
五、安裝rpm包
生成的rpm包python-3.3.5-3.el6.x86_64.rpm,預設存放在rpms/x86_64目錄下(我的系統是64位的),看起來像模像樣的,終於可以用rpm -ivh安裝了,簡單省事。我還把其他所有用到的三方庫、小工具、軟體比如nginx、pcre、sqlite、tomcat、uwsgi、zlib等全部做成了rpm包,讓安裝指令碼省了很多事。
Centos6 5下iscsi儲存搭建
在搭建vsphere環境需要用到網路儲存來模擬生產環境中的應用,現將一台800g 硬碟的伺服器配置成iscsi儲存。iscsi伺服器如下 ip 10.11.68.10 硬碟 除伺服器基本應用外,劃分500g作為儲存用,由於採用的lvm,我們直接建立邏輯卷即可。root iscsi10 vgs vg ...
CentOS 6 5下編譯安裝TFS
tfs官方有個安裝文件 不過如果對於小白確實寫的太簡單了。本人整理了自己編譯安裝tfs的過程,給大家參考一下。一 安裝依賴包yum y install automake yum y install libtool yum y install readline readline devel yum y...
centos 6 5下KVM環境搭建
一 作業系統配置 1.使用root許可權登入 2.修改核心模式為相容核心啟動 vim boot grub grub.conf 主要修改default 1 3.關閉selinux 兩種方式 1.使用setenforce 0命令 立即生效,重啟後失效。2.修改配置檔案,vim etc selinux c...