内网自建 yum 仓库
在某些情况下,我们没法直接从网络获取 yum 仓库内容,对服务器进行安装更新或安装软件,这个时候就需要我们 IT 人员在内网环境下面架设 yum 仓库服务器。
从光盘文件内容来构建 yum 仓库
服务器配置
我们打算通过 http 的方式,在内网中共享 yum 源,所以需要安装 http 服务:
[root@localhost ~]# yum install -y httpd
CentOS-8 - AppStream 3.5 kB/s | 4.3 kB 00:01
CentOS-8 - AppStream 1.2 MB/s | 6.3 MB 00:05
CentOS-8 - Base 4.5 kB/s | 3.9 kB 00:00
CentOS-8 - Base 767 kB/s | 2.3 MB 00:03
......
......
centos-logos-httpd-80.5-2.el8.noarch
Complete!
准备仓库目录,并复制光盘文件到仓库目录中:
[root@localhost ~]# mount /dev/sr0 /mnt
mount: /mnt: WARNING: device write-protected, mounted read-only.
[root@localhost ~]# mkdir /var/www/html/centos
[root@localhost ~]# cp -ar /mnt/ /var/www/html/centos/
[root@localhost ~]# mv /var/www/html/centos/mnt/ /var/www/html/centos/8
[root@localhost ~]# ls /var/www/html/centos/8
AppStream BaseOS EFI images isolinux media.repo TRANS.TBL
启动服务:
[root@localhost ~]# systemctl enable --now httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
配置防火墙:
[root@localhost ~]# firewall-cmd --add-service=http --permanent
success
[root@localhost ~]# firewall-cmd --reload
success
客户端配置
移动系统自带仓库到一个备份目录
[root@localhost ~]# mkdir repo_back
[root@localhost ~]# mv /etc/yum.repos.d/* repo_back/
创建新的仓库文件:
[root@localhost ~]# vim /etc/yum.repos.d/private.repo
[root@localhost ~]# cat /etc/yum.repos.d/private.repo
[BaseOS]
name=BaseOS
baseurl=http://192.168.1.26/centos/8/BaseOS/
enabled=1
gpgcheck=0
[AppStream]
name=Appstream
baseurl=http://192.168.1.26/centos/8/AppStream/
enabled=1
gpgcheck=0
验证:
[root@localhost ~]# yum clean all
0 files removed
[root@localhost ~]# yum makecache
Appstream 56 MB/s | 5.2 MB 00:00
BaseOS 50 MB/s | 2.2 MB 00:00
Last metadata expiration check: 0:00:01 ago on Mon 22 Mar 2021 05:04:04 PM CST.
Metadata cache created.