centos6环境创建局域网http方式的yum源 yum源服务器端配置: 在需要用到本地yum源的客户机配置:

环境:

yum服务器:centos 6.3 :192.168.8.20

yum源客户端:centos6.5

使用的主要rpm包来自centos6.5光盘


1. 首先需要检查一下你的系统的yum:


# rpm -qa | grep yum
yum-plugin-fastestmirror-1.1.30-14.el6.noarch
yum-presto-0.6.2-1.el6.noarch
yum-metadata-parser-1.1.2-16.el6.x86_64
yum-3.2.29-30.el6.centos.noarch


2.然后下载安装createrepo

# yum install -y createrepo

制作yum源 
1.随便创建一个地方作为yum仓库,用于存放rpm包:
# mkdir /usr/local/yumrepo

2. 把rpm包都拷贝进文件夹
我们可以将光盘里面的rpm包都拷贝到yum源目录

# mount /dev/cdrom /mnt

# cd /usr/local/yumrepo

# cp -r /mnt/Packages/* ./

3.把秘钥拷贝进来

# cp /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 ./
因为已经在yumrepo的目录里,所以用“./”表示当前目录。

4.执行命令生成repodata:

# createrepo -v /usr/local/yumrepo
因为我的rpm包是在此目录下,所以这么写,-v参数后面跟的是你的rpm包的文件夹!
centos6环境创建局域网http方式的yum源
yum源服务器端配置:
在需要用到本地yum源的客户机配置:
5.接下来就是制作一个后缀为localyum.repo的文件了。
# vim localyum.repo 加入如下内容:
[base]
name=localyum
baseurl=http://192.168.8.20
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

[updates]
name=localyum
baseurl=http://192.168.8.20
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6


enabled=1;此行的意思是是否启用该配置,1为启用,0不启用,至于其它的数字?没事的可以试着玩玩,或者818官网文档。 
gpgcheck=1这个是是否启用检查验证,1为检查,0为关闭,如果检查的话那么第6行就有用武之地了


接下来重点说一下第3行的baseurl,你若是本地使用的话按照如下方式来写:
baseurl=file:///usr/local/yumrepo


把创建的*.repo文件拷贝到/etc/yum.repos.d/文件夹下面


6.基于HTTP的yum源配置
安装apache软件
# yum install -y httpd


a.修改配置文件/etc/httpd/conf/httpd.conf:
将默认的www目录指向本地创建的yum仓库目录


DocumentRoot "/usr/local/yumrepo"
<Directory "/usr/local/yumrepo">
修改/usr/local/yumrepo目录的属主和属组为apache

# chown -R apache.apache /usr/local/yumrepo

删除默认主页

# rm /etc/httpd/conf.d/welcome.conf

b.重启服务:
# service httpd restart


访问:http://192.168.8.20/ 可以看到rpm包列表

centos6环境创建局域网http方式的yum源
yum源服务器端配置:
在需要用到本地yum源的客户机配置:

在需要用到本地yum源的客户机配置:

# cd /etc/yum.repos.d
将默认的yum源备份即关闭
# mv CentOS-Base.repo CentOS-Base.repo.bak
//有部分可能是epel.repo将enabled设置为0
# vim epel.repo


[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
centos6环境创建局域网http方式的yum源
yum源服务器端配置:
在需要用到本地yum源的客户机配置:

加入我们自己的localyum.repo文件
# vim localyum.repo
[base]
name=localyum
baseurl=http://192.168.8.20
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6


[updates]
name=localyum
baseurl=http://192.168.8.20
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6


# yum clean all
# yum makecache


yum的rpm包手动更新:
从163上面更新yum源包:
wget -np -t 1 -nH –cut-dirs=1 -r -c -L –exclude-directories=repodata –accept=rpm,zip,gz,xml http://mirrors.163.com/centos/6.5/os/x86_64/Packages/ -P /usr/local/yumrepo
每次手动添加了一个rpm包到Packages中,则在yum源服务器中执行如下命令:
createrepo --update /usr/local/yumrepo

接下来在使用yum的机器上yum clean all即可使用新加入进去的rpm包文件


通过对centos6和centos7的epel.repo文件对比可以知道两个操作系统引用rpm包的不同位置,需要单独配置


centos6环境创建局域网http方式的yum源
yum源服务器端配置:
在需要用到本地yum源的客户机配置: