yum命令详解和使用

目录

一、yum介绍

常见的软件封包类型

RPM的含义

二、 yum命令格式

三、常用命令

3.1 yum清空缓存列表

3.2 yum显示信息

3.2 yum安装

3.3 yum删除

3.4 yum包的更新和升级

四、常用的国内 yum 源


一、yum介绍

        Yum(全称为 Yellow dog Updater, Modified),是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

常见的软件封包类型

封包类型 说明
rpm软件包 扩展名以.rpm结尾,适用于redhat系列
deb软件包 扩展名以.deb结尾,适用于Debian系列
源代码软件包 以.tar.gz/.tar.bz2格式结尾的压缩包提供包含程序的原始代码文件

RPM的含义

1.RPM 是 Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理;在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用。

2.RPM里面都包含可执行的二进制程序,这个程序和Windows的软件包中的.exe文件类似是可执行的;RPM包中还包括程序运行时所需要的文件,这也和Windows的软件包类似,Windows的程序的运行,除了.exe文件以外,也有其它的文件。

3.一个RPM 包中的应用程序,有时除了自身所带的附加文件保证其正常以外,还需要其它特定版本文件,这就是软件包的依赖关系;依赖关系并不是Linux特有的,Windows操作系统中也是同样存在的;比如我们在Windows系统中运行3D游戏,在安装的时候,他可能会提示,要安装Direct 9 ;Linux和Windows原理是差不多的。                                                            RPM包文件名特征-软件名-版本信息.操作系统.硬件架构.rpm

二、 yum命令格式

yum的命令形式一般是如下:

yum [-opt]  command package

其中-opt选项是可选的,选项包括如下:

  • -h(帮助),
  • -y(当安装过程提示选择全部为"yes"),
  • -q(不显示安装的过程)等.

command为所要进行的操作,package是操作的对象。

yum的一切信息都存储在一个叫yum.reops.d目录下的配置文件中,通常位于/etc/yum.reops.d目录下。

[root@localhost ~]# ll /etc/yum.repos.d/
总用量 36
-rw-r--r--. 1 root root 1664 11月 23 2018 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 11月 23 2018 CentOS-CR.repo
-rw-r--r--. 1 root root  649 11月 23 2018 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  314 11月 23 2018 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 11月 23 2018 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 11月 23 2018 CentOS-Sources.repo
-rw-r--r--. 1 root root 5701 11月 23 2018 CentOS-Vault.repo
-rw-r--r--. 1 root root 2081 12月  5 11:42 docker-ce.repo

这个目录下面有很多文件,都是.repo结尾的,repo文件是yum源(也就是软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用!

打开CentOS-Base.repo:

yum命令详解和使用_第1张图片

  • [xxx]:名称,yum的ID,必须唯一,本地有多个yum源的时候,这里必须是唯一的
  • name:具体的yum源名字,其实相当于对它的描述描述信息
  • baseurl:镜像服务器地址,只能写具体的确定地址。只能有一个baseurl,但里面可以包含多个url
  • mirrorlist:镜像服务器的地址列表,里面有很多的服务器地址。变量arch,cpu体系,变量basearch,cpu的基本体系组。
  • baseurl和mirrorlist都是指向yum源的地址,不同点是包含地址的多少。自己写的话,我们一般只写一个地址,直接用baseurl就行
  • gpgcheck:0 取消验证。1 使用公钥检验rpm的正确性。
  • gpgkey:gpgcheck若是1将对下载的rpm将进行gpg的校验,校验密钥就是gpgkey,一般自己的yum源是不需要检测的。gpgcheck=0时gpgkey就可以不填写。

在来看一下yum.conf文件(vim /etc/yum.conf)

yum命令详解和使用_第2张图片

  • cachedir:yum下载的RPM包的缓存目录
  • keepcache:缓存是否保存,1保存,0不保存。
  • debuglevel:调试级别(0-10),默认为2
  • logfile:yum的日志文件所在的位置

三、常用命令

3.1 yum清空缓存列表

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

3.2 yum显示信息

  • yum list  显示所有已经安装和可以安装的程序包,这些列表里面的包的来源就是/etc/yum.repo.d
  • yum list 显示指定程序包安装情况
  • yum list 显示安装包信息rpm,显示installed ,这里是包名,版本和仓库名
  • yum list 这里是可获得包,说明还没有安装。
  • yum info 显示安装包rpm的详细信息
  • yum info 显示安装包信息
  • yum groupinfo 显示程序组信息
  • yum search 根据关键字string查找安装包

3.2 yum安装

  • yum -y install      如果你不加-y他会问你要不要安装。如果你想自己来控制有些包是否安装,这里不要加-y,如果你想自动安装,不进行交互,这里加入-y。这个就是yum 的安装了,非常简单。安装完之后查询一下
  • yum list ,Installed 说明已经安装好了
  • yum install 全部安装
  • yum install 安装指定的安装包package
  • yum groupinsall 安装程序组group

3.3 yum删除

  • yum remove 删除程序包,也就是卸载。
  • yum deplist 查看程序rpm依赖情况
  •  yum groupremove 删除程序组group

3.4 yum包的更新和升级

  • yum check-update 检查可更新的程序
  • yum update 全部更新,升级所有包,以及升级软件和系统内核,这就是一键升级。他可以更新CentOS的内核到最新版本。
  • yum update 更新指定程序包package
  • yum upgrade 升级指定程序包package
  • yum groupupdate 升级程序组group

有时候需要将高版本的依赖降级到低版本,降级命令如下

yum downgrade    降级,对于有依赖的,yum不会自动降级,需要手动降级依赖项

四、常用的国内 yum 源

阿里云yum镜像仓库是国内最好的yum源之一 ,无论是速度还是软件版本,都非常的不错。将系统的yum源设置为阿里云镜像仓库,可以提升软件包安装和更新的速度,同时避免一些常见软件版本无法找到。

1、安装步骤
首先备份/etc/yum.repos.d/CentOS-Base.repo

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2、下载对应的repo文件
下载对应版本 repo 文件, 放入 /etc/yum.repos.d/ (操作前请做好相应备份)

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo		#下载阿里云的镜像并重命名

3、生成缓存
运行以下命令生成缓存

yum clean all
yum makecache
4、其他yum源
除了阿里云镜像之外,国内还有其他不错的 yum 源,比如网易、中科大和搜狐。
网易的yum源

CentOS5 :http://mirrors.163.com/.help/CentOS5-Base-163.repo
CentOS6 :http://mirrors.163.com/.help/CentOS6-Base-163.repo
CentOS7 :http://mirrors.163.com/.help/CentOS7-Base-163.repo

安装epel扩展源

以上我们安装的网络yum源基本都是基础的yum源,有些软件不一定能在其找得到,而epel源是一个扩展源,里面有很多软件,所以安装epel扩展源是一个很好的选择,安装如下:

yum  install -y epel-release
 

你可能感兴趣的:(Linux,linux)