Linux--RPM包管理

282 阅读1分钟

 RPM包管理

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

RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,类似windows的setup.exe,这一文件格式名称虽然打上了RedHat的标志,但理念是通用的。

Linux的分发版本都有采用(suse,redhat,centos等等),可以算是公认的行业标准了。

rpm包的简单查询指令

查询已安装的rpm列表rpm -qa l grep xx

rpm包名基本格式
一个rpm包名: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表示通用。

rpm包的其它查询指令
rpm-qa:查询所安装的所有rpm软件包(很多的)
rpm-qa | more

rpm-qa | grep xxx 

[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包的名称

应用案例
删除firefox软件包
rpm -e firefox
细节讨论

如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息。
如:rpm -e foo removing these packages would break dependencies:foo is needed by bar-1.0-1

如果我们就是要删除foo这个rpm包,可以增加参数–nodeps,就可以强制删除,但是一般不推荐这样做,因为依赖于该软件包的程序可能无法运行
如:rpm -e --nodeps foo

安装rpm包

基本语法
rpm -ivh RPM包全路径名称

参数说明
i=install安装
v=verbose提示
h=hash 进度条

应用实例
演示卸载和安装firefox浏览器

先找到firefox的安装rpm包,你需要挂载上我们安装centos的iso文件,然后到/media下去找rpm找。
虚拟机可以按照以下方式挂载iso

  • cp firefox-45.0.1-1.el6.centos,x86_64.rpm /opt/
  • rpm -ivh firefox-45.0.1-1.el6.centos.x86_64.rpm

YUM

简介
yum是一个shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。

基本指令
查询yum服务器是否有需要安装的软件
yum list | grep xxx软件列表
安装指定的yum包
yum install xxx 下载安装yum

应用实例
案例:请使用yum的方式来安装firefox
先查看以下firefox rpm在yum服务器有没有
yum list | grep firefox


安装 yum install firefox