【实例】
由于公司服务器只有两台机器可以访问外网,其它处于内网的机器如果要安装一些工具包就比较麻烦了,所以决定在可以访问外网的机器做一个yum仓库。以下是实例。
可以访问外网的主机IP:120.120.120.111(server)
内网主机IP:192.168.75.76(client)
在server:
1、创建目录
#mkdir -p /var/ftp/pup/centos7/Packages
#mkdir /var/ftp/pup/centos7/updates
2、使用wget下载163yum源上centos7里的安装包
先下载基础包
#cd /var/ftp/pup/centos7/Packages
#wget -nd -np -l1 -r http://mirrors.163.com/centos/7.2.1511/os/x86_64/Packages/
下载下来的是index.html文件,由于不会用这个文件下载,就用了一个比较笨的办法
#cat index.html |awk -F"[><]" '{print "wget http://mirrors.163.com/centos/7.2.1511/os/x86_64/Packages/"$3}' > ./file.sh
检查file.sh中的语句都是wget+路径的形式就没有问题了,然后使用以下语句进行下载
#sh ./file.sh
以下是下载update包
#cd /var/ftp/pup/centos7/updates
#wget -nd -np -l1 -r http://mirrors.163.com/centos/7.2.1511/updates/x86_64/Packages/
#cat index.html |awk -F"[><]" '{print "wget http://mirrors.163.com/centos/7.2.1511/updates/x86_64/Packages/"$3}' > ./file.sh
#sh ./file.sh
3、创建yum仓库
#createrepo /var/ftp/pup/centos7/Packages
#createrepo /var/ftp/pup/centos7/updates
运行以上两个语句后,会在Packages和updates目录下创建repodata目录,里面记录yum server信息
由于server可以连接外网,就不需要更改本地的yum.repos.d目录下的repo文件了,至此,server本地yum仓库已经配置完毕
在client:
1、配置yum文件
#cat > /etc/yum.repos.d/CentOS7-openstack.repo <<EOF
[base]
enabled = 1
name = rhel7 - Base - local
baseurl = ftp://120.120.120.111/pub/centos7.2/Packages
gpgcheck = 0
gpgkey = ftp://120.120.120.111/pub/centos7.2/RPM-GPG-KEY-redhat-release
[updates]
enabled = 1
name= rhel7 - Updates - local
baseurl = ftp://120.120.120.111/pub/centos7.2/updates
gpgcheck = 0
gpgkey = ftp://120.120.120.111/pub/centos7.2/RPM-GPG-KEY-redhat-release
EOF
2、清除yun缓存
#yum clean all
3、使用yum安装
#yum install gcc
显示可以安装的提示,就证明你的yum仓库可以正式使用了。
注意:
1、如果配置的是两个yum仓库目录,则两个目录都需要使用createrepo进行yum仓库创建,不然在client端yum安装时会报错,显示其中一个仓库目录没有权限访问
2、ftp的默认目录是/var/ftp,如果需要更改这个目录,需要修改/etc/passwd中ftp对应行的目录记录,例如将/var/ftp目录修改为/usr/ftp,如下
ftp:x:14:50:FTP User:/var/ftp/:/sbin/nologin
ftp:x:14:50:FTP User:/usr/ftp/:/sbin/nologin
修改完毕后,server端需要将yum仓库建立在新的ftp目录下,client端的yum配置文件也要修改为最新的ftp目录地址,否则yum仓库无法使用。
参考文献:
RedHat Linux 本地yum源的配置 http://www.linuxidc.com/Linux/2013-08/88217.htm
RedHat 6.2 Linux修改yum源免费使用CentOS源 http://www.linuxidc.com/Linux/2013-07/87383.htm
配置EPEL YUM源 http://www.linuxidc.com/Linux/2012-10/71850.htm
Redhat 本地yum源配置 http://www.linuxidc.com/Linux/2012-11/75127.htm
yum的配置文件说明 http://www.linuxidc.com/Linux/2013-04/83298.htm
RedHat 6.1下安装yum(图文) http://www.linuxidc.com/Linux/2013-06/86535.htm
YUM 安装及清理 http://www.linuxidc.com/Linux/2013-07/87163.htm