Linux制作run格式安装包

首先介绍一下run格式安装包,run安装包包含2个文件,一个是要安装的文件(一般会以压缩文件的形式存在),另一个是安装脚本(是用来指导安装文件安装解压到哪个目录)

ok,这里我会给大家2个脚本,一个是用来指导文件的安装,一个是用来一键生成run安装包文件

1-把要安装的文件放在一个文件夹里

我放在install里,所以脚本里要对应写install

2-把install.sh脚本和install文件夹放到同一目录下

这里把install.sh脚本贴到这里,自行拷贝

#!/bin/bash

#跳转行数,负责定位到压缩包所在的位置
lines=62

#检查系统的架构是否符合
if [[ "x86_64" =~ "$(arch)" ]]
then
	echo "架构相同"
else
	echo "架构不同, 本机架构为$(arch)"
	exit 0
fi

homepath=/home/peak/runtest
#获取安装路径
echo "输入安装路径, 按下回车确认,默认路径(${homepath})"
read -p "请输入:" installpath
if [ ! -n "$installpath" ]; then
	installpath=$homepath
fi


#解压对应的程序包
#根据安装脚本的行数,跳转到压缩包所在的位置
tail -n +$lines $0 >./install.tar.gz

#解压缩
tar zxvf ./install.tar.gz 

#将解压缩之后文件拷贝到对应的安装目录
mkdir -p $installpath
cp -r install $installpath

#检查用户路径,获取桌面路径
#test -f ~/.config/user-dirs.dirs && . ~/.config/user-dirs.dirs
#desktopDir=~/${XDG_DESKTOP_DIR##*/}

#生成快捷方式,替换快捷方式中的安装路径
#sed -i "s#INSTALLPATH#${installpath}#g" $installpath/install/test/test.desktop

#applications文件夹如果不存在则创建
#if [ ! -d ~/.local/share/applications ];then
#    mkdir -p ~/.local/share/applications
#fi

#拷贝桌面快捷方式
#cp $installpath/install/test/test.desktop ~/.local/share/applications

#自定义协议启动
#xdg-mime default test.desktop x-scheme-handler/clerk

#快捷方式发送到桌面,并修改可执行权限
#cp $installpath/install/test/test.desktop ${desktopDir}
#chmod +x ${desktopDir}/test.desktop

#移除无用文件
#rm -rf $installpath/install/test/test.desktop
rm -rf install
rm -rf install.tar.gz
exit 0
3-把package.sh脚本放到install同一目录下

这里把package.sh脚本贴到这里,自行拷贝,package.sh脚本可以把install文件夹和install.sh一起打包形成一个run文件。
可自行在脚本里修改run文件最终名字

#!/bin/bash
#将源文件打包成压缩包
tar czvf install.tar.gz install
#创建.run的输出目录
mkdir -p OutputPackageManager

#从外界获取输入的版本号
echo "请输入版本号,回车结束, 示例(1.0.0.20221201_beta)"
read -p "请输入:" version
if [ ! -n "$version" ]; then
	version=1.0.0.default
fi

# 打包生成.run文件
cat install.sh install.tar.gz > OutputPackageManager/OKAGV-SLAM-2d-V"$version".run
# 为安装包赋予权限
chmod +x OutputPackageManager/OKAGV-SLAM-2d-V"$version".run
# 删除之前的文件压缩包
rm -rf install.tar.gz
exit 0

4-执行package.sh生成run文件。
5-执行run文件安装到指定位置

后记:
install.sh 文件一开头有个lines=62,这个是干啥的呢?
解释:我们形成的run文件其实是在install.sh文件后拼接了一个install.tar.gz文件,所以解压时要用lines=62告诉我们拼接的位置(就是install.tar.gz的位置),然后方便我们解压,然后拷贝到指定位置。

ok,如果大家还有什么更便捷的安装包工具或方式,也行评论留言,3Q!

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

可峰科技

生活不易

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值