Linux下软件安装与卸载:rpm和yum工具

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下软件安装与卸载:rpm和yum工具相关的知识,希望对你有一定的参考价值。

一、rpm工具

rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。

rpm命令语法:

# rpm [选项] [参数]

选项包括:

-a:查询所有套件;
-b<完成阶段><套件档>+或-t <完成阶段><套件档>+:设置包装套件的完成阶段,并指定套件档的文件名称;
-c:只列出组态配置文件,本参数需配合"-l"参数使用;
-d:只列出文本文件,本参数需配合"-l"参数使用;
-e<套件档>或--erase<套件档>:删除指定的套件;
-f<文件>+:查询拥有指定文件的套件;
-h或--hash:套件安装时列出标记;
-i:显示套件的相关信息;
-i<套件档>或--install<套件档>:安装指定的套件档;
-l:显示套件的文件列表;
-p<套件档>+:查询指定的RPM套件档;
-q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户;
-R:显示套件的关联性信息;
-s:显示文件状态,本参数需配合"-l"参数使用;
-U<套件档>或--upgrade<套件档>:升级指定的套件档;
-v:显示指令执行过程;
-vv:详细显示指令执行过程,便于排错。

参数:

软件包:指定要操纵的rpm软件包。

在做小实验之前,挂载下光驱,里面Packages下的后缀名.rpm的就是rpm安装包

mount /dev/cdrom /mnt

然后执行

ls /mnt/Packages

列出rpm安装包,下图为截取了一部分
技术分享图片
RPM包的一般格式为:

name-version-arch.rpm
name-version-arch.src.rpm

1.name,如:xvattr,是软件的名称。
2.version,如:1.3 ,是软件的版本号。版本号的格式通常为“主版本号.次版本号.修正号”。27,是发布版本号,表示这个RPM包是第几次编译生成的。
3.arch,如:i386,表示包的适用的硬件平台,目前RPM支持的平台有:i386、i586、i686、sparc和alpha。
4.rpm或.src.rpm,是RPM包类型的后缀,.rpm是编译好的二进制包,可用rpm命令直接安装;.src.rpm表示是源代码包,需要安装源码包生成源码,并对源码编译生成.rpm格式的RPM包,就可以对这个RPM包进行安装了。
注:
el* :表示这个软件包的发行商版本,el7表示这个软件包是在RHEL 7.x/CentOS 7.x下使用。
devel:表示这个RPM包是软件的开发包。
noarch:这样的软件包可在任何平台上安装,不需特定的硬件平台。在任何硬件平台上都可运行。

实例

1、安装rpm包:rpm -ivh 包名
技术分享图片
2、升级rpm包:rpm -Uvh 包名
技术分享图片
3、卸载rpm包:rpm -e 包名
技术分享图片
卸载时后边跟的filename和安装时的是有区别的,安装时是把一个存在的文件作为参数,而卸载时只需要包名即可。
4、查询一个包是否已经安装:rpm -q 包名
技术分享图片
查询系统中已安装的rpm包:rpm -qa。下图为列出前十个已安装的rpm包
技术分享图片
5、得到一个已安装rpm包的相关信息:rpm -qi 包名
技术分享图片
6、列出一个rpm包安装的文件:rpm -ql 包名
技术分享图片
7、列出某个文件属于哪个rpm包:rpm -qf 文件的绝对路径
技术分享图片
这个还有个特殊用法:
技术分享图片



二、yum工具

yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
这个工具比rpm工具好用多了,当然前提是你使用的linux系统是支持yum的。yum最大的优势在于可以联网去下载所需要的rpm包,然后自动安装,在这个工程中如果要安装的rpm包有依赖关系,yum会帮你解决掉这些依赖关系依次安装所有rpm包。
yum命令语法:

yum [选项] [参数] [rpm包名]

选项(可选):

-h:显示帮助信息;
-y:对所有的提问都回答“yes”;
-c:指定配置文件;
-q:安静模式;
-v:详细模式;
-d:设置调试等级(0-10);
-e:设置错误等级(0-10);
-R:设置yum处理一个命令的最大等待时间;
-C:完全从缓存中运行,而不去下载或者更新任何头文件。

参数:

install:安装rpm软件包;
update:更新rpm软件包;
check-update:检查是否有可用的更新rpm软件包;
remove:删除指定的rpm软件包;
list:显示软件包的信息;
search:检查软件包的信息;
info:显示指定的rpm软件包的描述信息和概要信息;
clean:清理yum过期的缓存;
shell:进入yum的shell提示符;
resolvedep:显示rpm软件包的依赖关系;
localinstall:安装本地的rpm软件包;
localupdate:显示本地rpm软件包进行更新;
deplist:显示rpm软件包的所有依赖关系。

实例:

1、列出所有可用的rpm包:yum list
技术分享图片
2、搜索rpm包:yum search [包关键字],为了更精确搜索可以用grep来过滤
技术分享图片
3、安装rpm包:yum install [-y] [rpm包名],如果不加-y选项,则会以与用户交互的方式安装,首先是列出需要安装的rpm包信息,然后会问用户是否需要安装,输入y则安装,输入n则不安装。这样太麻烦,所以直接加上-y选项。如果一个包已存在,则会检查并更新。
技术分享图片
4、卸载rpm包:yum remove [-y] [rpm包名],卸载和安装一样,也可以直接加上 “-y” 选项来省略掉和用户交互的步骤。在这里要提醒一下,卸载某个rpm包一定要看清楚了,不要连其他重要的rpm包一起卸载了,以免影响正常的业务。
技术分享图片
5、升级rpm包:yum update [-y] [rpm包]
技术分享图片



三、使用本地的光盘来制作一个yum源
有时候你的linux系统不能联网,当然就不能很便捷的使用联网的yum源了,这时候就需要你自己会利用linux系统光盘制作一个yum源。具体步骤如下:
1、挂载光盘:

mount /dev/cdrom /mnt

2、删除/etc/yum.repos.d目录所有的repo文件(删除之前备份一下):

cp -r /etc/yum.repos.d /etc/yum.repos.d_bak //备份

# rm -rf /etc/yum.repos.d/*                 //删除yum.repos.d目录下的所有文件

3、创建dvd.repo文件:

vi /etc/yum.repos.d/dvd.repo //加入以下内容

[dvd]
name=install dvd
baseurl=file:///mnt
enabled=1
gpgcheck=0

4、保存并退出,刷新repos,生成缓存:

yum makecache

之后就可以安装rpm包了。

以上是关于Linux下软件安装与卸载:rpm和yum工具的主要内容,如果未能解决你的问题,请参考以下文章

在Linux下安装和卸载软件

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

安装与卸载软件rpm,yum

LINUX 用yum命令更新系统驱动和软件的问题

36.Linux软件管理--YUM工具

安装软件包的三种方法和rpm工具使用