实现私有 yum 仓库搭建
前提:必须是同一系统,可以是不同版本。
IP | 角色 |
192.168.61.136 | yum server |
192.168.61.141 | client |
步骤:
1. 在 yum server 机上搭建 web 服务,保证其它机器能能过web服务访问本机
2. 在 yum server 机上搭建 yum 仓服务
3. 在 client 机上将yum 的 repos 源指向 yum server 机
4. 测试
服务端配置
#安装wed服务
[root@rocky-136 yum.repos.d]#systemctl status firewalld.service#关闭防火墙
[root@rocky-136 yum.repos.d]#systemctl disable --now firewalld.service
Removed "/etc/systemd/system/multi-user.target.wants/firewalld.service".
Removed "/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service".#开启web服务
[root@rocky-136 ~]#systemctl enable --now httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
搭建yum仓 - NJU:https://mirrors.nju.edu.cn/rocky-vault/9.5/extras/x86_64/os/
[root@rocky-136 ~]#cd /etc/yum.repos.d[root@rocky-136 yum.repos.d]#ls
rocky-addons.repo rocky-devel.repo rocky-extras.repo rocky.repo[root@rocky-136 yum.repos.d]#vim nju-extras.repo[root@rocky-136 yum.repos.d]#cat nju-extras.repo
[nju-extras]
name=nju-extras
baseurl=https://mirrors.nju.edu.cn/rocky-vault/9.5/extras/x86_64/os/
gpgcheck=0
enabled=1#yum reposync 命令用于从远程 YUM 仓库同步软件包到本地目录
[root@rocky-136 yum.repos.d]#yum reposync --repoid=nju-extras --download-metadata -p /var/www/html[root@rocky-136 yum.repos.d]#cd /var/www/html[root@rocky-136 html]#ls
nju-extras[root@rocky-136 html]#tree nju-extras
客户端配置
[root@rocky-141 ~]# cd /etc/yum.repos.d/[root@rocky-141 yum.repos.d]# ls
rocky-addons.repo rocky-devel.repo rocky-extras.repo rocky.repo
[root@rocky-141 yum.repos.d]# vim 136-extras.repo[root@rocky-141 yum.repos.d]# cat 136-extras.repo
[136-extras]
name=136-extras
baseurl=http://192.168.61.136/nju-extras/
gpgcheck=0
enabled=1
[root@rocky-141 yum.repos.d]# yum repolist --repoid=136-extras -v
Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, groups-manager, kpatch, needs-restarting, notify-packagekit, playground, repoclosure, repodiff, repograph, repomanage, reposync, system-upgrade
YUM version: 4.14.0
cachedir: /var/cache/dnf
136-extras 1.0 MB/s | 16 kB 00:00
Repo-id : 136-extras
Repo-name : 136-extras
Repo-revision : 1748488894
Repo-distro-tags : [cpe:/o:rocky:rocky:9]: , , 9, L, R, c, i, k, n, o, u, x,: y
Repo-updated : Thu 29 May 2025 11:21:33 AM CST
Repo-pkgs : 55
Repo-available-pkgs: 55
Repo-size : 5.8 M
Repo-baseurl : http://192.168.61.136/nju-extras/
Repo-expire : 172,800 second(s) (last: Fri 26 Sep 2025 05:03:58 PM CST)
Repo-filename : /etc/yum.repos.d/136-extras.repo
Total packages: 55
yum仓同步工具
#CentOS 8 dnf 工具集成
dnf reposync --repoid=REPOID --download-metadata -p /path dnf reposync --help #查看帮助#CentOS 7 以前版本,reposync工具来自于yum-utils包
reposync --repoid=REPOID --download-metadata -p /path
创建yum仓工具
#可以根据目录中的 rpm 包生成 repodata 元数据
createrepo [OPTION] <directory_to_index>