搭建本地yum仓库

900阅读 0评论2017-03-31 bj我心飞翔
分类:LINUX

本文搭建本地仓库,仓库的内容来源于网易163的yum仓库,为了和163仓库保持一致,采取每天早上7点10分自动同步的策略。废话少说,赶快进入正题:

cd /sdb/zhuo
wget    下载163的源,作为来源仓库(放到本地目录下/etc/yum.repos.d,重命名为CentOS-Base.repo)
yum install yum-utils -y
yum install createrepo
yum repolist
Loaded plugins: langpacks
repo id                      repo name                                                status
base/7/x86_64                CentOS-7 - Base                                           9,363
centosplus/7/x86_64          CentOS-7 - Plus                                              51
dockerrepo                   Docker Repository                                            54
epel/x86_64                  Extra Packages for Enterprise Linux 7 - x86_64           11,421
extras/7/x86_64              CentOS-7 - Extras                                           264
updates/7/x86_64             CentOS-7 - Updates                                          856
repolist: 22,009

reposync -d -r base  -p /sdb/zhuo   //repo id较多,需要逐个获取
createrepo -v /sdb/zhuo/base
or  createrepo -p -d -o base base   //需要对多个id分别进行操作
安装http服务,配置本地源
安装apache服务并设置开机自启
# yum install httpd -y
# systemctl enable httpd.service 

修改http默认目录

DocumentRoot "/opt/yum" #修改此处

#
# Relax access to content within /var/www.
#
 #修改此处
AllowOverride None
# Allow open access:
Require all granted

# Further relax access to the default document root:
 修改此处 

重启httpd

# systemctl restart httpd.service
注意:好多repo文件中使用的baseurl采用了如下形式的地址:baseurl=。其中有两个变量,这两个变量的值可以通过如下命令获取:
[root@openstack ~]# rpm -qi centos-release
Name        : centos-release
Version     : 7
Release     : 2.1511.el7.centos.2.10
Architecture: x86_64
Install Date: Fri 14 Oct 2016 05:11:14 PM CST
Group       : System Environment/Base
Size        : 36019
License     : GPLv2
Signature   : RSA/SHA256, Wed 09 Dec 2015 06:01:49 PM CST, Key ID 24c6a8a7f4a80eb5
Source RPM  : centos-release-7-2.1511.el7.centos.2.10.src.rpm
Build Date  : Wed 09 Dec 2015 05:59:15 PM CST
Build Host  : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem
Vendor      : CentOS
Summary     : CentOS Linux release file
Description :
CentOS Linux release files
其中version的值就是releasever的值
使用arch命令获取basearch的值:
[root@openstack ~]# arch
x86_64
所以可以根据上面的说明创建不同的目录,把不同系统不同架构的rpm仓库放到不同的目录下。

在下载仓库时,默认是下载当前架构的对应仓库,如果想下载其余架构的仓库,可以使用-a参数指定。

为了能够让本地库能够保持较新的状态,可以使用如下方法定时同步:
crontab -e 
10 7 * * * reposync -d -r base  -p /sdb/zhuo
10 7 * * * reposync -d -r centosplus -p /sdb/zhuo
10 7 * * * reposync -d -r dockerrepo -p /sdb/zhuo
10 7 * * * reposync -d -r epel -p /sdb/zhuo
10 7 * * * reposync -d -r extras -p /sdb/zhuo
10 7 * * * reposync -d -r updates -p /sdb/zhuo

上面就是每天的7点十分同步一次
上一篇:linux下PS1命令提示符设置
下一篇:KVM详解,太详细太深入了,经典