yum安装软件

文章目录
  1. 1. yum安装软件
    1. 1.1. yum介绍
    2. 1.2. yum语法
    3. 1.3. yum 仓库源
    4. 1.4. yum 配置文件
    5. 1.5. yum使用

yum安装软件

yum介绍

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

yum语法

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

1
yum [options] command  package

[options] 说明:
其中选项是可选的,包括
-h(帮助)
-y(当安装过程提示选择全部为”yes”)
-q(不显示安装的过程)。
[command]
为所要进行的操作
[package …]
是操作的对象。

yum 仓库源

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

进入/etc/yum.repos.d目录下,

1
vi CentOS-Base.repo

内容如下:

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
27
28
29
30
31
32
33
34
35
36
37
38
39
# CentOS-Base.repo
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

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

yum 配置文件

来看一下/etc/yum.reops.d目录下有个yum.conf配置文件

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

yum使用

1  yum清空缓存
yum clean packages 清除缓存目录下的软件包,清空的是(/var/cache/yum)下的缓存
yum clean headers 清除缓存目录下的 headers
yum clean oldheaders 清除缓存目录下旧的 headers
yum clean all 清除缓存目录下的所有的软件包及旧的headers
yum makecache 更新本地缓存

2  yum 查询
yum search [java-1,8] # 搜索可以安装的程序包
yum list          # yum list显示所有已经安装和可以安装的程序包   
yum list rpm #显示安装包信息rpm
yum info rpm # 显示安装包rpm的详细信息

3  yum安装
yum -y install httpd
如果你不加-y他会问你要不要安装。如果你想自己来控制有些包是否安装,这里不要加-y,如果你想自动安装,不进行交互,这里加入-y。这个就是yum 的安装了,非常简单。

安装完之后查询一下
yum list httpd

4  yum删除
yum remove httpd #删除程序包httpd ,也就是卸载。
yum deplist rpm #查看程序rpm依赖情况

5  yum包的升级
yum check-update 检查可更新的程序
yum update 全部更新,升级所有包,以及升级软件和系统内核,这就是一键升级
yum update package1 更新指定程序包package1,   
yum upgrade package1 升级指定程序包package1

  1. 更换源
    yum repolist 查看当前源
    yum makecache 更新源缓存

参考文章
https://blog.csdn.net/shuaigexiaobo/article/details/79875730
https://blog.csdn.net/xueba8/article/details/79507460