Other · 2017-01-30 0

Red Hat/CentOS自建本地内网yum源

一、故事背景

每次在虚拟机安装完系统,需要配置yum 源,然后配置双网卡,一个连外网,一个连内网,就感觉非常麻烦,于是萌生了在内网中配置一个本地yum源的想法。yum源需要有2个,一个是redhat基础软件包,就是光盘的内容,包括base和Extra,还有一个就是epel的软件源。

EPEL (Extra Packages for Enterprise Linux,企业版 Linux 附加软件包) 是Fedora小组维护的一个软件仓库项目,针对红帽企业版 Linux(RHEL)及其衍生发行版(比如 CentOS)的一个高质量附加软件包项目。为RHEL/CentOS提供他们默认不提供的软件包。


二、配置过程

1、最小化安装redhat

[root@local-yum ~]# rpm -qa | wc -l
246

2、关闭selinux

[root@local-yum ~]# getenforce
Enforcing
[root@local-yum ~]# setenforce 0
[root@local-yum ~]# getenforce  
Permissive
[root@local-yum ~]# sed -i 's/SELINUX=enforcing/#SELINUX=enforcing/g;/#SELINUX=enforcing/a\SELINUX=disabled' /etc/selinux/config  
[root@local-yum ~]# grep SELINUX= /etc/selinux/config 
# SELINUX= can take one of these three values:
#SELINUX=enforcing
SELINUX=disabled

3、关闭防火墙

[root@local-yum ~]# service iptables stop
[root@local-yum ~]# chkconfig  iptables off
[root@local-yum ~]# chkconfig --list | grep iptables 
iptables        0:off   1:off   2:off   3:off   4:off   5:off   6:off

4、挂载本地光盘

[root@local-yum ~]# mkdir -p /opt/repo/{dvd,epel}
[root@local-yum ~]# mount /dev/sr0 /opt/repo/dvd
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@local-yum ~]# cd /etc/yum.repos.d/
[root@local-yum yum.repos.d]# ls
public-yum-ol6.repo
[root@local-yum yum.repos.d]# mv public-yum-ol6.repo public-yum-ol6.repo.bak
[root@local-yum yum.repos.d]# cat > dvd.repo < [dvd]
> name=install dvd
> baseurl=file:///opt/repo/dvd
> enabled=1
> gpgcheck=0
> EOF

[root@local-yum yum.repos.d]# yum repolist
Loaded plugins: ulninfo
repo id                         repo name                           status
dvd                             install dvd                         3,800
repolist: 3,800

此时DVD的repo已经安装上了

5、安装和启动httpd

yum clean all
yum makecache
yum install httpd

修改httpd的配置文/etc/httpd/conf/httpd.conf,主要为下面两项

ServerName yum-local
DocumentRoot "/opt/repo"
[root@local-yum yum.repos.d]# cd /etc/init.d/
[root@local-yum init.d]# ./httpd  start

6、修改yum的地址

将baseurl改成http协议

baseurl=http://10.0.0.100/dvd

[root@local-yum yum.repos.d]# yum clean all && yum makecache

另外一张光盘也可以这么制作

7、配置epel yum源

此时光盘的yum源已经配置完毕,我们下载epel源进行配置

[root@local-yum epel]# yum install -y  rsync createrepo

我们去epel的官网查找可以利用的镜像,然后利用rsync同步下来

https://admin.fedoraproject.org/mirrormanager/mirrors/EPEL/6/source


[root@local-yum epel]# mkdir -p /opt/repo/epel/6/x86_64/

[root@local-yum epel]# rsync -avzL rsync://mirrors.tuna.tsinghua.edu.cn/epel/6/x86_64/    /opt/repo/epel/6/x86_64/

下载完成后

创建repo

createrepo -p -d  /opt/repo/epel/6/x86_64/  

然后在/etc/yum.repo.d/下面编写repo文件 即可。