linux安装包(run、bin)制作

### Linux Run 和 Bin 安装包制作详解 在Linux系统中,为了方便用户进行软件的安装与管理,通常会采用各种格式的安装包。其中,run安装包和bin安装包因其简便性和灵活性,在某些场景下得到了广泛应用。本文将详细介绍这两种安装包的制作方法及其注意事项。 #### 一、Run 安装包制作 **1.1 Run 安装包结构** Run安装包实际上是由一个安装脚本和待安装的程序组成。安装脚本负责解压程序文件并将其安装到指定的位置;待安装的程序则被压缩成tar.gz格式,并嵌入到安装脚本之后。整体结构如下: ``` |----------------| || | 安装脚本 | || |----------------| || | 程序 | || |----------------| ``` **1.2 安装脚本示例** ```bash #!/bin/bash lines=11 install_dir=/opt/helloworld read -p "Please enter the installation directory:" install_dir echo "The installation directory is: $install_dir" mkdir -p $install_dir tail +$lines $0 > /tmp/helloworld.tar.gz tar -xzvf /tmp/helloworld.tar.gz -C $install_dir rm -rf /tmp/helloworld.tar.gz exit 0 ``` **1.3 关键步骤解释** - **读取安装目录**:通过`read -p`命令读取用户输入的安装目录,默认为`/opt/helloworld`。 - **创建目录**:使用`mkdir -p`确保安装目录存在。 - **提取压缩包内容**:利用`tail`命令从指定行开始读取脚本内容,这里是第11行开始的内容,保存到临时文件`/tmp/helloworld.tar.gz`。 - **解压文件**:使用`tar`命令解压临时文件至指定目录。 - **清理临时文件**:删除临时文件`/tmp/helloworld.tar.gz`。 **1.4 安装程序压缩包** 假设程序文件名为`helloworld`,位于当前目录。可以使用以下命令来创建压缩包`helloworld.tar.gz`: ```bash tar -czf helloworld.tar.gz helloworld ``` **1.5 合并脚本与压缩包** 使用`cat`命令合并安装脚本和压缩包内容: ```bash cat helloworld.sh helloworld.tar.gz > helloworld.run ``` #### 二、Bin 安装包制作 **2.1 Bin 安装包结构** Bin安装包的结构与Run安装包类似,也是由一个安装脚本和待安装的程序组成,不同之处在于使用不同的方法来分离脚本与压缩包中的二进制文件。 ``` |----------------| || | 安装脚本 | || |----------------| || | 程序 | || |----------------| ``` **2.2 安装脚本示例** ```bash #!/bin/bash install_dir=/opt/helloworld read -p "Please enter the installation directory:" install_dir echo "The installation directory is: $install_dir" mkdir -p $install_dir sed -n -e '1,/^exit0$/!p' $0 > /tmp/helloworld.tar.gz 2> /dev/null tar -xzvf /tmp/helloworld.tar.gz -C ${install_dir} rm -rf /tmp/helloworld.tar.gz exit 0 ``` **2.3 关键步骤解释** - **提取压缩包内容**:这里使用了`sed`命令来分离脚本与二进制数据。`sed -n -e '1,/^exit0$/!p' $0`表示从脚本的第一行开始,直到遇到`exit0`为止的所有内容(不包括`exit0`这一行),都被输出到`/tmp/helloworld.tar.gz`中。 - **其他步骤**:创建安装目录、解压文件和清理临时文件等操作与Run安装包相同。 #### 总结 通过上述步骤,我们可以清晰地了解到如何制作Linux下的run和bin安装包。这两种安装包虽然简单易用,但在处理复杂安装逻辑时可能会显得力不从心。对于更复杂的安装需求,建议考虑使用如RPM或DEB等标准化的包管理系统。




















- ok25461632022-05-09资源是很好,真正用的时候还是要折腾下才行

- 粉丝: 22
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 房建装修工程监理技术标标书.doc
- 置地北京公司建筑工程施工阶段管理规定.doc
- 河北2012建筑、装饰工程预算定额变化及计算规则说明.doc
- 敏感性分析例题.ppt
- 单层钢结构工业厂房毕业实习报告.docx
- 建设工程监理规范用表.doc
- 微信小程序微商城(仿拼多多).zip
- 工程造价控制的新思路.ppt
- 土壤源热泵的应用培训讲义.doc
- 纠正、预防措施记录表3.doc
- 普定县某住宅楼岩土工程勘察报告.doc
- 变风量空调末端装置控制分类.doc
- 微信小程序学习.zip
- 合同预算部部门经理个人工作总结.doc
- 微信小程序点餐+SpringBoot(1).zip
- 北京市某220kv变电所第三电源工程施工组织设计.doc


