先把RPM包打好
首先安装 createrepo
yum -y install createrepo
创建YUM仓库目录,(可以把yum下面的rpm包都放进去)
mkdir -p /application/yum/centos6/x86_64
上传rpm包
略
初始化
createrepo -pdo /application/yum/centos6/x86_64 /application/yum/centos6/x86_64/
每次加入一个rpm包都要更新一下
createrepo --update /application/yum/centos6/x86_64/
现在就可以提供yum服务器了
可以使用apache或者nginx提供服务web
但是为了方便,使用python的http模块
一定要先进入吗,要不然python执行当前目录
cd /application/yum/centos6/x86_64
python -m SimpleHTTPServer 80 &>/dev/null &
现在访问IE就可以看见
客户端配置
再找一台服务器
cd /etc/yum.repos.d
mkdir yum_bak && mv *repo yum_bak
vim yumbox.repo
[yumbox]
name=Server
baseurl=http://192.168.70.130
enable=1
gpgcheck=0
清除缓存
yum clean all
yum list
就应该能看见了
可安装的软件包(红色的都是本地安装过的)
可安装的软件包
nginx.x86_64 1.6.3-1 yumbox
openssl-devel.i686 1.0.1e-57.el6 yumbox
openssl-devel.x86_64 1.0.1e-57.el6 yumbox
pcre-devel.i686 7.8-7.el6 yumbox
pcre-devel.x86_64 7.8-7.el6 yumbox
就可以安装nginx
yum install nginx -y
搞定
镜像同步公网YUM源
YUM源必须支持rsync协议,否则不能使用rsync进行同步
上面只是将自己制作的rpm包,放入yum源。但还有一种企业需求,说的更具体一点,平时学生上课yum安装软件都是从公网下载的,占用带宽,因此在学校里搭建一个内网yum服务器,但又考虑到学生回家也要使用yum安装软件,如果yum软件的数据库文件repodata不一样,就会有问题。因此我想到的解决方法就是直接使用公网yum源的repodata。
镜像同步公网yum源
上游yum源必须要支持rsync协议,否则不能使用rsync进行同步。
http://mirrors.ustc.edu.cn/status/
CentOS官方标准源:rsync://mirrors.ustc.edu.cn/centos/
epel源:rsync://mirrors.ustc.edu.cn/epel/
同步命令:
# 使用rsync同步yum源,为了节省带宽、磁盘和下载时间,我只同步了CentOS6的rpm包,这样所有的rpm包只占用了21G,全部同步需要300G左右。
# 同步base源,小技巧,我们安装系统的光盘镜像含有部分rpm包,大概3G,这些就不用重新下载。
/usr/bin/rsync -av rsync://mirrors.ustc.edu.cn/centos/6/os/x86_64/ /data/yum_data/centos/6/os/x86_64/
/usr/bin/rsync -av rsync://mirrors.ustc.edu.cn/centos/6/extras/x86_64/ /data/yum_data/centos/6/extras/x86_64/
/usr/bin/rsync -av rsync://mirrors.ustc.edu.cn/centos/6/updates/x86_64/ /data/yum_data/centos/6/updates/x86_64/
# epel源
/usr/bin/rsync -av --exclude=debug rsync://mirrors.ustc.edu.cn/epel/6/x86_64/ /data/yum_data/epel/6/x86_64/
学生使用内网yum源方法
# 可以自建一个内网dns,如果没有,可使用hosts解析。
echo '192.168.0.200 mirrors.aliyun.com' >>/etc/hosts
结果展示
[root@KVM data]# du -sh yum_data
21G yum_data
[root@KVM data]# tree -L 3 yum_data/
yum_data/
├── centos
│ ├── 6
│ │ ├── extras
│ │ ├── os
│ │ └── updates
│ └── RPM-GPG-KEY-CentOS-6
├── epel
│ └── 6
│ └── x86_64