CentOS下轻松实现源码打包安装

分类:CentOS运维 阅读:92734 次

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

一、整理软件包

二、编写安装shell
#cd FuncPack1.0
#vi install.sh
  1. #!/bin/sh
  2. #
  3. #---------------------------------------------------
  4. #Apython&funcinstallshell
  5. #---------------------------------------------------
  6. #
  7. #WritedbyLiutiansi
  8. #Mail:liutiansi@gmail.com
  9. #Blog:http://blog.liuts.com
  10. #QQgroups:106651547
  11. #---------------------------------------------------
  12. _pwd=$(pwd)
  13. cd$_pwd/FuncPack1.0
  14. echo"==================*installpython2.5*============================"
  15. /bin/tar-zxvfPython-2.5.1.tgz
  16. cdPython-2.5.1
  17. ./configure&&make&&makeinstall
  18. echo"exportPATH=\$PATH:/usr/local/bin">>/etc/profile
  19. source/etc/profile
  20. cd..
  21. echo"=================*installFunc/certmaster/pyOpenSSL*================="
  22. /bin/tar-zxvfpyOpenSSL-0.9.tar.gz
  23. cdpyOpenSSL-0.9
  24. /usr/local/bin/pythonsetup.pyinstall
  25. cd..
  26. /bin/tar-zxvfcertmaster-0.25.tar.gz
  27. cdcertmaster-0.25
  28. /usr/local/bin/pythonsetup.pyinstall
  29. cd..
  30. /bin/tar-zxvffunc-0.25.tar.gz
  31. cdfunc-0.25
  32. /usr/local/bin/pythonsetup.pyinstall
  33. cd..
  34. /bin/ln-s/usr/local/bin/certmaster/usr/bin/certmaster
  35. /bin/ln-s/usr/local/bin/funcd/usr/bin/funcd
  36. /bin/sed-i's/'`hostname`'//g'/etc/hosts
  37. /bin/rm-rf/etc/certmaster/certmaster.conf
  38. /bin/rm-rf/etc/certmaster/minion.conf
  39. /bin/cpcertmaster.conf/etc/certmaster
  40. /bin/cpminion.conf/etc/certmaster
  41. /bin/sed-i-e'/^listen_port/{s/51234/1999/;}'/etc/func/minion.conf
  42. /bin/sed-i-e"/^minion_name/{s@=@=`hostname`@;}"/etc/func/minion.conf
  43. /sbin/chkconfig--level345certmasteron
  44. /sbin/servicecertmasterstart
  45. /sbin/chkconfig--level345funcdon
  46. /sbin/servicefuncdstart
  47. 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
运行结果:


命令说明:
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