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

搭建企业内部yum仓库
[TOC]
背景

客户端注释掉它 原有的yum源
来模拟客户端不能上网的情况!

服务端
(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]# lltotal 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 createrepoNo such command: isntall. Please use /usr/bin/yum --helpIt 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 startedDirectory walk done - 19 packagesTemporary output repo path: /app/yumlocal/.repodata/Pool started (with 5 workers)Pool finished[root@R11 ~]# ll /app/yumlocal/ | grep repodatadrwxr-xr-x 2 root root 4096 Mar 18 10:26 repodata# 多了一个这样的目录!
(4)搭建Nginx服务[root@R11 ~]# yum -y install nginx[root@R11 ~]# rpm -aq nginxnginx-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.confserver{ 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 oknginx: configuration file /etc/nginx/nginx.conf test is successful[root@R11 ~]# systemctl enable --now nginxCreated 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 -1user nginx;# 默认启动用户是nginx[root@R11 ~]# id nginxuid=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 nginxtcp 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 -I10.0.0.111 172.31.31.164# 两个IP,一个网桥,一个桥接!====================编辑Windows的hosts文件,进行主机名映射!172.31.31.164 local.yum.com
我们浏览器进行测试访问一下!

客户端
客户端配置:对于客户端来说,你需要注释掉它已有的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]# lltotal 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]# lltotal 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.164PING 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 ms64 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:12306enabled = 1gpgcheck = 0
(3)清理准备[root@R39 yum.repos.d]# yum clean all18 files removed[root@R39 yum.repos.d]# yum makecacheyum from 172.31.31.164 1.2 MB/s | 7.1 kB 00:00Metadata cache created.[root@R39 yum.repos.d]# yum repolistrepo id repo nameyumlocal yum from 172.31.31.164[root@R39 yum.repos.d]# yum list | grep yumlocalmariadb.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!
[root@R39 yum.repos.d]# dnf -y install cowsay# 这里用的是dnf命令!!'无需依赖'# 只有扩展仓库才能安装!
[root@R39 yum.repos.d]# cowsay "大家好!鲲鹏云" _________< 大家好!鲲鹏云 > --------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||[root@R39 yum.repos.d]# animalsay "大家好!鲲鹏云" _________< 大家好!鲲鹏云 > --------- \ \ (__) o o\ ('') \--------- \ \ | |\ ||---( )_|| * || UU || == ==文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
相关文章智能推荐
1
单机编排&&私有镜像仓库
Docker容器详解Compose编排语法与私有仓库方案,实战WordPress/Zabbix部署及Harbor高可用配置
2
Tomcat动静分离
Web服务Tomcat动静分离与多端适配实战,通过Redis共享Session、Nginx正则分发及User-Agent路由
3
Keepalived 高可用
Web服务Keepalived高可用集群实战,讲解VRRP原理、主备部署、脑裂处理及Nginx健康检查自动切换
4
https证书部署
Web服务HTTPS证书部署与TLS加密实战,涵盖加密原理、自签名与真实证书配置及SSL参数优化
5
Nginx性能优化
Web服务Nginx性能优化全面指南,涵盖压力测试、内核调优、缓存压缩、防盗链与CPU亲和绑定
随机文章随机推荐



