Linux软件安装管理(一):初识Linux软件包及其分类
内容提要
- 软件包发布的两种形式:源码包和RPM包
- 写脚本安装软件
- 利用yum软件管理RPM的依赖
1. 软件包分类
Linux的软件的发布形式有如下两种
源代码包:需手工编译
- 绝大多数开源软件都是直接以源代码形式发布,被打包成一个.tar.gz的归档压缩文件
- 源代码需要手工编译才能运行,所以针对特定运行环境的编译出来的软件兼容性和可控性好
- 优点:
- 开源,学习者可以直接看到高手写的代码,可以修改源代码
- 编译安装,更加适合自己的系统,更稳定高效
- 卸载方便:直接删除安装文件目录就行
- 缺点:
- 安装过程步骤较多,尤其是大型软件
- 编译过程时间长,编译时开源软件需要大量依赖其他开源软件包
- 万一源码问题导致编译出错,不是自己写的很难解决
二进制包(即RPM包):RPM命令管理
- Linux系统就是用RPM包安装的,系统光盘中软件的系统默认包
- 厂商把源码包编译好以后,发布的二进制包
- 优点:
- 软件包管理简单,通过命令就可以实现安装、升级、卸载
- 软件安装速度快
- 缺点:
- 不能看到源代码
- 依赖性:开源软件一般都会大量使用其他软件的功能,所以开源软件会有大量的依赖关系;安装中出现很多问题基本都是要解决依赖关系
3. 写脚本安装大型复杂软件
脚本安装:
- 有的软件安装,需要几十个软件包联合安装
- 高手把复杂的软件安装过程写成了shell脚本,安装直接执行脚本即可。但实际安装还是编译源码包或者RPM包
- 优点:安装步骤少
- 缺点:丧失了自定义性,自定义时需要修改脚本
2. 利用yum软件管理RPM依赖
- 是用来管理RPM的软件
- 用来解决RPM的依赖关系问题。特性:
- 自动解决依赖关系
- 可以对RPM进行分组,并基于组进行安装操作:原本RPM每个软件包独立的;基于组的安装即一次性安装一类软件,只需要安装一个组,一类软件就安装好了
- 引入仓库概念,支持多个仓库
- 配置简单