学习:配置linux-Centos7系统离线源

参考文章:

Createrep + httpd 搭建离线环境 yum 源_yaoshixian的博客-CSDN博客Createrep + httpd 搭建离线环境 yum 源1、环境拓扑:IP服务器A192.168.160.134服务器B配置cache 缓存(也可不配置)sed -i 's/keepcache=0/keepcache=1/g' /etc/yum.conf安装 httpd 及 createrepo:...https://blog.csdn.net/yaoshixian/article/details/106783794

[httpd + createrepo]

准备两台linux虚拟机

第一台需要可以上互联网:

切换到local目录

[root@tcf ~]# cd /usr/local/

创建httpd目录并进入httpd目录

[root@tcf local]# mkdir repo

[root@tcf local]# cd repo

[root@tcf repo]# mkdir httpd

[root@tcf repo]# cd httpd

下载httpd的关联包

[root@tcf httpd]# yum -y install --downloadonly httpd --downloaddir=./ 这个命令可以做到只下载包不安装

可以使用[root@tcf httpd]# ll命令检查一下

然后安装httpd工具

[root@tcf httpd]# yum -y install httpd

安装好之后会自动创建/var/www/html/目录

在安装createrepo软件仓库工具

[root@tcf httpd]# yum -y install createrepo

安装好后,当前目录在/usr/local/repo/httpd/目录下,返回到repo目录,然后直接输入命令

[root@tcf httpd]# cd ../

[root@tcf repo]# createrepo ./

repo目录下对自动创建repodata目录,拷贝httpd下所有的内容到/var/www/html/的repo目录下

[root@tcf repo]# cd /var/www/html

[root@tcf html]# cp -r /usr/local/repo/ /var/www/html/

执行后/var/www/html/目录下就拷贝了/usr/local/目录下的repo目录

Centos密钥一般都存在/etc/pki/rpm-gpg/目录下,我这里文件名为RPM-GPG-KEY-CentOS-7,不同版本文件名并不相同,讲明要一并复制到repo中去

[root@tcf html]# cp /etc/pki/rpm-gpg/RPM-GPG-KEY-GentOS-7 /var/www/html/repo/repodata/RPM-GPG-KEY-GentOS-7

然后启动httpd服务,[root@tcf html]# systemctl start httpd,不过一般安装好后httpd服务都会自动运行,如果不确定可以使用[root@tcf html]# systemctl status httpd命令查看服务状态

 如果已经启动,在浏览器输入http://{虚拟机ip}/repo验证一下,通常情况下是连接不上的,因为linux防火墙不会默认开放httpd的80端口,这里使用命令解决

[root@tcf html]# firewall-cmd --add-service=http 

永久配置

[root@tcf html]# firewall-cmd --permanent --add-service=http

简单点也可以直接关闭firewalld服务[root@tcf html]# systemclt stop firewalld 

成功访问后截图

此时同一局域网的服务都可以访问该离线源

验证:

启动另一台linux服务器,不配置网络,如此一来yum -y install httpd命令就失效了,可以执行以下查看结果,这边就不整了

[root@tcf2 ~]# cd /etc/yum.repo.d/

找到CentOS-Base.repo并复制一份作为备份

[root@tcf2 yum.repo.d]# cp CentOS-Base.repo CentOS-Base.repo.bak

复制好后重命名CentOS-Base.repo为CentOS-TCF.repo,这一步可以不做,只是我自己想区分一下

[root@tcf2 yum.repo.d]# mv CentOS-Base.repo CentOS-TCF.repo

执行好后修改CentOS-TCF.repo的原配置

[root@tcf2 yum.repo.d]# vi CentOS-TCF.repo

删除所有其他源地址配置只留下一下配置

[base]
name=CentOS-TCF - Base
baseurl=http://ip/repo/     #ip为第一台服务器ip
enabled=1
gpgcheck=1
gpgkey=http://ip/repo/repodata/RPM-GPG-KEY-CentOS-7

执行完后保存Esc : wq

之后执行

[root@tcf2 yum.repo.d]# yum makecache fast

[root@tcf2 yum.repo.d]# yum repolist

查看结果

 我自己创建的名字可能有点不一样Local是我自己创建的,其他三个是网上下的,不用在意

这样这台服务使用yum - y install命令的时候都会去访问第一台服务器的离线源,目前之后httpd在仓库内,所以只能下载安装httpd

再次执行[root@tcf2 yum.repo.d]# yum -y install httpd查看结果

同理也可以通过yum -y install xxx --downloadonly --downloaddir=./的方式下载其他需要的依赖包来,在无法连接外网的生成环境下安装需要的软件工具。

httpd和createrepo在没有依赖包的情况下也可以直接手动安装,所以就算是生成环境只要有依赖包就能实现。

还有就是上诉操作实际上在一台服务器上也可以完成,修改一下.repo文件的配置即可

[base]
name=CentOS-TCF - Base
baseurl=file:///var/www/html/repo/     #这里配置改为本地地址就可以
enabled=1
gpgcheck=1
gpgkey=file:///var/www/html/repo/repodata/RPM-GPG-KEY-CentOS-7

通过这种方式安装离线包主要还是比起手动一步一步安装每一个依赖,这种方式在成功搭建起离线源之后更加方便快捷。离线源的搭建也不单单这样一种方式,在学习过程中也有使用ios挂载的方式搭建离线源,这边暂时没去学那一部分。

最后上面写的如果有哪里不对,非常欢迎一起讨论。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值