一、搭建本地yum源
1、将系统镜像复制到空间较大的目录
[root@localhost ~]# mv CentOS-7.9-x86_64-DVD-2009.iso /home/
2、创建挂载目录并挂载系统镜像
[root@localhost ~]# cd /home
[root@localhost home]# mkdir /mnt/iso
[root@localhost home]# mount -o loop CentOS-7.9-x86_64-DVD-2009.iso /mnt/iso
mount: /dev/loop0 写保护,将以只读方式挂载
[root@localhost home]# ls /mnt/iso
CentOS_BuildTag EFI EULA GPL images isolinux LiveOS Packages repodata RPM-GPG-KEY-CentOS-7 RPM-GPG-KEY-CentOS-Testing-7 TRANS.TBL
3、备份原有的yum源信息并修改配置本地yum源信息
[root@localhost home]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir ./bak
[root@localhost yum.repos.d]# mv ./*.repo ./bak/
[root@localhost yum.repos.d]# cp ./bak/CentOS-Media.repo .
[root@localhost yum.repos.d]# vi CentOS-Media.repo
# CentOS-Media.repo
# This repo can be used with mounted DVD media, verify the mount point for
# CentOS-7. You can use this repo and yum to install items directly off the
# DVD ISO that we release.
# To use this repo, put in your DVD and use it with the other repos too:
# yum --enablerepo=c7-media [command]
# or for ONLY the media repo, do this:
# yum --disablerepo=\* --enablerepo=c7-media [command]
[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/
file:///mnt/iso <--此处修改为镜像挂载路径
file:///media/cdrecorder/
gpgcheck=1
enabled=1 <--此处将0改为1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
4、清理并重新读取yum源信息
[root@localhost yum.repos.d]# yum clean all
已加载插件:fastestmirror, langpacks
正在清理软件源: c7-media
Cleaning up list of fastest mirrors
[root@localhost yum.repos.d]# yum repolist
二、搭建局域网yum源
1、安装Http服务和xml生成工具,由于安装系统时已经顺便安装了相应的安装包,所以此处无须再进行安装。
[root@localhost ~]# yum install -y httpd createrepo
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* c7-media:
file:///mnt/iso/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /mnt/iso/repodata/repomd.xml"
正在尝试其它镜像。
file:///media/cdrecorder/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /media/cdrecorder/repodata/repomd.xml"
正在尝试其它镜像。
file:///media/CentOS/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /media/CentOS/repodata/repomd.xml"
正在尝试其它镜像。
软件包 httpd-2.4.6-95.el7.centos.x86_64 已安装并且是最新版本
软件包 createrepo-0.9.9-28.el7.noarch 已安装并且是最新版本
无须任何处理
2、新建存放yum源文件的目录并将相关文件复制进去
[root@localhost ~]# mkdir -p /home/data/yum.repo/centos/7/os/x86_64/Packages
[root@localhost ~]# mkdir -p /home/data/yum.repo/centos/7/updates/x86_64/Packages
[root@localhost ~]# mkdir -p /home/data/yum.repo/tools/
[root@localhost ~]# cp -R /mnt/iso/Packages/* /home/data/yum.repo/centos/7/os/x86_64/Packages/
[root@localhost ~]# cp -R /mnt/iso/repodata /home/data/yum.repo/centos/7/os/x86_64
[root@localhost ~]# cp -R /mnt/iso/repodata /home/data/yum.repo/centos/7/updates/x86_64
[root@localhost ~]# cp -R /mnt/iso/repodata /home/data/yum.repo/tools
[root@localhost ~]# cp -R /mnt/iso/RPM-GPG-KEY-CentOS-7 /home/data/yum.repo/
3、http服务调整
查看httpd服务状态
[root@localhost home]# service httpd status
Redirecting to /bin/systemctl status httpd.service
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: inactive (dead)
Docs: man:httpd(8)
man:apachectl(8)
删除默认的html文件夹
[root@localhost home]# rm -rf /var/www/html
创建yum源文件目录到网站目录的软链接
[root@localhost home]# ln -s /home/data/yum.repo /var/www/html
启动http服务并查看服务状态
[root@localhost home]# service httpd start
Redirecting to /bin/systemctl start httpd.service
[root@localhost home]# service httpd status
Redirecting to /bin/systemctl status httpd.service
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: active (running) since 五 2022-02-25 11:02:04 CST; 14s ago
Docs: man:httpd(8)
man:apachectl(8)
Main PID: 16291 (httpd)
Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec"
Tasks: 7
CGroup: /system.slice/httpd.service
├─16291 /usr/sbin/httpd -DFOREGROUND
├─16294 /usr/sbin/httpd -DFOREGROUND
├─16295 /usr/sbin/httpd -DFOREGROUND
├─16296 /usr/sbin/httpd -DFOREGROUND
├─16297 /usr/sbin/httpd -DFOREGROUND
├─16298 /usr/sbin/httpd -DFOREGROUND
└─16299 /usr/sbin/httpd -DFOREGROUND
2月 25 11:02:04 localhost.localdomain systemd[1]: Starting The Apache HTTP S...
2月 25 11:02:04 localhost.localdomain httpd[16291]: AH00558: httpd: Could no...
2月 25 11:02:04 localhost.localdomain systemd[1]: Started The Apache HTTP Se...
Hint: Some lines were ellipsized, use -l to show in full.
发现网页端无法打开,将网站端口添加到防火墙规则里并重启防火墙
[root@localhost home]# firewall-cmd --add-port=80/tcp --permanent
success
[root@localhost home]# systemctl restart firewalld.service
[root@localhost home]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eno1
sources:
services: dhcpv6-client ssh
ports: 5901-5905/tcp 80/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
设置http服务开机启动
[root@localhost ~]# systemctl enable httpd
4、配置客户端yum源配置
[root@localhost home]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# cp ./bak/CentOS-Base.repo .
[root@localhost yum.repos.d]# vi CentOS-Base.repo
# CentOS-Base.repo
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
[base]
name=CentOS-$releasever - Base
baseurl=http://10.2.192.111/centos/$releasever/os/$basearch/
gpgcheck=1
enabled=1
gpgkey=http://RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=http://10.2.192.111/centos/$releasever/updates/$basearch/
gpgcheck=1
enabled=1
gpgkey=http://10.2.192.111/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
baseurl=http://10.2.192.111/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://10.2.192.111/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://10.2.192.111/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://10.2.192.111/RPM-GPG-KEY-CentOS-7
[root@localhost yum.repos.d]# vi CentOS-Tools.repo
[base]
name=CentOS-$releasever - Base
baseurl=http://10.2.192.111/tools/
gpgcheck=0
enabled=1
网友评论