如果 CentOS 服务器处在内网环境中时,如果缺少依赖手动安装那么会非常麻烦,要花费很多时间来寻找 rpm 包,现在如果搭建本地的 yum 源,就非常方便了,如果搭建 http 的,那么局域网内其他服务器就都可以使用了,使用 yum 源首先需要一个 CentOS 安装镜像,这里是:CentOS-7-x86_64-DVD-1511.iso,下面是 http yum 源搭建和配置过程
首先需要一个 web 服务器,比如 apache httpd 或者 nginx 均可以,如果是 nginx 要开启访问目录列表权限,一般安装 CentOS 的时候都会安装 httpd 服务器,所以这里直接使用 apache httpd;如果没有安装的话可以通过 rpm 或者从官网下载源码包来编译安装,之前专门写过一篇文章来安装 apache 的,具体过程不再叙述;如果能联网的话,可以直接使用 yum -y install httpd 来安装,我这里已经安装了,所以直接使用 systemctl start httpd.service 启动 httpd 服务,启动之后执行命令 systemctl status httpd.service 来查看运行状态,如下图所示,就是启动成功了:
然后通过浏览器访问测试,如下图:
现在服务器运行正常,并且服务器的根目录在 / var/www/html 下,可以解析静态页面以及显示目录列表,接下来需要挂载光盘镜像,挂载点在 / mnt/cdrom 下
- mkdir /mnt/cdrom
- mount -t iso9660 -o loop CentOS-7-x86_64-DVD-1511.iso /mnt/cdrom/
挂载之后创建软链接到 / var/www/html 下
- ln -s /mnt/cdrom/ /var/www/html/CentOS7
然后访问浏览器测试,这里是:http://192.168.182.128/CentOS7
现在就成功看到光盘内容,yum 源配置成功,现在配置主机的 yum 指向这个 yum 源
编辑配置文件:/etc/yum.repos.d/CentOS-Base.repo,[base] 块默认如下:
然后注释 mirrorlist,放开 baseurl 配置成 yum 源位置,还有 gpgkey 也配置成对应位置,如下图:
配置完这些以后,然后在 [updates] 和[extras]都添加一个 enabled=0 配置项,表示不生效,一般只用 [base] 中的配置即可,配置好之后保存退出
然后执行 yum repolist 查看 yum 源信息
之前联网情况如下图:
可以看到有互联网镜像站来源,配置本地之后如下图:
现在本地的 yum 源都配置好了,直接使用 yum 命令安装软件即可
有些特殊情况下,如果配置了 CentOS-Base.repo 还是会出现连接一些网址并且失败,这时候手动检查一下 / etc/yum.repos.d / 下面其他一些配置文件,看看是否有连接外网的配置,如果有的话直接 enabled=0 禁用掉就可以了;需要注意一点就是 / etc/yum.repos.d / 下面所有的配置文件都可以用,包括自己建的比如 CentOS.repo 也是可以的,只要是启用的,yum 都会进行加载,一般都是启用 CentOS-Base.repo,其余禁用就可以了
来源: http://www.bubuko.com/infodetail-1972207.html