局域网内 自建centos 6 yum仓库

1,176 阅读2分钟

由于centos 6 源失效,给安装依赖包带来很大麻烦 ,故决定在本地自建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镜像

[root@w180 ~]#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 ~]#mkdirp /home/web/hw801.com/mirrors/centos/6/os/x86_64/
[root@w180 ~]#mkdirp /home/web/hw801.com/mirrors/centos/6/extras/x86_64/
[root@w180 ~]#mkdirp /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