搭建本地yum源的目的是:局域网不能上外网,本地安装会更快。
下面记录下两种搭建方式:
1、本地file,可以创建也可以不创建createrepo,不创建是因为使用了已经存在repodata,这是仓库数据。本地file的自能本机使用,局域网中的其他机器是访问不了的;
2、搭建httpd,vsftpd,来为其他局域网中的机器提供yum源;
我主要是介绍下httpd的搭建方式,这个也比较实用;
注:
1、以下都是在不能上外网的情况下安装,在ISO镜像中没有的rpm包则另外下载安装;
2、安装镜像是CentOS7.3
3、这里都是root用户操作
搭建步骤:
1. 首先安装httpd服务
安装httpd服务需要安装httpd-2.4.6-45.el7.centos.x86_64.rpm包,然而还有需要安装一些依赖包,不然会报错,如:
[root@study Packages]# rpm -ivhhttpd-2.4.6-45.el7.centos.x86_64.rpm
warning: httpd-2.4.6-45.el7.centos.x86_64.rpm: Header V3RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
error: Failed dependencies:
/etc/mime.types is needed byhttpd-2.4.6-45.el7.centos.x86_64
httpd-tools = 2.4.6-45.el7.centos is needed byhttpd-2.4.6-45.el7.centos.x86_64
依赖包的安装顺序也是有关系的,以上报错是还缺少mailcap-2.1.41-2.el7.noarch.rpm,
httpd-tools-2.4.6-45.el7.centos.x86_64.rpm
正确依赖包安装顺序如下:
mailcap-2.1.41-2.el7.noarch.rpm
apr-1.4.8-3.el7.x86_64.rpm
apr-util-1.5.2-6.el7.x86_64.rpm
httpd-tools-2.4.6-45.el7.centos.x86_64.rpm
httpd-2.4.6-45.el7.centos.x86_64.rpm
主要还是安装顺序的关系这个需要特别注意。
2. 创建httpd目录
mkdir -p /var/www/html/ceph/10.2.5
这个“/var/www/html/”是httpd的默认目录,也可以自己指定,不在这里详述。
3. 复制rpm包至/var/www/html/ceph/10.2.5
4. 在/etc/yum.repos.d/下创建配置文件ceph.repo(文件名随意,我这里是为了搭建ceph),删除系统原本的repo文件,或者在原本的repo文件中每一个属性参数都加上enabled=0,这样就不启动了;
如:
[root@ceph1]#cat /etc/yum.repos.d/ceph.repo
[ceph_local]
name=ceph-local
baseurl=http://192.168.195.100/ceph/10.2.5
gpgcheck=0
这个IP就是安装httpd的IP地址。
5. 执行yum clean all清除缓存
6. createrepo /var/www/html/ceph/10.2.5创建仓库
7. 启动httpd:systemctl start httpd.service
8. yum makecache 下载服务器上的rpm包至缓存
9. 局域网其他机器需要使用yum源,需要将192.168.195.100这台机器上ceph.repo分发过去,在同样的目录下;
10. 至此,就可以在局域网中使用yum来安装了,并且使用的是本地yum源。我是将http://mirrors.163.com下centos的最新的ISO下载下来后的rpm。
添加新rpm包到仓库后,需要重新createrepo,重启httpd,在其他机器上需要重新yum makecache一下。