在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.1 | 10.10.10.200 |
客户端 | Rocky Linux release 9.1 | 10.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服务
,可以使用Apache
或Nginx
,我这里使用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/CentOS
,openEuler
,麒麟V10
等。