本文搭建本地仓库,仓库的内容来源于网易163的yum仓库,为了和163仓库保持一致,采取每天早上7点10分自动同步的策略。废话少说,赶快进入正题:
cd /sdb/zhuo
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服务并设置开机自启
安装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点十分同步一次