既然搭建本地的yum源,就需要所有的rpm安装包,centOS Everything ISO版镜像文件中包含了完整安装版的内容,并对其进行补充,集成了所有软件,因此只要下载Everything ISO版的CentOS镜像即可
CentOS下载地址:https://www.centos.org/download/
在线安装:
如果系统没有默认安装httpd服务,则需要自己安装,若允许服务器临时访问互联网,可以直接使用下面命令在线按照httpd
yum -y install httpd
按照完成之后启动,设置开机自启动
systemctl start httpd
systemctl enable httpd
离线安装:
若系统没有安装且服务器在任何情况下也无法访问互联网,就需要离线安装
安装步骤如下:
将httpd目录下的httpd按照包上传到服务器(共三个)
这些安装包都可以在镜像解压目录的Package文件夹中找到,如httpd-2.4.6-88.el7.centos.x86_64.rpm文件,可直接在文件夹下搜索找到:
在服务器上进入到httpd按照包存放目录并执行插件安装命令
cd httpd
rpm -Uvh *.rpm --nodeps –force
启动:
systemctl start httpd启动
systemctl status httpd 检查 httpd 是否正常安装
systemctl enable httpd 设置 httpd 开机自启动
将createrepo和plugin的安装包上传到服务器
进入到上传文件夹安装全部插件
cd createpro\&plugin/
rpm -Uvh *.rpm --nodeps –force
将上面下载的iso镜像文件CentOS-7-x86_64-Everything-1810.iso解压
将解压文件中的Packages目录单独打包
压缩成tar.gz格式的是为了方便在linux上挤压
将Packages.tar.gz解压到/var/www/html/centos7/1810-x86_64/Local目录下
mkdir -p /var/www/html/centos7/1810-x86_64/Local
tar -zxvf Packages.tar.gz -C /var/www/html/centos7/1810-x86_64/Local/
上传key和repldate配置信息文件
将iso镜像文件CentOS-7-x86_64-Everything-1810.iso中的RPM-GPG-KEY-CentOS-7文件和repodata文件夹上传到服务器的/var/www/html/centos7/文件夹下
所有文件上传完成之后可以在浏览器中通过http方式访问到刚才上传的文件
http://ipxxx/centos7/1810-x86_64/Local/Packages/
创建索引
cd /var/www/html/
createrepo centos7/
cd /etc/yum.repos.d/
cp CentOS-Base.repo centos7-local.repo
复制repo文件之后将系统自带的其他*.repo文件全部删除或者移动到其他地方,否则后期运行 yum makecache 会出错
修改centos7-local.repo
vi centos7-local.repo
将原来内容全部删除,添加下面内容
[centos7-base]
name=CentOS7-Base
baseurl=http://ipxxx/centos7/
gpgcheck=0
enabled=1
priority=1
#baserul是创建索引的路径,即执行命令createrepo centos7/的路径,
# gpgcheck=0
值为0 表示跳过下载的rpm包的校验,
如果值为1,则要再添加gpgkey变量来指向校验文件如:
gpgkey= http://ipxxx/centos7/RPM-GPG-KEY-CentOS-7
要保证上文件路径能够在浏览器中访问到
#清除全部缓存
yum clean all
#重新加载yum缓存
yum makecache
#查看yum缓存列表
yum repolist
修改其他服务器的yum源配置
Yum源搭建完成之后,相当于服务端,若让其他服务器在安装软件时使用该服务端则需要如下操作
在其他服务器中分别删除/etc/yum.repos.d/下的所有文件
rm -rf /etc/yum.repos.d/
拷贝yum源配置文件到其他服务器
scp -r /etc/yum.repos.d/ bigdata137.hdp.com:/etc/
在其他服务器上重新加载yum缓存
yum clean all
yum makecache
yum repolist