一、Linux软件包分类
仅有操作系统的计算机,只有基础的存储功能,因此想要实现一些其他功能,需要安装相应的软件。windows的所有软件包都不能在linux上使用。
1.1 源码包
把源代码开放给你的包,绝大多数源码包都是基于c语言写的。
脚本安装包:源码包经过包装后的源码包
优点:
(1)开源,如果你有足够的能力,可以修改源代码。
(2)可以自由选择所需的功能。
(3)软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高。
(4)卸载方便,直接删除安装目录就可以卸载干净。windows可能有垃圾残留。
缺点
(1)安装过程步骤较多,尤其安装较大的软件集合时,容易出现拼写错误。
(2)编译过程时间较长,安装比二进制包安装时时间长。
(3)因为是编译安装,安装过程中一旦报错新手很难解决。
1.2 二进制包
经过编译后的源代码包(如今经常使用二进制包,不同Linux系列的二进制包格式不同,centos是RPM格式)。
优点:
(1)包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询、卸载。
(2)安装速度比源码包安装快的多。
缺点:
(1)经过编译,不能再看到源代码
(2)功能选择不如源码包灵活
(3)依赖性。既安装某一软件需要安装其他东西。
二、RPM包命名规则与依赖性
2.1 RPM包命名规则
镜像文件解压后的packages文件夹下有很过RPM包
2.2 RPM包依赖性
(1)树形依赖:a->b->c(解决方法,先安装c,再安装b,再安装a)
(2)环形依赖:a->b->c->a(解决方法,一条命令同时安装所有的包)
(3)模块依赖:模块依赖查询网站www.rpmfind.net