实验背景
客户现场有内网设备不能联网,但是需要升级openssh版本,离线手动升级效率太慢,故搭建局域网yum源后使用脚本升级。
一、准备yum源Packages
安装下载软件源所需的工具,查看软件源列表
[root@yumlocalserver ~]# yum install yum-utils –y
[root@yumlocalserver ~]# yum repolist
base:发行包
update:升级包
extras:扩展包
下载base
其他的可以一起下载下来,不过一般base就足够使用
[root@yumlocalserver ~]# reposync -r base
[root@yumlocalserver ~]# ls
二、搭建本地yum源
上一步下载的包就是我们需要的yum源,我们可以将他上传到我们搭建yum源的目标服务器上的指定文件夹,后续yum安装的时候就会使用这里面的安装包
[root@yumlocalserver ~]# mv base/Packages/ /data/yum/
[root@yumlocalserver ~]# ls /data/yum/
安装必要工具包:包拷贝完成之后需要构建yum使用的数据库,以xml文件形式存在,该数据库会对所有包进行分类建立索引,方便yum程序快速搜索安装包和检查包之间的依赖关系。但创建数据库要用到一个工具包createrepo,先要对它进行安装
[root@yumlocalserver ~]# cd /data/yum/Packages/
[root@yumlocalserver Packages]# yum -y install createrepo
Ps:因为我为了图方便,找了台有网的方便我下载直接使用了,不用来回传包了,我这个环境是有网的环境,如果没有互联网可以使用以下命令安装
rpm -ivh createrepo-0.9.9-28.el7.noarch.rpm python-deltarpm-3.6-3.el7.x86_64.rpm deltarpm-3.6-3.el7.x86_64.rpm
生成repodata信息
[root@yumlocalserver Packages]# createrepo /data/yum/Packages
配置yum.repos.d(先将原有的进行备份,在新建本地yum源的配置文件)
[root@yumlocalserver ~]# cd /etc/yum.repos.d/
[root@yumlocalserver yum.repos.d]# mkdir bak
[root@yumlocalserver yum.repos.d]# mv *.repo bak/
[root@yumlocalserver yum.repos.d]# vi local.repo
[root@yumlocalserver yum.repos.d]# cat local.repo
[local_repo]
name=local_repo
baseurl=file:///data/yum/Packages
gpgcheck=0
enabled=1
清除yum缓存后重建缓存
[root@yumlocalserver yum.repos.d]# yum clean all
[root@yumlocalserver yum.repos.d]# yum makecache
这时候可以使用yum测试是否正常下载了
安装httpd服务
通过http协议让其他主机可以访问本地yum源仓库
[root@yumlocalserver ~]# yum -y install httpd
配置httpd服务,修改默认访问目录
[root@yumlocalserver ~]# cd /etc/httpd/conf
[root@yumlocalserver conf]# cp httpd.conf httpd.bak
[root@yumlocalserver conf]# vi httpd.conf
修改完成后重新启动httpd服务并设置开机自启
[root@yumlocalserver conf]# systemctl restart httpd
[root@yumlocalserver conf]# systemctl status httpd
[root@yumlocalserver conf]# systemctl enable httpd
防火墙放行httpd服务的80端口以及关闭selinux
[root@yumlocalserver ~]# firewall-cmd --zone=public --add-port=80/tcp –permanent
[root@yumlocalserver ~]# firewall-cmd --reload
[root@yumlocalserver ~]# setenforce 0
三、实现局域网其他主机通过该yum进行安装软件
配置yum.repos.d(先将原有的进行备份,再新建本地yum源的配置文件)
[root@yumlocalclient ~]# cd /etc/yum.repos.d/
[root@yumlocalclient yum.repos.d]# mkdir bak
[root@yumlocalclient yum.repos.d]# mv *.repo bak
[root@yumlocalclient yum.repos.d]# vi local.repo
清除yum缓存后重建缓存
[root@yumlocalclient yum.repos.d]# yum clean all
[root@yumlocalclient yum.repos.d]# yum makecache
下载安装软件测试
能成功下载安装则是能成功使用我们搭建的局域网yum源了
[root@yumlocalclient ~]# yum -y install gcc