当前位置: 首页 > news >正文

在Linux中配置内网可访问的YUM光盘源

文章目录

  • 1 构建内部YUM源必要性
  • 2 搭建内部yum源步骤
    • 2.1 准备实验环境
    • 2.2 基于光盘构建本地yum源
    • 2.3 安装HTTP服务器
    • 2.4 创建repodata目录
    • 2.5 将需要发布软件包复制到repodata目录
    • 2.6 安装createrepo包
    • 2.7 运行createrepo来创建仓库元数据
    • 2.8 启动HTTP服务
  • 三、客户端使用yum源
    • 3.1 备份原有的`repo`
    • 3.2 获取yum源的两种方法
    • 3.3 测试yum源
    • 3.4 httpd作为共享服务器使用

1 构建内部YUM源必要性

YUM光盘源默认只能本机使用,局域网其他服务器无法使用 YUM光盘源,所以需要通过HTTP构建整个局域网都可以访问的内部YUM源。

通过搭建内部YUM源,可以自动处理软件包之间的依赖关系,确保在安装或更新软件包时,所有必需的依赖项都能被正确处理

2 搭建内部yum源步骤

2.1 准备实验环境

角色操作系统IP地址
服务器端Rocky Linux release 9.110.10.10.200
客户端Rocky Linux release 9.110.10.10.201

2.2 基于光盘构建本地yum源

无网环境需要做本地yum源,首先需要在虚拟机上挂载iso镜像
(1)挂载光盘

[root@localhost ~]# mount /dev/cdrom /mnt
mount: /mnt: WARNING: source write-protected, mounted read-only.

(2)备份原有repo文件

[root@localhost ~]# mkdir /etc/yum.repos.d/backup
[root@localhost ~]# mv  /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup

(3)创建新repo文件

[root@localhost ~]# cat >> /etc/yum.repos.d/local.repo << EOF
[Base]
name=Base
baseurl=file:///mnt/BaseOS
enabled=1
gpgcheck=0
[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
enabled=1
gpgcheck=0
EOF

(4)安装软件测试

[root@localhost ~]# yum install -y telnet

顺利安装软件包就说明基于光盘做的yum源已经做好了。可以继续做下面的步骤了

2.3 安装HTTP服务器

YUM服务器上创建一个简单的HTTP服务,可以使用ApacheNginx,我这里使用Apache

[root@localhost ~]# yum install httpd -y

2.4 创建repodata目录

# 放置整个rockyLinux镜像的软件包
[root@localhost ~]# mkdir /var/www/html/rockylinux

2.5 将需要发布软件包复制到repodata目录

将光盘挂载后的文件拷贝到repodata目录

[root@localhost ~]# cp -r /mnt/* /var/www/html/rockylinux

整个镜像文件拷贝需要时间较长一点

2.6 安装createrepo包

[root@localhost ~]# yum install -y createrepo

2.7 运行createrepo来创建仓库元数据

[root@localhost ~]# createrepo /var/www/html/rockylinux
Directory walk started
Directory walk done - 6615 packages
Temporary output repo path: /var/www/html/rockylinux/.repodata/
Preparing sqlite DBs
Pool started (with 5 workers)
Pool finished

做成repo文件

[root@localhost ~]# mkdir /var/www/html/repos/rockylinx
[root@localhost ~]# cat >> /var/www/html/repos/rockylinx/rockylinux.repo << EOF
[Base]
name=Base
baseurl=http://10.10.10.200/rockylinux/BaseOS
enabled=1
gpgcheck=0
[AppStream]
name=AppStream
baseurl=http://10.10.10.200/rockylinux/AppStream
enabled=1
gpgcheck=0
EOF

2.8 启动HTTP服务

# 启动HTTP并设置开机自启动
[root@localhost ~]#  systemctl enable --now httpd
# 查看httpd状态
[root@localhost ~]# systemctl status httpd

三、客户端使用yum源

3.1 备份原有的repo

[root@localhost ~]# mkdir /etc/yum.repos.d/backup
[root@localhost ~]# mv  /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup

3.2 获取yum源的两种方法

方法一:直接wget已经在服务器端做好的repo文件

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# wget http://10.10.10.200/repos/rockylinx/rockylinux.repo

方法二:在客户端创建新的repo文件

[root@localhost ~]# cat >> /etc/yum.repos.d/rockylinux.repo << EOF
[Base]
name=Base
baseurl=http://10.10.10.200/rockylinux/BaseOS
enabled=1
gpgcheck=0
[AppStream]
name=AppStream
baseurl=http://10.10.10.200/rockylinux/AppStream
enabled=1
gpgcheck=0
EOF

3.3 测试yum源

# 先清一下原有yum源数据
[root@localhost ~]# yum clean all
# 安装telnet测试一下
[root@localhost ~]# yum install -y telnet

成功安装就代表内部yum源已经做成功了。

局域网内其他服务器也可以通过wget直接获取或配置repo文件来构建可用的yum源

3.4 httpd作为共享服务器使用

可以在httpd的发布目录下创建一个software目录,将一些常用的软件包放置到里面,局域网内的客户端可以直接通过wget来直接获取软件包

服务器端创建发布目录并将软件包上传

# 创建software目录
[root@localhost ~]# mkdir /var/www/html/software
# 此处上传Tomcat包到software为例
[root@localhost ~]# cp /root/apache-tomcat-8.5.97.tar.gz /var/www/html/software

客户端获取软件包

[root@localhost ~]# wget http://10.10.10.200/software/apache-tomcat-8.5.97.tar.gz

【温馨提示】:本次操作的服务器端是RockyLinux操作系统,不只是可以做rockylinux操作系统的YUM源,也可以在服务器端配置多种操作系统的yum源,方法相同,如RedHat/CentOSopenEuler麒麟V10等。

http://www.lqws.cn/news/86509.html

相关文章:

  • 大模型前处理-CPU
  • 第四十天打卡
  • 操作系统:文件系统笔记
  • odoo17 windows server布署错误分析
  • 【C盘瘦身】Docker安装目录占用C盘过大,一键移动给C盘瘦身
  • 【更正补全】edu教育申请通过方案
  • 35.x64汇编写法(二)
  • 也说字母L:柔软的长舌
  • 九(4).存在指针的引用,不存在引用的指针
  • FreeRTOS实时操作系统学习笔记
  • Python编程基础(三) | 操作列表
  • esp32关于PWM最清晰的解释
  • 6个月Python学习计划 Day 12 - 字符串处理 文件路径操作
  • `docker run`、`docker start`、`docker exec` 区别
  • 九.C++ 对引用的学习
  • (Python)列表的操作(增删改查、排序)
  • 基于C++的IOT网关和平台5:github项目ctGateway开发指南
  • 系统思考:成长与投资不足
  • 第100期 DL,多输入多输出通道
  • SpringBoot-Thymeleaf
  • 通讯录Linux的实现
  • 06.MySQL数据库操作详解
  • 云服务器无法远程连接怎么办?
  • MySQL中的字符串分割函数
  • 基于大模型的急性乳腺炎全病程风险预测与综合治疗方案研究
  • 深度剖析:AI 建站的现状、局限与未来展望-AI编程建站实战系列预告优雅草卓伊凡
  • 电脑桌面便签软件哪个好?桌面好用便签备忘录推荐
  • 【C++/Linux】TinyWebServer前置知识之IP协议详解
  • linux 的devmem2 调式使用说明
  • PAT-甲级JAVA题解(更新中...)