LinuxRPM和yum

发布时间 2023-11-29 23:34:18作者: 刘昊20218560

RPM
介绍
RPM 是 Red-Hat Package Manager(红帽软件包管理器)的缩写
这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,
包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。

是一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。

类似于 windows 的 setup.exe
rpm 的简单查询指令
查询已安装的 rpm软件包 列表:
rpm –qa|grep xx 
查询结果返回一个软件包的包名

举例:查看当前系统是否安装了 firefox 
指令: rpm -qa | grep firefox
查询结果:firefox-60.2.2-1.el7.centos.x86_64
结果说明:
软件名:firefox
版本号:60.2.2-1
适用操作系统: el7.centos.x86_64 (表示 centos7.x 的 64 位系统)
如果是 i686、i386 表示 32 位系统,noarch 表示通用(32/64位系统都适用)
rpm 的其它查询指令
rpm -qa (查询所安装的所有 rpm 软件包)

rpm -qa | more (分页显示more)

rpm -qa | grep X (过滤,比如 rpm -qa | grep firefox )

rpm -q 软件包名 (查询某个软件包是否安装)
案例:rpm -q firefox

rpm -qi 软件包名 (查询软件包的详细信息)
案例: rpm -qi firefox

rpm -ql 软件包名 (查询软件包中的文件和该软件包在哪个文件下)
案例: rpm -ql firefox

rpm -qf 文件全路径名 (查询某个文件所属在哪个软件包)
案例:rpm -qf /etc/passwd rpm 
案例:-qf /root/install.log
删除 rpm 软件包
基本语法:rpm -e RPM软件包的名称 //-e erase擦去
案例:删除 firefox 软件包
rpm -e firefox

注意:
(1)如果其它软件包依赖于您要删除的软件包,删除时则会产生错误信息。
如: 
rpm -e foo
removing these packages would break dependencies:foo is needed by bar-1.0-1
foo软件包被 bar-1.0-1需要,删除foo对barr-1.0-1有影响

(2)如果我们就是要删除 foo 这个 rpm 包,可以增加参数 --nodeps ,就可以强制删除
但是一般不推荐这样做,因为依赖于该软件包的程序可能无法运行
如:rpm -e --nodeps foo (nodeps 不检查依赖关系 no dependencies)
安装 rpm 软件包
基本语法:rpm -ivh RPM软件包全路径名称

rpm软件包其实是一个软件的安装包
点击Linux系统桌面的光盘,里面有一个Packages文件夹,这个文件夹里有很多rpm软件安装包

在/run/media/root/CentOS\ 7\ x86_64/Packages/ 目录下

选项:
i=install 安装
v=verbose 提示
h=hash 进度条

应用实例:
演示卸载和安装 firefox 浏览器
rpm -e firefox 
rpm -ivh /run/media/root/CentOS\ 7\ x86_64/Packages/firefox-60.2.2-1.el7.centos.x86_64.rpm

也可以在Packages中找到firefox安装包,复制到某一个目录下,这样写路径简单
yum
介绍
Yum(全称为 Yellow dog Updater, Modified)是一个 Shell 前端软件包管理器。
基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,
可以自动处理依赖性关系,并且一次安装所有依赖的软件包。

使用 yum list|grep 软件名 向yum服务器查询有没有该软件
有的话,使用 yum install 软件名 下载安装该软件
yum 的基本指令
查询 yum 服务器是否有 需要安装的软件:
yum list|grep 软件名

安装指定的软件:
yum install 软件名

案例:请使用 yum 的方式来安装 firefox 
rpm -e firefox
yum list | grep firefox 
yum install firefox
总结
rpm 是从本地安装包下载
yum 是从yum服务器下载安装软件