Linux制作run格式安装包
Posted 可峰科技
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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!
以上是关于Linux制作run格式安装包的主要内容,如果未能解决你的问题,请参考以下文章