搭建企业内部yum仓库

1114 字
6 分钟
搭建企业内部yum仓库

搭建企业内部yum仓库#

[TOC]


背景#

image-20260318090451464
image-20260318090451464

  • 客户端注释掉它 原有的yum源

    来模拟客户端不能上网的情况!

image-20260318090411208
image-20260318090411208

服务端#

Terminal window
(1)配置epel扩展仓库!
# 直接去阿里云官网找..
[root@R11 ~]# cd /etc/yum.repos.d/
[root@R11 yum.repos.d]# rm -rf epel*
[root@R11 yum.repos.d]# wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
[root@R11 yum.repos.d]# ll
total 28
-rw-r--r-- 1 root root 664 Aug 4 2022 epel.repo
# 下载完,你会发现你多了个epel仓库!
[root@R11 yum.repos.d]# yum makecache
(2)rpm的准备工作!!
'软件包重新安装ing'
[root@R11 ~]# yum -y remove nginx
# 先卸载,后面重新下载一遍!
[root@R11 ~]# yum history
[root@R11 ~]# yum history undo 8
[root@R11 ~]# yum history undo 9
# 上面的命令也是可以卸载的!
[root@R11 ~]# mkdir -p /app/yumlocal
'后面都是只下载不安装,下载rpm包到/app/yumlocal'
[root@R11 ~]# yum -y install nginx --downloadonly --downloaddir=/app/yumlocal
[root@R11 ~]# yum -y install mariadb-server --downloadonly --downloaddir=/app/yumlocal
[root@R11 ~]# yum -y install cowsay --downloadonly --downloaddir=/app/yumlocal
# 扩展仓库的软件包!
'无需依赖'
[root@R11 ~]# ll /app/yumlocal/
total 20460
-rw-r--r-- 1 root root 43144 Mar 18 11:19 cowsay-3.04-4.el7.noarch.rpm
-rw-r--r-- 1 root root 1720969 Mar 18 09:44 mariadb-10.11.15-1.el10_1.x86_64.rpm
...
-r--r--r-- 1 root root 33401 Mar 18 09:43 nginx-1.26.3-1.el10.x86_64.rpm
...
-r--r--r-- 1 root root 24457 Mar 18 09:43 rocky-logos-httpd-100.4-7.el10.noarch.rpm
# 现在这里面已经有挺多的rpm包了!
# mariadb:需要依赖
# cowsay:自己行,无需依赖
(3)createrepo---》生成软件包目录
[root@R11 ~]# yum -y isntall createrepo
No such command: isntall. Please use /usr/bin/yum --help
It could be a YUM plugin command, try: "yum install 'dnf-command(isntall)'"
[root@R11 ~]# dnf -y install createrepo
# 用dnf命令进行安装!
[root@R11 ~]# createrepo /app/yumlocal/
'生成软件包目录!'
createrepo /app/yumlocal/
Directory walk started
Directory walk done - 19 packages
Temporary output repo path: /app/yumlocal/.repodata/
Pool started (with 5 workers)
Pool finished
[root@R11 ~]# ll /app/yumlocal/ | grep repodata
drwxr-xr-x 2 root root 4096 Mar 18 10:26 repodata
# 多了一个这样的目录!
(4)搭建Nginx服务
[root@R11 ~]# yum -y install nginx
[root@R11 ~]# rpm -aq nginx
nginx-1.26.3-1.el10.x86_64
[root@R11 ~]# rpm -ql nginx
/usr/lib/systemd/system/nginx.service
/usr/lib/systemd/system/nginx@.service
...
# 没有找到Nginx的配置文件的位置!
[root@R11 ~]# updatedb
# 更新一下!
[root@R11 ~]# locate nginx.conf
/etc/nginx/nginx.conf
/etc/nginx/nginx.conf.default
/usr/lib/sysusers.d/nginx.conf
# 找到了配置文件
[root@R11 ~]# vim /etc/nginx/conf.d/yumlocal.conf
server{
listen 12306;
root /app/yumlocal;
server_name local.yum.com;
location / {
index index.html;
autoindex on;
charset utf-8;
autoindex_localtime on;
autoindex_exact_size off;
}
}
[root@R11 ~]# nginx -t
# 检查配置文件!
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@R11 ~]# systemctl enable --now nginx
Created symlink '/etc/systemd/system/multi-user.target.wants/nginx.service' '/usr/lib/systemd/system/nginx.service'.
[root@R11 ~]# grep user /etc/nginx/nginx.conf | head -1
user nginx;
# 默认启动用户是nginx
[root@R11 ~]# id nginx
uid=983(nginx) gid=981(nginx) groups=981(nginx)
[root@R11 ~]# ll -d /app/yumlocal/
drwxr-xr-x 3 root root 4096 Mar 18 10:26 /app/yumlocal/
[root@R11 ~]# chown -R nginx:nginx /app/yumlocal/
[root@R11 ~]# ll -d /app/yumlocal/
drwxr-xr-x 3 nginx nginx 4096 Mar 18 10:26 /app/yumlocal/
[root@R11 ~]# ss -lntup | grep nginx
tcp LISTEN 0 511 0.0.0.0:12306 0.0.0.0:* users:(("nginx",pid=4745,fd=6),("nginx",pid=4744,fd=6),("nginx",pid=4743,fd=6),("nginx",pid=4742,fd=6),("nginx",pid=4741,fd=6))
tcp LISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=4745,fd=7),("nginx",pid=4744,fd=7),("nginx",pid=4743,fd=7),("nginx",pid=4742,fd=7),("nginx",pid=4741,fd=7))
tcp LISTEN 0 511 [::]:80 [::]:* users:(("nginx",pid=4745,fd=8),("nginx",pid=4744,fd=8),("nginx",pid=4743,fd=8),("nginx",pid=4742,fd=8),("nginx",pid=4741,fd=8))
'一个80,一个12306'
[root@R11 ~]# hostname -I
10.0.0.111 172.31.31.164
# 两个IP,一个网桥,一个桥接!
====================
编辑Windows的hosts文件,进行主机名映射!
172.31.31.164 local.yum.com
我们浏览器进行测试访问一下!

image-20260318105439698
image-20260318105439698

image-20260318105928225
image-20260318105928225

客户端#

Terminal window
客户端配置:
对于客户端来说,你需要注释掉它已有的yum源,
(你不要本地的和公网的两个一起用,要不然会有冲突)
============================
1)那么如何注释掉???
yum特殊识别后缀.repo 我们可以用gzip命令(而不是zip命令)
gzip *(原地压缩)
把它们的后缀变为.zip这样就能成功的把它们注释掉了
2)如何解压???
gzip -d *
# 变为原来的样子.repo结尾
(1)注释掉原有的yum源!
[root@R39 ~]# cd /etc/yum.repos.d/
[root@R39 yum.repos.d]# ll
total 36
-rw-r--r-- 1 root root 1680 Apr 23 2025 epel-modular.repo
-rw-r--r-- 1 root root 1332 Apr 23 2025 epel.repo
....
[root@R39 yum.repos.d]# gzip *
[root@R39 yum.repos.d]# ll
total 32
...
-rw-r--r-- 1 root root 578 Nov 5 08:00 rocky-extras.repo.gz
-rw-r--r-- 1 root root 641 Nov 5 08:00 rocky.repo.gz
# 以gz结尾,那么它们就都不能用了!
[root@R39 yum.repos.d]# ping -c2 -W1 172.31.31.164
PING 172.31.31.164 (172.31.31.164) 56(84) bytes of data.
64 bytes from 172.31.31.164: icmp_seq=1 ttl=128 time=1.10 ms
64 bytes from 172.31.31.164: icmp_seq=2 ttl=128 time=0.706 ms
# 测试联通性!
(2)编写本地yum仓库!
[root@R39 yum.repos.d]# vim yumlocal.repo
[yumlocal]
name = "yum from 172.31.31.164"
baseurl = http://172.31.31.164:12306
enabled = 1
gpgcheck = 0
(3)清理准备
[root@R39 yum.repos.d]# yum clean all
18 files removed
[root@R39 yum.repos.d]# yum makecache
yum from 172.31.31.164 1.2 MB/s | 7.1 kB 00:00
Metadata cache created.
[root@R39 yum.repos.d]# yum repolist
repo id repo name
yumlocal yum from 172.31.31.164
[root@R39 yum.repos.d]# yum list | grep yumlocal
mariadb.x86_64 3:10.11.15-1.el10_1 yumlocal
...
nginx.x86_64 2:1.26.3-1.el10 yumlocal
...
cowsay.noarch 3.04-4.el7 yumlocal
# cowsay无需依赖!
(4)下载尝试
[root@R39 yum.repos.d]# yum -y install mariadb
....
Installed:
mariadb-3:10.11.15-1.el10_1.x86_64 mariadb-client-utils-3:10.11.15-1.el10_1.x86_64
mariadb-common-3:10.11.15-1.el10_1.noarch mariadb-connector-c-3.4.4-1.el10.x86_64
mariadb-connector-c-config-3.4.4-1.el10.noarch perl-Sys-Hostname-1.25-512.2.el10_0.x86_64
Complete!

image-20260318113110677
image-20260318113110677

Terminal window
[root@R39 yum.repos.d]# dnf -y install cowsay
# 这里用的是dnf命令!!
'无需依赖'
# 只有扩展仓库才能安装!

image-20260318113456109
image-20260318113456109

Terminal window
[root@R39 yum.repos.d]# cowsay "大家好!鲲鹏云"
_________
< 大家好!鲲鹏云 >
---------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
[root@R39 yum.repos.d]# animalsay "大家好!鲲鹏云"
_________
< 大家好!鲲鹏云 >
---------
\
\ (__)
o o\
('') \---------
\ \
| |\
||---( )_|| *
|| UU ||
== ==

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

搭建企业内部yum仓库
https://www.kpyun.fun/posts/web/nginx/nginx10/
作者
久棹
发布于
2025-12-28
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
久棹
只要胆子大,天天寒暑假!
公告
欢迎来到久棹的技术小站!本站专注 Linux 运维学习笔记分享,如有问题欢迎交流探讨 🎉
分类
标签
站点统计
文章
98
分类
11
标签
203
总字数
244,453
运行时长
0
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.13.5
文章许可
CC BY-NC-SA 4.0

文章目录