makeself 使用指南:创建一个自解压的安装包


阿拉平平

读完需要

4

分钟

速读仅需 2 分钟


对于一些基础服务,通常我会制作一个安装包,再通过脚本来安装。这些安装包自用当然是没问题的,但在团队协作时,不同的安装包对应不同的安装方法,每个都要给个说明文档,还是比较麻烦的。

1. 项目介绍


   

makeself[1] 是一个小型的 shell 脚本,它能够从指定的目录生成一个自解压的安装包。生成的安装包是单文件,直接运行就可以完成安装。

2. 下载安装


   

makeself 目前最新的版本为 2.4.5,可以通过源码或 run 包来安装。源码好理解,这个 run 包是什么呢?
makeself 使用指南:创建一个自解压的安装包

这个 run 包就是 makeself 自身的安装包。大家想想,makeself 既然可以生成其它项目的安装包,是不是也能生成自己的呢?接下来,我将用 run 包来安装 makeself。

下载 makeself 的 run 包:

wget https://github.com/megastep/makeself/releases/download/release-2.4.5/makeself-2.4.5.run
添加可执行权限并运行:
chmod +x makeself-2.4.5.run
./makeself-2.4.5.run

当前路径下会生成 makeself-2.4.5 目录,将脚本文件放到 $PATH 中:

cd makeself-2.4.5
cp -a *.sh /usr/local/bin

通过命令检查 makeself 版本,确保安装无误:

makeself.sh --version
Makeself version 2.4.5

3. 使用说明


   

我们刚刚用 run 包安装了 makeself,可以看到,整个安装还是比较方便的。接下来,我们尝试用 makeself 自制一个 nginx 的源码安装包。

我下载了 nginx 的源码包并添加了安装脚本,目录结构如下:
nginx
├── install.sh
└── nginx-1.23.0.tar.gz
0 directories, 2 files

安装脚本需要给予可执行权限,其内容如下:

#!/bin/bash

yum install gcc-c++ -y
tar -zxf nginx-1.23.0.tar.gz -C /tmp
cd /tmp/nginx-1.23.0 && ./configure --prefix=/usr/local/nginx --without-http_rewrite_module --without-http_gzip_module
make && make install
rm -rf /tmp/nginx-1.23.0

准备工作完成后,运行以下命令制作安装包:

makeself.sh nginx nginx.run nginx-install ./install.sh

结合刚刚运行的命令,我们看下 makeself 的用法:

makeself.sh [args] archive_dir file_name label startup_script [script_args]

说明:

  • args:可选参数。按需指定,可参考官方说明。

  • archive_dir:项目的目录。

  • file_name:生成的文件名,可以随意指定。

  • label:标签,运行安装包时会显示。

  • startup_script:安装脚本。

  • script_args:脚本参数。


4. 写在最后


   

很多时候,我们在安装服务时,其实并不关心安装包内部的细节,如何快速、统一地安装好服务才是最主要的。makeself 则对原有的安装包做了封装,省去了解压的步骤,我们只需运行即可。

References

[1] makeselfhttps://github.com/megastep/makeself

原文始发于微信公众号(阿拉平平):makeself 使用指南:创建一个自解压的安装包

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/287421.html

(0)
码上实战的头像码上实战

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!