(一)yum源概述

  yum需要一个yum库,也就是yum源。默认情况下,CentOS就有一个yum源。在/etc/yum.repos.d/目录下有一些默认的配置文件(可以将这些文件移到/opt下,或者直接在yum.repos.d/下重命名)。

  首先要找一个yum库(源),然后确保本地有一个客户端(yum这个命令就是客户端),由yum程序去连接服务器。连接的方式是由配置文件决定的。通过编辑/etc/yum.repos.d/CentOS-Base.repo文件,可以修改设置。

  打开CentOS-Base.repo文件,可以看到url路径是CentOS的官网自身的yum源,http://mirrorlist.centos.org/?release=releasever&arch=releasever&arch= basearch&repo=os。可以将这个mirrorlist注释掉,然后将baseurl设置成国内的阿里云源http://mirrors.aliyun.com/repo/Centos-6.repo,也可以在用于大量的rpm包的前提下设置成自己的本地文件系统(挂载目录),需要移除CentOS-Base.repo文件,并编辑CentOS-Media.repo文件。

 

name=Description#一个描述,随意。

baseurl=#设置资源库的地址,可以写阿里云也可以是自己的yum

    ftp://    http://    file:///enabled={1|0}#enabled=1开启本地更新模式

gpgcheck={1|0}# gpgcheck=1表示检查;可以不检查gpgcheck=0

gpgkey=#检查的key;如果上面不检查这一行可以不写。

 

(二)yum源配置方法一(阿里云源)

1) 安装wget

yum install -y wget

2) 备份/etc/yum.repos.d/CentOS-Base.repo文件

cd /etc/yum.repos.d/mv CentOS-Base.repo CentOS-Base.repo.back

3) 下载阿里云的Centos-6.repo文件

wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

4) 重新加载yum

yum clean allyum makecache

(三)yum源配置方法二(本地挂载目录)

1) 下载iso文件

  从CentOS的官网下载CentOS的完整版iso文件,并上传到Linux文件系统中,例如/opt/tools/。

2) 创建挂载目录

  为iso文件的挂载创建目录。

mkdir /mnt/vcdrom

3) 挂载

  将iso文件挂载到挂载目录。

mount -o loop -t iso9660 /opt/tools/CentOS-6.7-x86_64-bin-DVD1.iso /mnt/vcdrom

4) 移除或备份Centos-Base.repo文件

cd /etc/yum.repos.d/mv Centos-Base.repo Centos-Base.repo.back

5) 编辑Centos-Media.repo文件

vim /etc/yum.repos.d/Centos-Media.repo

 

name=CentOS-$releasever - Media

 

baseurl=file:///mnt/vcdrom/#将baseurl修改为DVD的挂载目录

gpgcheck=1

 

enabled=1#开启本地更新模式

 

6) 重新加载yum

yum clean allyum makecache

7) 编写脚本并开机自动挂载

  首先,编写脚本。

vim /opt/shell/mymount.sh

#!/bin/bash

#mount -o loop -t iso9660 /opt/tools/CentOS-6.7-x86_64-bin-DVD1.iso /mnt/vcdrom

  其次,修改脚本执行权限。

chmod 777 /opt/shell/mymount.sh

  再次,修改/etc/rc.local配置文件。

vim /etc/rc.local

  在文件最后一行加上如下

/opt/shell/mymount.sh

  最后,重启机器测试。

init 6 

(四)yum源配置方法三(远程挂载目录)

1) 服务端配置

  第一,安装nfs-utils和rpcbind。

yum -y install nfs-utils rpcbind

  第二,设置开机启动服务。

chkconfig nfs on

chkconfig rpcbind on 

  第三,启动相关服务。

service rpcbind start #需要先启动rpcbind

service nfs start

  第四,创建共享目录。

mkdir -p /mnt/vcdrom/

  第五,编辑/etc/exports文件,添加如下内容。

vi /etc/exports 

/mnt/vcdrom/ 192.168.94.5(rw,async,no_root_squash,no_subtree_check)   

  注:配置文件说明:/mnt/vcdrom/为共享的目录,使用绝路径。对192.168.94.5(rw,no_root_squash,no_all_squash,sync) 为客户端的地址及权限,地址可以是一个网段,一个IP地址或者是一个域名,域名支持通配符,如:*youxia.com。

  权限说明:rw:read-write,可读写;ro:read-only,只读;sync:文件同时写入硬盘和内存;async:文件暂存于内存,而不是直接写入内存;no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定;anongid:匿名用户的GID值。

  第六,参考yum源配置方法二,将/opt/tools/下的ios文件挂载到/mnt/vcdrom,需要设置开机自动挂载。

2) 客户端配置

  第一,安装nfs-utils和rpcbind。

yum install -y nfs-utils rpcbind

   第二,设置开机启动服务。

chkconfig nfs on

chkconfig rpcbind on

   第三,启动服务。

service rpcbind start

service nfs start

  第四,创建挂载点。

mkdir -p /mnt/vcdrom/

   第五,挂载目录。

mount -t nfs server_ip:/mnt/vcdrom /mnt/vcdrom

   第六,编辑/etc/fstab,配置开机自动挂载

  这里可以参考yum源配置方法二的介绍,编写脚本,使脚本开机运行。下面给出第二种方法:

vim /etc/fstab 

server_ip:/mnt/vcdrom /mnt/vcdrom nfs rw,tcp,intr 0 1

  第七,修改yum源设置。

  参考yum源配置方法二。

如果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,其余禁用就可以了