制作.run文件,可以在测试的同事在机子上安装核,配置文件时候一键部署,不用来回的操作。下面我们说一下制作过程。
1.首先把要往机子上放的文件,压缩到一个文件中
tar -jcvf file.tar.bz2 *.out#*.out代表那些要压缩的文件,制作压缩文件
2.制作安装脚本
2.1初级版本
#!/bin/bash
lines=7 #这个值是指这个脚本的行数加1,这个脚本共有6行
tail +$lines $0 >/tmp/helloworld.tar.gz # $0表示脚本本身,这个命令用来把从$lines开始的内容写入一个/tmp目录的helloworld.tar.gz文件里。
tar -jxvf /tmp/hellowrold.tar.gz#解压
#开始操作
cp helloworld /bin
exit 0
#在exit后需要多加一行,这个需要在lines这里加上
2.2高级版本
#!/bin/bash
lines=47 #这个值是指这个脚本的行数加1,这个脚本共有47行
route=`pwd`
function Save_before()
{
cd /usr/src
mv -f mmi_linux mmi_linux_bef
mv -f monitor monitor_bef
mv -f sound.wav sound_bef.wav
cd /etc
mv -f rc.local rc_bef.local
cd $route
}
function update_new()
{
tail -n +$lines $0 >/opt/run127.tar.gz # $0表示脚本本身,这个命令用来把从$lines开始的内容写入一个/tmp目录的helloworld.tar.gz文件里。
tar -jxvf /opt/run127.tar.gz -C /opt
/bin/cp -f mmi_linux monitor sound.wav /usr/src
/bin/cp -f rc.local /etc/
}
function restore_before()
{
cd /usr/src
rm -f mmi_linux monitor sound.wav
mv -f mmi_linux_bef mmi_linux
mv -f monitor_bef monitor
mv sound_bef.wav sound.wav
cd /etc
mv -f rc_bef.local rc.local
}
if [ "$1" == "update" ]; then
echo "String=save,Saving..."
Save_before
sleep 2s
echo "String=update,Updating..."
sleep 2s
update_new
elif [ "$1" == "recover" ]; then
echo "String=recover,Recovering..."
restore_before
else
echo "String unknown,Please try again!"
fi
exit 0
#在exit后需要多加一行,这个需要在lines这里加上
3.然后使用cat命令行,生成.run文件。连接成一个文件
cat *.sh *.tar.bz2 > *.run
4.然后直接使用sh(/bin/bash *.run)进行安装
bash *.run
tips 注意事项
压缩和解压缩的命令,在我刚开始制作的时候,有点迷惑。我在下面贴几个关于Linux的压缩命令使用的链接吧