最近更新:2018-01-22,请参考

什么是yum源?

  • Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
  • 依赖关系问题,yum就是为了解决依赖关系而存在的。yum源就相当是一个目录项,当我们使用yum机制安装软件时,若需要安装依赖软件,则yum机制就会根据在yum源中定义好的路径查找依赖软件,并将依赖软件安装好。
  • YUM是“Yellow dog Updater, Modified”的缩写,是一个软件包管理器,YUM从指定的地方(相关网站的rpm包地址或本地的rpm路径)自动下载RPM包并且安装,能够很好的解决依赖关系问题。
  • YUM的基本工作机制如下:
    服务器端:在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。 
    客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。

yum源的目录

用嘴基本的cd命令进入yum源的目录,请各位查看

[root@localhost ~]# cd /etc/yum
yum/         yum.conf     yum.repos.d/ 
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls -la


总用量 48

drwxr-xr-x.  2 root root  250 1月  21 00:44 .
drwxr-xr-x. 78 root root 8192 1月  21 22:05 ..
-rw-r--r--.  1 root root 1664 8月  30 23:53 CentOS-Base.repo
-rw-r--r--.  1 root root 1309 8月  30 23:53 CentOS-CR.repo
-rw-r--r--.  1 root root  649 8月  30 23:53 CentOS-Debuginfo.repo
-rw-r--r--.  1 root root  314 8月  30 23:53 CentOS-fasttrack.repo
-rw-r--r--.  1 root root  630 8月  30 23:53 CentOS-Media.repo
-rw-r--r--.  1 root root 1331 8月  30 23:53 CentOS-Sources.repo
-rw-r--r--.  1 root root 3830 8月  30 23:53 CentOS-Vault.repo
-rw-r--r--.  1 root root 1209 1月  29 2014 mysql-community.repo
-rw-r--r--.  1 root root 1060 1月  29 2014 mysql-community-source.repo
[root@localhost yum.repos.d]# ls -a
.   CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo     mysql-community-source.repo
..  CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo  mysql-community.repo
[root@localhost yum.repos.d]# pwd
/etc/yum.repos.d
[root@localhost yum.repos.d]#

看到上面那么多文件,但是我们其实主要配置的就一个(CentOS-Base.repo),配置yum源主要有两种,一种是本地源,一种是网络源。

  • 本地源:自己光盘的rpm包集合(安装光盘)
  • 网络源:163或者是阿里云的yum源都可以,主要是从网络下载

网络源?命令以及其解说

01:主要备份原始的yum源,养成备份的习惯,会让你以后少很多烦恼。

mv ./CentOS-Base.repo ./CentOS-Base.repo.bak

02:下载yum文件,替代我们刚才备份的那个原始yum源。

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

03:这两条命令主要是清除和生成新的缓存,记得一定要敲着两个命令,重要。

yum clean all
yum makecache

04:下面来个整体示范,各位可以参考参考

[root@localhost yum.repos.d]# mv ./CentOS-Base.repo ./CentOS-Base.repo.bak
[root@localhost yum.repos.d]# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
--2018-01-21 22:44:31--  http://mirrors.163.com/.help/CentOS7-Base-163.repo


正在解析主机 mirrors.163.com (mirrors.163.com)... 59.111.0.251
正在连接 mirrors.163.com (mirrors.163.com)|59.111.0.251|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1572 (1.5K) [application/octet-stream]
正在保存至: “CentOS7-Base-163.repo”
100%[===========================================================================================>] 1,572 --.-K/s 用时 0s
2018-01-21 22:44:31 (217 MB/s) - 已保存 “CentOS7-Base-163.repo” [1572/1572])
[root@localhost yum.repos.d]# ls -la
总用量 56

drwxr-xr-x.  2 root root 4096 1月  21 22:44 .
drwxr-xr-x. 78 root root 8192 1月  21 22:05 ..
-rw-r--r--.  1 root root 1572 12月  1 2016 CentOS7-Base-163.repo
-rw-r--r--.  1 root root 1664 8月  30 23:53 CentOS-Base.repo.bak
-rw-r--r--.  1 root root 1309 8月  30 23:53 CentOS-CR.repo
-rw-r--r--.  1 root root  649 8月  30 23:53 CentOS-Debuginfo.repo
-rw-r--r--.  1 root root  314 8月  30 23:53 CentOS-fasttrack.repo
-rw-r--r--.  1 root root  630 8月  30 23:53 CentOS-Media.repo
-rw-r--r--.  1 root root 1331 8月  30 23:53 CentOS-Sources.repo
-rw-r--r--.  1 root root 3830 8月  30 23:53 CentOS-Vault.repo
-rw-r--r--.  1 root root 1209 1月  29 2014 mysql-community.repo
-rw-r--r--.  1 root root 1060 1月  29 2014 mysql-community-source.repo
[root@localhost yum.repos.d]# yum clean all


已加载插件:fastestmirror
正在清理软件源:

base extras mysql-connectors-community mysql-tools-community mysql56-community updates
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
[root@localhost yum.repos.d]# yum makecache


已加载插件:

fastestmirror
base                                                                                                          | 3.6 kB  00:00:00     
extras                                                                                                        | 3.4 kB  00:00:00     
mysql-connectors-community                                                                                    | 2.5 kB  00:00:00     
mysql-tools-community                                                                                         | 2.5 kB  00:00:00     
mysql56-community                                                                                             | 2.5 kB  00:00:00     
updates                                                                                                       | 3.4 kB  00:00:00     
(1/21): base/7/x86_64/group_gz                                                                                | 156 kB  00:00:00     
(2/21): base/7/x86_64/primary_db                                                                              | 5.7 MB  00:00:04     
(3/21): extras/7/x86_64/prestodelta                                                                           |  72 kB  00:00:00     
(4/21): extras/7/x86_64/primary_db                                                                            | 145 kB  00:00:00     
(5/21): extras/7/x86_64/other_db                                                                              |  97 kB  00:00:00     
(6/21): mysql-connectors-community/x86_64/filelists_db                                                        |  20 kB  00:00:00     
(7/21): mysql-connectors-community/x86_64/other_db                                                            | 4.7 kB  00:00:00     
(8/21): mysql-connectors-community/x86_64/primary_db                                                          |  16 kB  00:00:00     
(9/21): mysql-tools-community/x86_64/primary_db                                                               |  37 kB  00:00:00     
(10/21): base/7/x86_64/other_db                                                                               | 2.5 MB  00:00:01     
(11/21): mysql-tools-community/x86_64/other_db                                                                | 7.5 kB  00:00:00     
(12/21): mysql-tools-community/x86_64/filelists_db                                                            | 108 kB  00:00:00     
(13/21): mysql56-community/x86_64/primary_db                                                                  | 184 kB  00:00:00     
(14/21): mysql56-community/x86_64/other_db                                                                    |  50 kB  00:00:00     
(15/21): mysql56-community/x86_64/filelists_db                                                                | 620 kB  00:00:00     
(16/21): updates/7/x86_64/prestodelta                                                                         | 667 kB  00:00:01     
(17/21): extras/7/x86_64/filelists_db                                                                         | 528 kB  00:00:07     
(18/21): base/7/x86_64/filelists_db                                                                           | 6.7 MB  00:00:15     
(19/21): updates/7/x86_64/filelists_db                                                                        | 3.1 MB  00:00:09     
(20/21): updates/7/x86_64/primary_db                                                                          | 5.2 MB  00:00:08     
(21/21): updates/7/x86_64/other_db                                                                            | 521 kB  00:00:01     
Determining fastest mirrors


元数据缓存已建立