linux下bin安装包制作教程

基本思想:


      制作简单的安装包的时候可以简单的用cat命令连接两个文件,然后头部是脚本文件,执行的时候把下面的文件分解出来就行了。一般这个后部分的文件是个压缩包,那样,就能够打包很多文件了,在脚本中解压出来即可。这就是Linux那些bin啊run啊等安装脚本的简单制作了。


制作步骤:


编写shell脚本


shell脚本主要有两个作用:

1.将压缩包从bin安装包中分离出来并解压    
2.实现安装过程中需要进行的相关的文件操作(从压缩包中复制文件到系统指定路径下)

例:以下是安装脚本 CFCA_UKEY.sh,脚本中添加了必要的注释便于理解相关操作。

#!/bin/bash
#安装前先卸载旧版本软件
if [ -f "/usr/bin/Uninstall_CFCA_UKEY.sh" ];then
	echo "VVVVVVV 卸载旧版本软件 VVVVVVV"
	/usr/bin/Uninstall_CFCA_UKEY.sh
	echo "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
	echo ""
fi

#分离出的压缩包名称
tmpfile_name=/tmp/CFCA_UKEY_Client.tgz
echo -e "\t 准备安装软件..."
#从bin中分离出${tmpfile_name}压缩包,'1,/^exit 0$/!p'代表从一行到以exit开头以0结尾的行即整个shell脚本,!代表取反,所以最后分离的是出了shell脚本的部分也即压缩包 $0代表脚本本身即从bin安装包中实现分离
sed -n -e '1,/^exit 0$/!p' $0 > ${tmpfile_name} 2>/dev/null
#将分离出的脚本解压缩到/tmp文件夹下
tar xzf ${tmpfile_name} -C /tmp
#解压完成后删除压缩包
rm -rf ${tmpfile_name}
#转到解压文件的文件夹/tmp下
cd /tmp

####---- main ----####

echo -e "\t 安装库文件和工具"
#复制库文件以及管理工具到系统目录下(需要root权限,所以需要sudo执行)
cp -r CFCA_UKEY_Client/CFCA_UKEY_Client.app /Applications
cp -r CFCA_UKEY_Client/CFCA_UKEY_Dlg.bundle /Library/Bundles
sudo cp CFCA_UKEY_Client/Uninstall_CFCA_UKEY.sh /usr/bin
sudo cp CFCA_UKEY_Client/libCFCA_UKEY_*.* /usr/lib
#安装过程完成后,删除解压后的文件目录
rm -rf CFCA_UKEY_Client
echo -e "\t 安装完成"
exit 0


以下是脚本Uninstall_CFCA_UKEY.sh ,实现在每次安装时对旧版本的文件进行删除卸载。(该脚本与bin安装包的制作无关)
#!/bin/bash
name=UKEY
sudo echo ""
echo "=========================================="
echo "|| Client[${name}] Uninstall starting...   ||"
echo "=========================================="
echo "||                                      ||"
sudo ps -ax | grep CFCA_${name}_Client | awk '{print $1}' | xargs kill -9 > /dev/null 2>&1
echo "||  close CFCA_${name}_Client.app          ||"
sudo rm -rf /usr/lib/libCFCA_${name}_lib.dylib
echo "||  delete libCFCA_${name}_lib.dylib       ||"
sudo rm -rf /usr/lib/libCFCA_${name}_P11.dylib
echo "||  delete libCFCA_${name}_P11.dylib       ||"
sudo rm -rf /usr/lib/libCFCA_${name}_P11.sig
echo "||  delete libCFCA_${name}_P
  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值