RPM和YUM

1、rmp包的管理

1.1、介绍

一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。RMP是RedHat Package Manager(RedHat软件包管理工具)的缩写,类似windows的setup.exe,这一文件格式名虽然打上了RedHat的标志,但理念是通用的。

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

1.2、rpm包的简单的查询指令

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

查询看一下,当前的Linux有没有安装mysql

rpm -qa | grep firefox

1.3、rpm包名基本格式

一个rmp包名:mysql-community-client-5.6.44-2.el6.x86_64

  • 名称:mysql-community-client
  • 版本号:5.6.44-2
  • 适用操作系统:el6.x86_64
  • 表示centos6.x的64位系统
  • 如果是i686、i386表示32位系统,noarch表示通用。

1.4、rpm包的其它查询指令

rpm -qa:查询所安装的所有rpm软件包

rpm -qa | more:[分页显示]

rpm -qa | grep X:过滤,例如:rpm -qa | grep mysql

rpm -q 软件包名:查询软件包是否安装

rpm -q mysql

rpm -qi 软件包名:查询软件包信息

例如查询nginx的软件包信息

rpm -ql 软件包名:查询软件包中的文件

例如nginx

rpm -qf 文件全路径名:查询文件所属的软件包

1.5、卸载rpm包

rpm -e RPM包的名称

如果其他软件包依赖于你要卸载的软件包,卸载时则会产生错误信息。如果我们就是要删除foo这个rpm包,可以增加参数--nodeps,就可以强制删除,但是一般不推荐这样做,因为依赖于该软件包的程序可能无法运行。如:rpm -e --nodeps foo,带上--nodeps就是强制删除。

1.6、安装rpm包:

基本语法

rpm -ivh rmp包全路径名称

参数说明

  • i=install 安装
  • v=verbose 提示
  • h=hash 进度条

2、yum

2.1、介绍

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

2.2、yum的基本指令

1 安装

yum install 全部安装

yum install package1 安装指定的安装包package1

yum groupinsall group1 安装程序组group1

2 更新和升级

yum update 全部更新

yum update package1 更新指定程序包package1

yum check-update 检查可更新的程序

yum upgrade package1 升级指定程序包package1

yum groupupdate group1 升级程序组group1

3 查找和显示

yum info package1 显示安装包信息package1

yum list 显示所有已经安装和可以安装的程序包

yum list package1 显示指定程序包安装情况package1

yum groupinfo group1 显示程序组group1信息yum search string 根据关键字string查找安装包

4 删除程序

yum remove | erase package1 删除程序包package1

yum groupremove group1 删除程序组group1

yum deplist package1 查看程序package1依赖情况

5 清除缓存

yum clean packages 清除缓存目录下的软件包

yum clean headers 清除缓存目录下的 headers

yum clean oldheaders 清除缓存目录下旧的 headers

yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 清除缓存目录下的软件包及旧的headers

2.3 yum 配置文件

/etc/yum.confyum的配置文件,如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[root@i-op5nhxmi ~]# cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

# This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
# It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
  • cachedir:yum缓存的目录,yum在此存储下载的rpm包和数据库,一般是/var/cache/yum。
  • debuglevel:除错级别,0~10,默认是2。
  • logfile:yum的日志文件,默认是/var/log/yum.log。
  • exactarch:代表是否只升级和你安装软件包cpu体系一致的包,如果设为1,则如你安装了一个i386的rpm,则yum不会用686的包来升级。
  • gpgcheck:代表是否进行gpg校验:0和1,如果没有,默认1。

RPM和YUM
https://randzz.cn/5d9fc5bc003c/rpm和yum/
作者
Ezreal Rao
发布于
2019年7月4日
许可协议