文章目录
软件包管理简介
软件包分类(WINDOWS包不能用于LINUX)
- 源码包(脚本安装包) 开源 绝大多数都是C语言写的
- 二进制包(RPM包、系统默认包) 源代码包经过编译后的机器语言包,二进制包不能看到源代码,但其能够加快安装速度,省略编译过程
- redhat和debian版本的主要区别主要是使用的二进制包不同
源码包优点
- 开源,如果有足够的能力,可以修改源代码
- 可以自由选择所需的功能
- 软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高
- 卸载方便
源码包缺点
- 安装过程步骤较多,尤其安装较大的软件集合时,容易出现拼写错误
- 编译过程时间较长,安装比二进制安装时间长
- 因为是编译安装,安装过程中一旦报错新手很难解决
二进制包优点
- 包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载
- 安装速度比源码包安装快得多
二进制包缺点
- 经过编译,不再可以看到源代码
- 功能选择不如源码包灵活
- 依赖性
rpm命令管理
rpm包命名规则
httpd-2.2.15-15.el6.centos.1.i686.rpm
- httpd - 软件包名
- 2.2.15 - 软件版本
- 15 - 软件发布的次数
- el6.centos - 适合的Linux平台
- i686 - 适合的硬件平台
- rpm - rpm包扩展名
rpm包依赖性
- 树形依赖: a->b->c(装a要求b,装b要求c)
- 环形依赖: a->b->c->a (解决方法:用一条命令同时装)
- 模块依赖: 模块依赖查询网站:www.rpmfind.net
- 十分繁琐,而且靠猜
安装升级与卸载
包全名与包名
- 包全名:操作的包是没有安装的软件包时,使用包全名。而且要注意路径
- 包名:操作已经安装的软件包时,使用包名。是搜索/var/lib/rpm/中的数据库
RPM安装 rpm -ivh 包全名
- -i (install) 安装
- -v (verbose) 显示详细信息
- -h (hash) 显示进度
- –nodeps 不检测依赖性
RPM升级 rpm -Uvh 包全名
- -U 升级
RPM卸载 rpm -e 包名
- -e 卸载
- –nodeps 不检查依赖性
查询
查询是否安装 rpm -q 包名
- -q 查询
- -a 所有(查询所有已经安装的RPM包)
查询软件包详细信息 rpm -qi 包名
- -i 查询