CentOS下轻松实现源码打包安装,centos轻松实现有时碰到网络不畅通或


通常我们在Linux/Unix下安装一平台时往往需要十几甚至更多安装包,这些源码包来源于网络、本地硬盘、移动设备。有时碰到网络不畅通或下载地址失效会带来很多麻烦,一个好方法便是将常用的软件包下载到本地硬盘存放。问题是久而久之连自己都不晓得哪些包才是适用的。现用makeself来实现自解压倒安装倒是一个很好的解决方案,下面以制作Func客户端安装包为例。


一、整理软件包


#cd /home


#mkdir FuncPack1.0


将所需的软件包都往FuncPack1.0目录丢:)


#ls FuncPack1.0


-rw-r--r-- 1 root root50878 Sep 282009 certmaster-0.25.tar.gz


-rw-r--r-- 1 root root249 Oct82009 certmaster.conf


-rw-r--r-- 1 root root 152871 Sep 282009 func-0.25.tar.gz


-rw-r--r-- 1 root root137 Oct82009 minion.conf


-rw-r--r-- 1 root root 197981 Sep 282009 pyOpenSSL-0.9.tar.gz


-rw-r--r-- 1 root root 11060830 May 222008 Python-2.5.1.tgz


二、编写安装shell


#cd FuncPack1.0


#vi install.sh


view plainprint?

#!/bin/sh

#

#---------------------------------------------------

#Apython&funcinstallshell

#---------------------------------------------------

#

#WritedbyLiutiansi

#Mail:liutiansi@gmail.com

#Blog:http://blog.liuts.com

#QQgroups:106651547

#---------------------------------------------------

_pwd=$(pwd)

cd$_pwd/FuncPack1.0

echo"==================*installpython2.5*============================"

/bin/tar-zxvfPython-2.5.1.tgz

cdPython-2.5.1

./configure&&make&&makeinstall

echo"exportPATH=$PATH:/usr/local/bin">>/etc/profile

source/etc/profile

cd..

echo"=================*installFunc/certmaster/pyOpenSSL*================="

/bin/tar-zxvfpyOpenSSL-0.9.tar.gz

cdpyOpenSSL-0.9

/usr/local/bin/pythonsetup.pyinstall

cd..

/bin/tar-zxvfcertmaster-0.25.tar.gz

cdcertmaster-0.25

/usr/local/bin/pythonsetup.pyinstall

cd..

/bin/tar-zxvffunc-0.25.tar.gz

cdfunc-0.25

/usr/local/bin/pythonsetup.pyinstall

cd..

/bin/ln-s/usr/local/bin/certmaster/usr/bin/certmaster

/bin/ln-s/usr/local/bin/funcd/usr/bin/funcd

/bin/sed-i's/'`hostname`'//g'/etc/hosts

/bin/rm-rf/etc/certmaster/certmaster.conf

/bin/rm-rf/etc/certmaster/minion.conf

/bin/cpcertmaster.conf/etc/certmaster

/bin/cpminion.conf/etc/certmaster

/bin/sed-i-e'/^listen_port/{s/51234/1999/;}'/etc/func/minion.conf

/bin/sed-i-e"/^minion_name/{s@=@=`hostname`@;}"/etc/func/minion.conf

/sbin/chkconfig--level345certmasteron

/sbin/servicecertmasterstart

/sbin/chkconfig--level345funcdon

/sbin/servicefuncdstart

echo"Installover!"


#chmod +x install.sh


三、打包


#cd /home


#wget http://megastep.org/makeself/makeself-2.1.5.run


#chmod +x makeself-2.1.5.run


#./makeself-2.1.5.run


#cd makeself-2.1.5


开始打包!


#./makeself.sh--notemp ../FuncPack1.0/ FuncPack1.0.bin "system start install ..." ./install.sh


运行结果:


Header is 402 lines long


About to compress 11280 KB of data...


Adding files to archive named "FuncPack1.0.bin"...


./


./func-0.25.tar.gz


./Python-2.5.1.tgz


./pyOpenSSL-0.9.tar.gz


./install.sh


./minion.conf


./certmaster.conf


./certmaster-0.25.tar.gz


CRC: 853861468


MD5: 14463177b627f0e85f3591e88fb02b1d


Self-extractible archive "FuncPack1.0.bin" successfully created.


命令说明:


1、--notemp 不生成临时目录,在当前目录下创建一新的目录(推荐)


2、../FuncPack1.0/ 打包的源目录


3、FuncPack1.0.bin 生成自运行解压文件


4、"system start install ..." 安装提示信息


5、./install.sh 解压后所要执行的安装脚本


6、CRC、MD5(防止被篡改)


更多说明见官方http://megastep.org/makeself/


四、运行包


1、将生成的FuncPack1.0.bin文件scp到其它主机


2、运行FuncPack1.0.bin即可


如大家有什么疑问或感兴趣的话题可以通过weibo与我交流:http://t.qq.com/yorkoliu

相关内容

    暂无相关文章