Linux 中的yum和rpm

一、两者简介和区别

1、Linux安装程序方式:

  • 通用二进制格式:直接解压压缩文件,就可以使用。但一定要注意安装平台。
  • 软件包管理器:如rpm。
  • 软件包管理器的前端工具:如yum。
  • 源代码编译。

2、两者区别:

  • rpm是由RedHat 公司开发的软件包管理方式,使用rpm我们可以方便的进行软件的打包、安装、查询、升级、卸载、校验、数据库管理。但是rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时。
  • RPM早期被称为RedHat Package Manager,但由于目前RPM非常流行,且已经成为Linux工业标准。所以RPM现在又被称为RPM is Package Manager。
  • yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

二、rpm使用方式

1、安装一个rpm包

rpm -ivh package_file

-i:安装

-v:可视化

-h:显示安装进度

另外的常用的附带参数为:

--force 强制安装,即使覆盖其他包的文件也要安装

--nodeps:忽略依赖关系。当要安装的rpm包依赖其他包的时候,即使其他包没有安装,也要安装这个包

--query:查询指定包名。同-q选项。

--hash:同-h。

--install:表示安装,同-i选项。

--test:仅作测试,不真正执行,可用于测试安装,测试卸载。

--replacepkgs:重新安装。替换原有的安装。

--initdb:新建RPM的数据库。

--rebuilddb:重建RPM的数据库。

--percent:以百分比的形式输出安装的进度。

2、升级一个rpm包

rpm -Uvh filename

-U:升级软件,如果该软件没安装则安装软件

-F:升级软件

3、卸载一个rpm包

rpm -e filename  

filename通过rpm查询功能查询到的,卸载时的filename和安装时的是有区别的。

4、查询一个包是否安装

rpm -q 包名(这里的包名是不带有平台信息以及后缀名的)

  • eg:rpm -q alacarte-0.10.0-1.fc6(如果加了平台信息及后缀名alacarte-0.10.0-1.fc6.noarch.rpm反而不能查出来)
  • 查询当前系统上所安装的所有rpm包:rpm -qa

5、得到一个rpm包的相关信息

rpm -qi 包名(同样不需要加平台信息和后缀名) 

6、列出一个rpm包安装的文件

rpm -ql 包名

7、列出某一个文件属于哪个rpm包

rpm -qf 文件的绝对路径

三、yum使用方式

1、列出所有可用的rpm包

yum list

安装信息如果安装了就显示installed,未安装则显示base或者extras,如果是该rpm包已经安装但需要升级则显示updates。

2、搜索一个rpm包

有两种搜索方法:

①yum search [相关关键词]   

eg:yum serch vim

②使用grep过滤  

yum list | grep vim

3、安装一个rpm包

yum install [-y][rpm包名]

如果不加-y选项,则会以用户交互方式安装,首先列出需要安装的rpm包信息,然后会问用户是否需要安装,输入y安装,输入n不安装。直接加上-y选项,就省略掉了问用户是否安装的那一步。

4、卸载一个rpm包

yum remove [-y][rpm包名]

-y选项和安装时时一样的作用

5、升级一个rpm包

yum update [-y][rpm包]

6、其他常用查询项目

info:和list相似,类似rpm -qai执行效果

参考文章:

yum与rpm的区别以及详细介绍

RPM 和 YUM 包管理

软件包管理之rpm与yum

Linux软件安装中RPM与YUM 区别和联系

猜你喜欢

转载自blog.csdn.net/weixin_39731083/article/details/81225320