Linux软件安装(二)——RPM与YUM

这里写图片描述

Linux软件管理程序

上一篇文章介绍了使用源码编译的方式安装Linux软件,虽然操作比较简单,但仍有如下不足之处:
1. 源码需要经过编译成二进制文件后才能供系统运行,而编译过程相对比较繁琐;
2. 软件的管理比较散乱,软件的更新、卸载没有统一的管理者。
针对源码安装的缺点,Linux上出现了软件管理程序,统一管理所有软件的安装、更新、卸载。它将当前系统中所安装的软件信息存储起来,这些信息可供用户查询,了解当前系统的软件安装情况,从而方便软件的更新与卸载。

RPM和DPKG

当前Linux上有两款主流的软件管理程序,分别是:RPM和DPKG。
这两款软件均提供在线升级机制。

  • RPM
    RPM全称为Red Hat Package Manager,是Red Hat公司研发的Linux软件管理程序。目前CentOS、SuSE、Fedora等操作系统使用它。
    RPM使用YUM进行在线升级。

  • DPKG
    dpkg由Debian Linux开发,目前使用该软件的操作系统有Ubuntu、B2D等。
    dpkg使用apt-get进行在线升级。

PS:什么是“在线升级机制”?
一个软件往往会依赖其他软件的一些功能,那么在安装过程中,只有确保一个软件所依赖的所有软件都被安装后,该软件才能被正确安装。
而在线升级机制能够在软件安装过程中,若发现该软件的依赖软件尚未安装,则会自动从互联网中下载所依赖的软件。这就是在线升级机制。

这里以RPM为例,介绍软件管理程序的特性与使用。

使用RPM安装的优点

1.避免编译过程
由于RPM所提供的安装包是已经是经过编译的二进制文件,因此无需编译,直接将其存放至指定路径即可运行。
2.方便管理软件
RPM软件在安装过程中会将软件的相关信息记录在专门的数据库中,这些数据可方便今后的软件更新与卸载。用户也可查询本机软件安装情况。

使用RPM安装的缺点

软件的RPM安装包对操作系统的版本和硬件环境具有严格的要求,不同厂商的操作系统往往不能共享同一个安装包,甚至同一厂商不同版本的操作系统也无法共享同一个安装包。
为了解决RPM安装包无法共享的问题,Red Hat提供了SRPM。

什么是SRPM?

SRPM是Source Red Hat Package Manager的缩写。顾名思义,它是包含源码的RPM安装包。
和普通源码不同的是,SRPM中除了源码外还包含了供RPM安装时所需的软件信息。
当你要安装的软件并没有适合你的操作系统的版本时,你可以下载SRPM版本,先将SRPM中的源码编译成RPM,然后使用rpm命令安装该软件。
通常一个软件会同时发布rpm版本和srpm版本;srpm版本的文件名通常为xxx.src.rpm。

RPM的使用

1.安装

rpm -ivh 安装包的名字

i:install的缩写,表示安装
v:查看详细的安装过程
h:显示安装进度

注意点:
- 因为安装软件是root的工作,因此rpm命令需要root权限。
- 安装完成后,软件的相关信息会被写入/var/lib/rpm中。未来软件升级、卸载、软件信息查询均通过该数据库进行。
- 软件会被安装到如下目录:

目录
/etc存放软件的配置文件
/usr/bin存放软件的可执行文件(二进制文件)
/usr/lib存放软件的动态函数库
/usr/share/doc存放软件的参考手册
/usr/share/man存放各个软件的man page文件

2.升级

rpm -Uvh 需要升级的软件名

-Uvh:若待升级的软件尚未安装,则直接安装
rpm -Fvh 需要升级的软件名

-Fvh:若待升级的软件尚未安装,则该软件不会被安装

3.查询

rpm -q 软件名   //判断该软件是否已被安装
rpm -qa         //列出所有已安装的软件名
rpm -qi 软件名  //列出该软件的详细信息
rpm -ql 软件名  //列出该软件所有的文件
rpm -qc 软件名  //列出该软件的所有配置文件(即/etc/该软件相关的所有文件)
rpm -qd 软件吗  //列出该软件的所有帮助文件(即/usr/share/man/该软件相关的所有文件)
rpm -qR 软件名  //列出该软件所依赖软件的文件
rpm -qf 文件名  //找出该文件属于哪一个软件
rpm -qp[上述参数] 安装包名//列出安装包中指定的信息

查询的信息分为两类,一类是查询已被安装的软件的信息,另一类是查询尚未被安装的软件安装包的信息。
第一类信息通过rpm -q查询,第二类信息通过rpm -qp查询。

4.卸载

rpm -e 软件名

卸载一个软件非常方便,只需执行上述命令即可。
但一个软件所提供的动态函数库被其他软件引用,那么该软件将无法卸载,除非将引用该函数库的所有软件都卸载后才能卸载。

5.重建数据库

当/var/lib/rpm内的文件发生损坏时,可以通过如下命令修复:

rpm --rebuilddb

YUM的使用

RPM虽然省去了编译过程,并且提供数据库存储软件的信息,但仍然需要我们手动下载RPM安装包,而YUM的出现解决了这一问题。
较多软件的RPM安装包都存放在了YUM Server上,只要我们的计算机能连互联网,就能使用yum自动下载RPM安装包并安装软件。

1.查询

yum [-y/--installroot=xxx] [search/list/info/provides] [参数]

-y:在安装软件过程中若有询问,自动输入yes
--installroot=xxx:将xxx作为软件的安装目录
search:关键词搜索软件信息,后面需要加上关键词
list:列出yum管理的所有软件名称与版本,类似于rpm -qa
    info:同上,类似于rpm -qi
provides:从文件中搜索软件,类似于rpm -qf

2.安装

yum install 软件名

3.升级

yum update 软件名

若需升级整个系统,直接yum update即可。

4.卸载

yum remove 软件名

这里写图片描述

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值