linux .bin安装包制作

好久不做安装包了,需要做个安装包,好脑袋不如烂笔头,还是再简单记录一下。
linux 安装包制作

1、打包或压缩文件tar,zip,gz等,解压后即可,或者解压后运行sh文件;太简单。。。感觉不正式
2、使用管理工具的deb,rpm等,通常的这类安装文件可以通过第三方的命令行或UI来简单的安装,例如Ubuntu中的apt来安装deb,Redhat中的yum来安装rpm;制作起来比较复查,还不通用。
3、像.bin类,把shell和压缩包合成一个文件,可以直接在linux上运行。只提供一个可在linux上运行的包,感觉比较正式,还通用。

bin类安装包安装:
直接运行即可,超级简单。shell中cd 到包在的文件夹 ./xx.bin即可。
bin类安装包制作
1、shell文件
一个简单的shell文件install.sh

#!/bin/bash  
name=name
unshname=uninstall${name}.sh
appname=appname
installpath=/opt/${name}
#安装前先卸载旧版本软件
if [ -f "/usr/bin/$unshname" ];then
    echo "=========== 卸载旧版本软件 ============="  
    /usr/bin/$unshname
    echo "====================================="  
    echo ""  
fi

#分离出的压缩包名称  
tmpfile_name=/tmp/${name}.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
if [ ! -d $installpath ] ;then
        mkdir -p $installpath
fi
####---- main ----####  
echo -e "\t 安装库文件和工具软件" 
#复制库文件以及管理工具到系统目录下(需要root权限,所以需要sudo执行)  
configname=${name}.conf
touch ${name}/$configname
sed -i '1i/${installpath}' ${name}/$configname
cp ${name}/$configname /etc/ld.so.conf.d/
sed -i '1i/${installpath}' ${name}/$configname
cp ${name}/$configname /etc/ld.so.conf.d/
ldconfig
cp -r ${name}/* $installpath
#sudo cp testfile/testd /etc/init.d  
#sudo chkconfig testd on
#安装过程完成后,删除解压后的文件目录  
rm -rf ${name}
echo -e "\t 安装完成"  
exit 0

2、压缩包文件
tar -cgvf install.tgz installfile

3、合成.bin类安装包

cat install.sh install.tgz > install.bin

4、安装.bin类安装包

chmod +x install.bin
./install.bin
  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要将一个Go语言项目打为Windows可执行文件和Linux安装包,可以使用以下步骤: ## 打为Windows可执行文件(.exe) 1. 安装Go编译器并设置环境变量。 2. 在项目根目录下使用以下命令生成可执行文件: ``` go build -o myapp.exe ``` 这将在当前目录下生成名为`myapp.exe`的可执行文件。 3. 使用[UPX](https://upx.github.io/)对可执行文件进行压缩,可以减小文件大小: ``` upx myapp.exe ``` 4. 打压缩后的可执行文件和必要的资源文件为一个zip,然后将zip重命名为.exe后缀即可。 ## 打Linux安装包(.tar) 1. 安装Go编译器并设置环境变量。 2. 在项目根目录下使用以下命令生成二进制文件: ``` go build -o myapp ``` 这将在当前目录下生成名为`myapp`的二进制文件。 3. 将二进制文件和必要的资源文件放入一个文件夹中。 4. 在该文件夹中创建一个`install.sh`脚本,用于安装程序。例如: ``` #!/bin/bash cp myapp /usr/local/bin/ ``` 这个脚本将把`myapp`二进制文件复制到`/usr/local/bin/`目录下。 5. 使用以下命令将文件夹打成tar文件: ``` tar -czvf myapp.tar.gz myapp_folder/ ``` 这将在当前目录下生成名为`myapp.tar.gz`的压缩文件。 6. 将tar文件上传到服务器,并使用以下命令解压: ``` tar -xzvf myapp.tar.gz ``` 7. 执行`install.sh`脚本安装程序: ``` sh install.sh ``` 这将把二进制文件复制到指定目录,并为您配置好程序。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值