如何制作脚本+tar包之后的bin安装包以及如何拆分需要新增或修改的bin安装包

bin安装包

像最开始的话,出一个安装程序都是提供一个tar.gz包和一个运行脚本。这种方式对于一种安装程序的确很不错,但如果有多个安装程序;对于用户体验和管理来讲都是不友好的。所以可以制作一键安装包。即安装脚本+安装gz包的结合体。

bin包的制作

前提提示:本文档是要对需安装的软件和编写了安装的脚本文件,打成一个bin包,然后可传播安装使用

1、在/opt 目录下创建文件夹
[root@master101 opt]$ mkdir /opt/install 
2、创建sh脚本 把内容复制到脚本里
[root@master101 opt]$ vim /opt/install/make.sh 

注意:进入vim输入i进入编辑模式

#脚本目标: 首先把相关安装文件打成一个tar包,其次把tar包和安装脚本打成一个bin包,最后方便人员传播安装

#!/bin/sh

suffix=.bin

echo -n "请输入最后打成的bin包名:"

read binName

binName=${binName}${suffix}

echo -n "请输入刚才上传文件的文件夹名:"

read installDocName

echo -n "是否要打包文件:[Y/N]"

read yn

i=0

list=()

while [ "$yn" == "y" -o "$yn" == "Y" ]

do

  echo "不要复制install.sh"

  echo -n "请复制上面相关的文件名:"

  read file

  list[$i]=\"$file\"

  i=`expr $i + 1`

  echo -n "是否要打包文件:[Y/N]"

  read yn

done

echo ${list[@]}

#1.删除之前的tar,重新打成一个新tar包

cd /opt/install/${installDocName}

rm -rf installFile.tar.gz

var="tar -czvf installFile.tar.gz "

for fileName in ${list[@]}

do

   echo $fileName

   var=${var}" "${fileName}

done

exec=$(echo ${var} | sed 's/\"//g')

echo "installFile.tar.gz打包的文件有" $exec

eval $exec

#2.删除之前的bin,重新打成一个新bin包

rm -rf ${binName}

cat install.sh installFile.tar.gz > ${binName}

chmod +x ${binName}

#3.只留下bin包,删除不相关的文件,在主目录下生成传播的bin包                      

rm -rf installFile.tar.gz

rm -rf /opt/install/${binName}

cd /opt/install

if [ ! -d bin ];then

  mkdir bin

else

  echo bin exist

fi

mv /opt/install/${installDocName}/${binName} /opt/install/bin

exit 0 

注意:exit 0 不要空行,0后面不要有空格!!
在这里插入图片描述

3、 在/opt/install目录下创建文件夹
[root@master101 opt]$ mkdir /opt/install/docFile 

在这里插入图片描述

4、在docFile文件下必须上传名叫install.sh的安装脚本和需要的安装的文件(提示:安装脚本是安装相关文件的脚本,脚本名必须是install.sh,如果安装脚本名不对需更改)

注意:最少是这两个文件

[root@master101 opt]$  ll /opt/install/docFile/ 

在这里插入图片描述

5、执行命令运行打成bin包脚本,输入想要打成的bin名
 [root@master101 opt]$ sh /opt/install/make.sh 

在这里插入图片描述

6、写上刚才上传文件的文件夹名docFile

注意:输入你刚才放置的文件的文件夹名,本文档用是docFile
在这里插入图片描述

7、输入y回车,复制除了sh其他你所放置的文件名,需全文件名带上后缀,结束输入n,开始打包

在这里插入图片描述

8、查看

在这里插入图片描述

[root@master101 opt]$ cd /opt/install/bin 

bin包的拆分

1、创建解压的目录
[root@master101 opt]$ mkdir -p /opt/install/bin 
[root@master101 opt]$ mkdir -p /opt/install/unzip 
2、然后把自己的bin包放入/opt/install/bin

在这里插入图片描述

3、在/opt/install/bin里必须用vim打开加入下面代码
[root@master101 opt]$ vim /opt/install/bin/binName.bin 

在这里插入图片描述

4、 /opt/install/unzip为解压地址,可更改
sed -n -e '1,/^exit 0$/!p' $0 > "/opt/install/unzip/installFile.tar.gz" 2>/dev/null 

注意:进入vim输入shfit+z+z进入保存退出模式

5、 执行脚本命令
[root@master101 opt]$ sh /opt/install/bin/binName.bin 
6、 报如下错误可以忽略不管,查看unzip是否解压成功

在这里插入图片描述

7、查看

在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将一个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 ``` 这将把二进制文件复制到指定目录,并为您配置好程序。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值