CentOS 6 自建yum仓库
由于centos 源失效,给安装依赖包带来很大麻烦 ,故决定在本地自建centos6的yum仓库。
安装nginx及配置
在yum服务器上安装nginx、apache 或其他web服务。我安装的是nginx。
安装nginx过程暂略过。
安装后,主要针对nginx的配置文件如下:
[root@w180 include]# more mirrors.hw801.com.conf server { listen 80; server_name mirrors.hw801.com; # 仓库文件路径 root /home/web/hw801/mirrors; log_not_found on; #index index.html; location / { # 开启目录显示功能 autoindex on; # 关闭详细文件大小统计,默认为b,以kb、mb、gb为单位显示 autoindex_exact_size off; # 开启以服务器时区显示文件修改日期 autoindex_localtime on; # 以html风格将目录展示在浏览器中 autoindex_format html; charset utf-8,gbk; } }
搭建yum仓库
挂载镜像
上传iso
镜像文件
至服务器
挂载iso镜像
# mount -o loop -t iso9660 /tmp/CentOS-6.9-x86_64-bin-DVD1.iso /media/cdrom/
安装必备工具
createrepo 命令用于创建yum源(软件仓库),即为存放于本地特定位置的众多rpm包建立索引,描述各包所需依赖信息,并形成元数据
reposync 命令是一个python脚本。包含在yum-utils包中。因此,我们如果要使用reposync命令的时候,需要安装yum-utils包。
由于centos6 源已经失效,只能使用本地media源安装,修改CentOS-Media.repo
[root@w180 cdrom]# more /etc/yum.repos.d/CentOS-Media.repo # CentOS-Media.repo [c6-media] name=CentOS-$releasever - Media baseurl=file:///media/cdrom/ gpgcheck=0 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
更新yum 源
[root@w180 cdrom]#mv /etc/yum.repos.d/CentOS-Base.repo{,_bak} -关闭现有不能使用的yum源 [root@w180 cdrom]#yum clean all [root@w180 cdrom]#yum makecache [root@w180 cdrom]#yum -y install createrepo yum-utils
创建存储仓库路径
[root@w180 ~]#mkdir –p /home/web/hw801.com/mirrors/centos/6/os/x86_64/ [root@w180 ~]#mkdir –p /home/web/hw801.com/mirrors/centos/6/extras/x86_64/ [root@w180 ~]#mkdir –p /home/web/hw801.com/mirrors/centos/6/updates/x86_64/
创建yum仓库
[root@w180 ~]#createrepo /home/web/hw801.com/mirrors/centos/6/os/x86_64/ [root@w180 ~]#createrepo /home/web/hw801.com/mirrors/centos/6/extras/x86_64/ [root@w180 ~]#createrepo /home/web/hw801.com/mirrors/centos/6/updates/x86_64/
上传key文件
[root@w180 ~]#cp /etc/pki/rpm-gpg/ RPM-GPG-KEY-CentOS-6 /home/web/hw801.com/mirrors/centos
创建CentOS-Base.repo
[root@w180 centos]# more CentOS-Base.repo # CentOS-Base.repo [base] name=CentOS-$releasever - Base - mirrors.hw801.com failovermethod=priority baseurl=http://mirrors.hw801.com/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=http://mirrors.hw801.com/centos/RPM-GPG-KEY-CentOS-6 #released updates [updates] name=CentOS-$releasever - Updates - mirrors.hw801.com failovermethod=priority baseurl=http://mirrors.hw801.com/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=http://mirrors.hw801.com/centos/RPM-GPG-KEY-CentOS-6 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras - mirrors.hw801.com failovermethod=priority baseurl=http://mirrors.hw801.com/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=http://mirrors.hw801.com/centos/RPM-GPG-KEY-CentOS-6
上传CentOS-Base.repo文件
[root@w180 ~]#cp CentOS-Base.repo /home/web/hw801.com/mirrors/centos
上传Packages 包
[root@w180 ~]#cp –r /medir/cdrom/Packages /home/web/hw801.com /mirrors/centos/6/os/x86_64/
重载nginx配置
[root@w180 ~]#service nginx reload
客户端使用
[root@w207 web]#mv /etc/yum.repos.d/CentOS-Base.repo{,_bak} [root@w207 web]#curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.hw801.com/centos/CentOS-Base.repo [root@w207 web]#yum clean all [root@w207 web]#yum makecache [root@w207 web]#yum repolist