yum命令

 yum介绍

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

yum命令格式


yum的命令形式一般是如下: yum -opt command package
其中选项是可选的,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。[command]为所要进行的操作,[package …]是操作的对象。

yum的仓库配置文件位于/etc/yum.reops.d目录下
既然yum能自动下载软件并安装,那么yum是怎么知道从哪里下载呢,答案是从yum软件仓库中进行下载,yum的一切信息都存储在一个叫yum.reops.d目录下的配置文件中,通常位于/etc/yum.reops.d目录下。 在这个目录下面有很多文件,都是.repo结尾的,repo文件是yum源(也就是软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用!

进入/etc/yum.repo.d目录下,vim CentOS-Base.repo。内容如下:

内容解析:

[extras]                        :这个表示的是名称,[extras]是yum的ID,它必须唯一,本地有多个yum源的时候,这个[extras]必须是唯一的。
name=CentOS-$releasever - Base  :具体的yum源名字,其实相当于对它的描述描述信息  $r releasever你可以使用这个变量参考红帽企业Linux发行版,也就是说表示当前发行版的大版本号。
baseurl                            :是镜像服务器地址,只能写具体的确定地址。下面的例子中,只能有一个baseurl,但里面可以包含多个url。
mirrorlist                        :是镜像服务器的地址列表,里面有很多的服务器地址。这里有一个变量$arch,cpu体系,还有一个变量:$basearch,cpu的基本体系组。
baseurl和mirrorlist都是指向yum源的地址,不同点是包含地址的多少。你若自己写的话,我们一般只写一个地址,直接用baseurl就行
gpgcheck=0                       :要不要验证呢,1是要验证,0为取消验证,使用公钥检验rpm包的正确性。
gpgcheck                        :是否检查软件包的GPG签名,值为1则对下载的rpm将进行gpg校验,校验密钥就是gpgkey,一般自己的yum源是不需要检测的。
gpgkey                            :指定GPG签名文件的URL。
 

yum的主配置文件 /etc/yum.conf文件
再来看一下yum的主配置文件,/etc/yum.conf文件,这个文件定义了yum的日志路径,缓存目录等信息,如下: 


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

小技巧:在内网环境下,我们可能无法直接yum联网安装某个包,但我们可以通过在自己的笔记本虚拟机上先下载安装所需要的包,即在自己笔记本虚拟机上把yum.conf文件的参数keepcache设置为1,即安装时包缓存下载到cachedir=/var/cache/yum 目录,然后再上传到内网服务器上安装即可。 

yum常用命令


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
yum 安装一个软件的时候会把软件包下载到本地指定的目录中,所以为了节省磁盘空间,可以用上述命令清空缓存


2 、yum显示信息 

yum list                                                                  # yum list显示所有已经安装和可以安装的程序包   
yum list <package_name>                                                 # 显示安装包信息rpm,显示installed ,这里是包名,版本和仓库名
yum list repolist all                                                    #查询所有的yum仓库
yum info <package_name>                                                   #显示安装包rpm的详细信息
yum groupinfo <group_name>                                                 #显示程序组group信息

3、yum搜索、查看 

  yum search string                                                     #根据关键字string查找安装包
  yum deplist <package_name>                                            # 仅仅 查看程序rpm依赖情况
  yum provides */命令                                                    # 查看命令是由哪个包提供的(这个命令很有帮助)

4 、yum安装 

yum -y install <package_name>                                           #不加-y则会询问是否安装,想控制哪些包安装,则不要加-y,想自动安装不进行交互,则加-y
yum install --downloadonly --downloaddir=/xx/xxx/xx/                    #只下载软件但不安装

5、 yum删除、卸载程序 

yum remove <package_name>                                                # 卸载程序包,此卸载命令会yum或rpm安装的包生效,如果是编译安装的,则不受yum控制
yum groupremove <group_name>                                            # 删除程序组group

6、yum包的升级 

yum check-update                                                         #检查可更新的软件有哪些
yum update                                                                 #更新升级所有软件包
yum update <package_name>                                                 #更新指定程序包package,   
yum upgrade <package_name>                                                 #升级指定程序包package

7 、yum 解决依赖的原理


yum 解决依赖关系问题,自动下载软件包。yum是基于C/S架构。C指的是客户端, S指的是服务器,像ftp,http,file一样;关于yum为什么能解决依赖关系:所有的Yum 源里面都有repodata,它里面是有XML格式文件,里面有说明需要什么包。例如上堂课实验的:mysql-server rpm 需要:perl-DBI ,python,或者是php等等包。 

8、 yum 组的管理


yum进行安装的时候可以一组一组的进行安装,先来查看有哪些组可以安装:
输入:yum grouplist

Available Environment Groups:首先是可用的环境分组。
  Compute Node  计算节点
  Infrastructure Server 基础设施服务器
  File and Print Server  文件和打印服务
  Cinnamon Desktop   Cinnamon桌面
Installed Groups:已安装的组,开发工具
  Development Tools
Available Groups:可用的组。
如果我们想以组的方式来安装,加入我想安装安全工具:
输入:yum groupinstall "Security Tools"

配置本地yum源
先将镜像挂载到本地目录,然后配置文件里这样写: 

baseurl=file:///                           #注意是file开头加三个斜
baseurl=file:///mnt/vcdrom/                #将baseurl修改为DVD的挂载目录

常用的国内 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

中科大的 yum 源,安装方法查看:https://lug.ustc.edu.cn/wiki/mirrors/help/centos
搜狐 的 yum 源,安装方法查看: http://mirrors.sohu.com/help/centos.html

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

[root@nginx ~]# yum  install -y epel-release
 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值