Linux系统中软件的“四”种安装原理详解:源码包安装、RPM二进制安装、YUM在线安装、脚本安装包
@think3r
2020-02-17 21:54:28
参考链接:
-
0x00Linux软件包分类
- 源码包;
- 二进制包(RPM 包);
- yum 在线安装;
- 脚本安装包;
PS: 其实 Linux 中软件包只有源码包和二进制(RPM)包两种软件安装包。
0x01 源码包安装
- 优点: 开源,如果有足够的能力,可以修改源代码; 较为安全;
- 缺点: 安装步骤较多; 编译时间较多;
0x02 二进制包(RPM 包)
- 优点:
- 包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载;
- 安装速度比源码包安装快的多
- 缺点: 依赖性强;
0x03 在线安装
将所有软件包放到官方服务器上,当进行在线安装时,可以自动解决依赖性问题;
- 优点: 简单快捷;
- 缺点: 需要网络支持;
0x04 脚本安装包
所谓的脚本安装包如:lnmp/lamp 一键安装包,就是把复杂的软件包安装过程写成了程序脚本,初学者可以执行脚本实现一键安装。但实际安装的还是源码包和二进制包, 如下图所示。
优点:安装简单、快捷;
缺点:完全丧失了自定义性;
0x05 制作过程
-
如下为脚本额外添加的内容:
#!/bin/bash lines=9 # 变量 lines 的值是指这个脚本的行数加 1(这个脚本共有 8 行, 因此是 9); tail -n+$lines $0 > /tmp/hello.tar.bz2 # $0 表示脚本本身,这个命令用来把从 $lines 开始的内容写入一个 /tmp 目录的 hello.tar.bz2 文件里 cd /tmp # 切换到 /tmp 目录操作,解压出来的文件重启系统后将会消失。 tar jxvf hello.tar.bz2 cp hello /bin exit 0
-
制作命令:
cat install.sh hello.tar.bz2 > helloinstall.run