<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[运维进行时]]></title> 
<link>https://blog.liuts.com/index.php</link> 
<description><![CDATA[互联网运维与架构]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[运维进行时]]></copyright>
<item>
<link>https://blog.liuts.com/post/212/</link>
<title><![CDATA[轻松实现源码打包安装[原创]]]></title> 
<author>刘天斯 &lt;liutiansi@gmail.com&gt;</author>
<category><![CDATA[Linux]]></category>
<pubDate>Fri, 20 Aug 2010 06:38:21 +0000</pubDate> 
<guid>https://blog.liuts.com/post/212/</guid> 
<description>
<![CDATA[ 
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 通常我们在Linux/Unix下安装一平台时往往需要十几甚至更多安装包，这些源码包来源于网络、本地硬盘、移动设备。有时碰到网络不畅通或下载地址失效会带来很多麻烦，一个好方法便是将常用的软件包下载到本地硬盘存放。问题是久而久之连自己都不晓得哪些包才是适用的。现用makeself来实现自解压倒安装倒是一个很好的解决方案，下面以制作Func客户端安装包为例。<br/><br/><strong>一、整理软件包</strong><br/><div class="quote"><div class="quote-title">引用</div><div class="quote-content"><br/>#cd /home<br/>#mkdir FuncPack1.0<br/>将所需的软件包都往FuncPack1.0目录丢：）<br/>#ls FuncPack1.0<br/><span style="color: #00008B;"><br/>-rw-r--r-- 1 root root&nbsp;&nbsp;&nbsp;&nbsp;50878 Sep 28&nbsp;&nbsp;2009 certmaster-0.25.tar.gz<br/>-rw-r--r-- 1 root root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;249 Oct&nbsp;&nbsp;8&nbsp;&nbsp;2009 certmaster.conf<br/>-rw-r--r-- 1 root root&nbsp;&nbsp; 152871 Sep 28&nbsp;&nbsp;2009 func-0.25.tar.gz<br/>-rw-r--r-- 1 root root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;137 Oct&nbsp;&nbsp;8&nbsp;&nbsp;2009 minion.conf<br/>-rw-r--r-- 1 root root&nbsp;&nbsp; 197981 Sep 28&nbsp;&nbsp;2009 pyOpenSSL-0.9.tar.gz<br/>-rw-r--r-- 1 root root 11060830 May 22&nbsp;&nbsp;2008 Python-2.5.1.tgz<br/></span><br/></div></div><br/><strong>二、编写安装shell</strong><br/>#cd FuncPack1.0<br/>#vi install.sh<br/><textarea name="code" class="c" rows="15" cols="100">
#!/bin/sh
#
# ---------------------------------------------------
# A python&func install shell
# ---------------------------------------------------
# 
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Writed by Liu&nbsp;&nbsp;tiansi
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Mail:liutiansi@gmail.com
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Blog:http://blog.liuts.com
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; QQ groups:106651547
# ---------------------------------------------------


_pwd=$(pwd)
cd $_pwd/FuncPack1.0

echo "==================*install python2.5*============================"
/bin/tar -zxvf Python-2.5.1.tgz
cd Python-2.5.1
./configure && make && make install
echo "export PATH=&#92;$PATH:/usr/local/bin" >> /etc/profile
source /etc/profile
cd ..

echo "=================*install Func/certmaster/pyOpenSSL*================="

/bin/tar -zxvf pyOpenSSL-0.9.tar.gz
cd pyOpenSSL-0.9
/usr/local/bin/python setup.py install
cd ..

/bin/tar -zxvf certmaster-0.25.tar.gz
cd certmaster-0.25
/usr/local/bin/python setup.py install
cd ..

/bin/tar -zxvf func-0.25.tar.gz
cd func-0.25
/usr/local/bin/python setup.py install
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/cp certmaster.conf /etc/certmaster
/bin/cp minion.conf&nbsp;&nbsp;/etc/certmaster

/bin/sed -i -e '/^listen_port/&#123; s/51234/1999/; &#125;' /etc/func/minion.conf
/bin/sed -i -e "/^minion_name/&#123; s@=@= `hostname`@; &#125;" /etc/func/minion.conf

/sbin/chkconfig --level 345 certmaster on
/sbin/service certmaster start

/sbin/chkconfig --level 345 funcd on
/sbin/service funcd start

echo "Install over!"
</textarea><br/>#chmod +x install.sh<br/><br/><strong>三、打包</strong><br/>#cd /home<br/>#wget http://megastep.org/makeself/makeself-2.1.5.run<br/>#chmod +x makeself-2.1.5.run<br/>#./makeself-2.1.5.run<br/>#cd makeself-2.1.5<br/>开始打包!<br/><strong><span style="color: #DC143C;">#./makeself.sh&nbsp;&nbsp;--notemp ../FuncPack1.0/ FuncPack1.0.bin "system start install ..." ./install.sh</span></strong><br/>运行结果：<br/><div class="quote"><div class="quote-title">引用</div><div class="quote-content"><br/>Header is 402 lines long<br/><br/>About to compress 11280 KB of data...<br/>Adding files to archive named "FuncPack1.0.bin"...<br/>./<br/>./func-0.25.tar.gz<br/>./Python-2.5.1.tgz<br/>./pyOpenSSL-0.9.tar.gz<br/>./install.sh<br/>./minion.conf<br/>./certmaster.conf<br/>./certmaster-0.25.tar.gz<br/>CRC: 853861468<br/>MD5: 14463177b627f0e85f3591e88fb02b1d<br/><br/>Self-extractible archive "FuncPack1.0.bin" successfully created.<br/></div></div><br/><span style="color: #008000;"><br/>命令说明：<br/>1、--notemp 不生成临时目录，在当前目录下创建一新的目录(推荐)<br/>2、../FuncPack1.0/ 打包的源目录<br/>3、FuncPack1.0.bin 生成自运行解压文件<br/>4、"system start install ..." 安装提示信息<br/>5、./install.sh 解压后所要执行的安装脚本<br/>6、CRC、MD5(防止被篡改)<br/></span><br/>更多说明见官方<a href="http://megastep.org/makeself/" target="_blank">http://megastep.org/makeself/</a><br/><br/><strong>四、运行包</strong><br/>1、将生成的FuncPack1.0.bin文件scp到其它主机<br/>2、运行FuncPack1.0.bin即可<br/><br/>如大家有什么疑问或感兴趣的话题可以通过weibo与我交流：<a href="http://t.qq.com/yorkoliu" target="_blank">http://t.qq.com/yorkoliu</a><br/>Tags - <a href="https://blog.liuts.com/tags/%25E6%2589%2593%25E5%258C%2585/" rel="tag">打包</a> , <a href="https://blog.liuts.com/tags/makeself/" rel="tag">makeself</a> , <a href="https://blog.liuts.com/tags/%25E8%2587%25AA%25E8%25A7%25A3%25E5%258E%258B/" rel="tag">自解压</a> , <a href="https://blog.liuts.com/tags/%25E5%25AE%2589%25E8%25A3%2585/" rel="tag">安装</a>
]]>
</description>
</item><item>
<link>https://blog.liuts.com/post/212/#blogcomment148</link>
<title><![CDATA[[评论] 轻松实现源码打包安装[原创]]]></title> 
<author>prometheus &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Fri, 20 Aug 2010 09:27:19 +0000</pubDate> 
<guid>https://blog.liuts.com/post/212/#blogcomment148</guid> 
<description>
<![CDATA[ 
	好东西
]]>
</description>
</item><item>
<link>https://blog.liuts.com/post/212/#blogcomment152</link>
<title><![CDATA[[评论] 轻松实现源码打包安装[原创]]]></title> 
<author>Christian &lt;gdgzyuan@gmail.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Mon, 23 Aug 2010 02:18:40 +0000</pubDate> 
<guid>https://blog.liuts.com/post/212/#blogcomment152</guid> 
<description>
<![CDATA[ 
	看了 一下 终于是看明白了，打包，还加了校验，编译安装的时候，就很想写一个自动集成的东东，没想到确实被老外搞出来了
]]>
</description>
</item><item>
<link>https://blog.liuts.com/post/212/#blogcomment538</link>
<title><![CDATA[[评论] 轻松实现源码打包安装[原创]]]></title> 
<author>tony &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Mon, 27 Dec 2010 09:45:00 +0000</pubDate> 
<guid>https://blog.liuts.com/post/212/#blogcomment538</guid> 
<description>
<![CDATA[ 
	hi<br/>照着做的。最后一步报错，说.bin文件不存在。
]]>
</description>
</item><item>
<link>https://blog.liuts.com/post/212/#blogcomment539</link>
<title><![CDATA[[评论] 轻松实现源码打包安装[原创]]]></title> 
<author>tony &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Tue, 28 Dec 2010 02:27:46 +0000</pubDate> 
<guid>https://blog.liuts.com/post/212/#blogcomment539</guid> 
<description>
<![CDATA[ 
	Hello<br/>是开始打包的那一步，不会是要自己建那个bin文件吧？
]]>
</description>
</item><item>
<link>https://blog.liuts.com/post/212/#blogcomment540</link>
<title><![CDATA[[评论] 轻松实现源码打包安装[原创]]]></title> 
<author>tony &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Wed, 29 Dec 2010 06:39:20 +0000</pubDate> 
<guid>https://blog.liuts.com/post/212/#blogcomment540</guid> 
<description>
<![CDATA[ 
	我确信我的路径是没有错的，在home目录里建立的funcPack目录，其他也是照着文章做的。可就是在打包那里出错了，说../funcpack1.0/funcpack1.0.bin不存在。
]]>
</description>
</item><item>
<link>https://blog.liuts.com/post/212/#blogcomment556</link>
<title><![CDATA[[评论] 轻松实现源码打包安装[原创]]]></title> 
<author>Matho &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Sat, 15 Jan 2011 05:33:33 +0000</pubDate> 
<guid>https://blog.liuts.com/post/212/#blogcomment556</guid> 
<description>
<![CDATA[ 
	请问我在编译的最后报MD5找不到错误，这该怎么解决、不知道MD5是在哪里可以按照
]]>
</description>
</item><item>
<link>https://blog.liuts.com/post/212/#blogcomment2431</link>
<title><![CDATA[[评论] 轻松实现源码打包安装[原创]]]></title> 
<author>xlotz &lt;xlotz@126.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Wed, 09 Oct 2013 10:34:55 +0000</pubDate> 
<guid>https://blog.liuts.com/post/212/#blogcomment2431</guid> 
<description>
<![CDATA[ 
	如果中间有安装不成功的，怎么判断，怎么处理！
]]>
</description>
</item>
</channel>
</rss>