yum仓库
1.1、yum仓库的结构

yum仓库就是一种文件的组织方式。

yum仓库的结构示例:

centos
├── filelist.gz
├── timestamp.txt
├── 7
│   ├── os
│   │   ├── x86
│   │   │   ├── Packages
│   │   │   │    ├── alsa-utils-1.1.6-1.el7.x86.rpm
│   │   │   │    └── bash-4.2.46-31.el7.x86.rpm
│   │   │   └── repodata
│   │   └── x86_64
│   │   │   ├── Packages
│   │   │   │    ├── alsa-utils-1.1.6-1.el7.x86_64.rpm
│   │   │   │    └── bash-4.2.46-31.el7.x86_64.rpm
│   │   │   └── repodata
│   ├── extras
│   │   ├── x86
│   │   │   ├── Packages
│   │   │   │    ├── clang-3.4.2-8.el7.x86.rpm
│   │   │   │    └── epel-release-7-11.x86.rpm
│   │   │   └── repodata
│   │   └── x86_64
│   │   │   ├── Packages
│   │   │   │    ├── clang-3.4.2-8.el7.x86_64.rpm
│   │   │   │    └── epel-release-7-11.x86_64.rpm
│   │   │   └── repodata
│   └── updates
└── 6
    │
1.2、yum仓库的存储

yum仓库可以存放在任何地方,下面是两个例子:

  • 我们可以把它存储在CD-ROM中,通过把CD-ROM挂载到操作系统中,再配置一下仓库地址就可以了。
  • 我们可以通常把它存储在网络中的某个地方,通过网络进行访问,再配置一下仓库地址就可以了。
1.3、yum仓库配置

yum仓库是可以进行配置的,以满足不同的需求。

yum支持多个仓库。

yum仓库的配置文件存放在/etc/yum.repos.d/, 在这个文件夹里的文件,文件名都是以*.repo作为后缀。 这些文件的结构实际上是ini格式。

一个*.repo文件可以定义一个或者多个仓库。

.repo文件的参数说明:

参数说明
enabled
0表示不使用这个仓库
1表示使用这个仓库
gpgcheck
0表示不进行安装包合法性验证,不安全
1表示开启安装包的合法性验证,这样比较安全
gpgkeygpgkey是进行合法性验证时候使用的一个文件。这个文件路径是固定的,一般不需要修改。
baseurl仓库的URI,支持的协议为http、https、file。 显然,http、https是存在于网络上的,而file是本地的。 网络对安装速度有很大的影响。比如使用仓库的国外的源,往往安装较慢,在国内可以使用国内的镜像。或者使用本地仓库。
mirrorlistmirrorlist就是此仓库的镜像列表,镜像是备用的。
name仓库的名称,可以随便写。
1.4、常用的yum仓库
1.5、创建自己的yum仓库的镜像

yum仓库的镜像就是对原始仓库的一个完整克隆,镜像存在的目的就是使得网络访问速度加快。

国内开源镜像

创建自己的yum仓库的镜像的一般方法如下:

step1、使用wget从官方源中拉取maincommunity两个仓库:

wget -r -np -nH http://dl-cdn.alpinelinux.org/alpine/v3.8/main/x86_64/
wget -r -np -nH http://dl-cdn.alpinelinux.org/alpine/v3.8/community/x86_64/

step2、安装nginx

step3、将yum-repo目录整体移动到/usr/local/nginx/html目录下:

mv ~/yum-repo /usr/local/nginx/html/

step4、启动nginx

nginx

step5、得到仓库地址

http://your_host_ip/yum-repo/7/extra
http://your_host_ip/yum-repo/7/os