轻松实现源码打包安装[原创] 不指定

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

一、整理软件包
引用

#cd /home
#mkdir FuncPack1.0
将所需的软件包都往FuncPack1.0目录丢:)
#ls FuncPack1.0

-rw-r--r-- 1 root root    50878 Sep 28  2009 certmaster-0.25.tar.gz
-rw-r--r-- 1 root root      249 Oct  8  2009 certmaster.conf
-rw-r--r-- 1 root root   152871 Sep 28  2009 func-0.25.tar.gz
-rw-r--r-- 1 root root      137 Oct  8  2009 minion.conf
-rw-r--r-- 1 root root   197981 Sep 28  2009 pyOpenSSL-0.9.tar.gz
-rw-r--r-- 1 root root 11060830 May 22  2008 Python-2.5.1.tgz


二、编写安装shell
#cd FuncPack1.0
#vi install.sh

#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
xlotz Email
2013/10/09 18:34
如果中间有安装不成功的,怎么判断,怎么处理!
Matho
2011/01/15 13:33
请问我在编译的最后报MD5找不到错误,这该怎么解决、不知道MD5是在哪里可以按照
刘天斯 回复于 2011/01/15 17:20
请提供详细的出错信息。
tony
2010/12/29 14:39
我确信我的路径是没有错的,在home目录里建立的funcPack目录,其他也是照着文章做的。可就是在打包那里出错了,说../funcpack1.0/funcpack1.0.bin不存在。
刘天斯 回复于 2010/12/29 16:31
../FuncPack1.0/与FuncPack1.0.bin中间有一个空格。
tony
2010/12/28 10:27
Hello
是开始打包的那一步,不会是要自己建那个bin文件吧?
刘天斯 回复于 2010/12/28 11:25
不会,是脚本自动创建,检查你的路径。
tony
2010/12/27 17:45
hi
照着做的。最后一步报错,说.bin文件不存在。
刘天斯 回复于 2010/12/27 21:44
指第四步吗?
Christian Email Homepage
2010/08/23 10:18
看了 一下 终于是看明白了,打包,还加了校验,编译安装的时候,就很想写一个自动集成的东东,没想到确实被老外搞出来了
prometheus
2010/08/20 17:27
好东西
分页: 1/1 第一页 1 最后页
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]