CentOS 7系统下手动创建自己的本地YUM仓库详细步骤
在Linux环境中,安装软件主要有三种常见方式。最传统的是源代码形式,大多数开源软件以此发布,通常打包为tar.gz压缩包。这种方式兼容性最强、灵活性最高,但需要手动编译成二进制文件才能运行,并且依赖关系处理复杂,容易陷入“依赖地狱”。第二种是RPM包,它将源代码编译为特定平台的可执行程序,同时记录依赖关系信息,简化了安装流程——不过依赖问题仍需手动解决。第三种是YUM软件包管理工具,其核心功能是自动解决RPM依赖,支持RPM分组,并引入仓库(repo)概念,配置起来更加便捷。
YUM借助仓库管理RPM软件包,仓库的配置文件存放在/etc/yum.repos.d/目录下。CentOS系统自带了一些默认配置,如下所示:
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ll
total 24
-rw-r--r--. 1 root root 1664 Mar 31 15:27 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Mar 31 15:27 CentOS-CR.repo
-rw-r--r--. 1 root root 649 Mar 31 15:27 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 290 Mar 31 15:27 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 1331 Mar 31 15:27 CentOS-Sources.repo
-rw-r--r--. 1 root root 1002 Mar 31 15:27 CentOS-Vault.repo
你可以直接删除这些默认配置文件(rm -rf CentOS*),或者将它们移动到其他目录进行备份。
二、手动配置YUM本地仓库
1、将所有RPM软件包复制到同一目录
以CentOS 7自带的RPM包为例,当处于离线环境时,挂载安装镜像即可获取所有软件包。镜像挂载后,文件默认位于/run/media/centostest/下(CentOS6则保存在/media/下),其中centostest为当前用户名。所有RPM包都存放在镜像中的Packages文件夹内。
先创建一个目录,然后将包全部复制进去。复制耗时取决于硬件——使用虚拟光盘会快得多。
[root@localhost ~]# cd /
[root@localhost /]# mkdir yum-packages
[root@localhost /]# cp -rv /run/media/centostest/CentOS\ 7\ x86_64/Packages/* /yum-packages/
2、通过rpm命令安装createrepo工具
createrepo这个工具正好包含在我们刚才复制的RPM包中。执行安装:
[root@localhost /]# cd yum-packages/
[root@localhost yum-packages]# rpm -ivh createrepo-0.9.9-23.el7.noarch.rpm
warning: createrepo-0.9.9-23.el7.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing... ################################# [100%]
package createrepo-0.9.9-23.el7.noarch is already installed
3、运行createrepo命令建立索引
createrepo /yum-packages/
执行完成后,yum-packages目录下会多出一个repodata文件夹,里面保存了索引信息——这正是YUM仓库识别软件包的关键所在。
4、添加配置文件
接下来,在/etc/yum.repos.d/目录下添加一个自定义配置文件:
[root@localhost yum-packages]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# vim ownyum.repo
[root@localhost yum.repos.d]# cat ownyum.repo
[centos]
name = centos yum
baseurl = file:///yum-packages/
这里采用最简配置。[centos]和name可以随意命名,enabled、gpgcheck等参数可按需补充。若需要更严格的校验,后续再添加即可。
5、清空YUM缓存并验证
先用yum clean all清空缓存,再用yum list查看仓库是否生效:
[root@localhost yum.repos.d]# yum clean all
Loaded plugins: fastestmirror, langpacks
Cleaning repos: centos
Cleaning up everything
Cleaning up list of fastest mirrors
[root@localhost yum.repos.d]# yum list
如果一切顺利,你应该能看到自己建立的YUM仓库信息,类似下面这样——注意每一行末尾的centos就是配置文件中[centos]的名称:
xorg-x11-xbitmaps.noarch 1.1.1-6.el7 centos
xpp3.noarch 1.1.3.8-11.el7 centos
xrestop.x86_64 0.4-14.el7 centos
xsane-common.x86_64 0.999-9.el7 centos
xsane-gimp.x86_64 0.999-9.el7 centos
...
zzziplib.x86_64 0.13.62-5.el7 centos
至此,一个本地YUM仓库便配置完成。后续每次安装软件时,只需确保镜像已挂载,即可享受YUM自动处理依赖的便利。对于内网环境中的批量部署场景,这种方法尤为实用。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
Win11频繁断网提示默认网关不可用怎么办
先聊聊一个很常见的问题:Windows 11 电脑刚连接 Wi-Fi 或插上网线时还能正常访问网络,可几分钟后突然“掉线”,任务栏右下角出现“无 Internet”提示,右键诊断显示“默认网关不可用”。这时候重启电脑或点击“修复”能暂时恢复,但用不了多久又会断开。这说明系统其实已经获得了 IP 地址
Mac如何取消正在进行的系统备份任务
Mac 正在执行时间机器备份时,进度条卡在“正在准备”或“备份中”迟迟不动,磁盘读写与网络带宽被持续占用——这种情形下,大多数用户都希望能立即中断任务。设想这样一个场景:你正赶着安装大型软件,或者急需拔出外接硬盘,但系统却执意继续备份。别担心,这里有一套行之有效的解决方案:先在“活动监视器”中强制退
电脑显示器刷新率锁死60Hz无法调整的解决方法
显示器刷新率锁死60Hz时,需检查DP或HDMI线缆版本并更换VESA认证线缆;可通过显示适配器属性勾选隐藏刷新率选项、显卡控制面板自定义时序、清洁安装驱动或使用CRU工具修改EDID强制启用高刷模式。
Linux系统下Systemd服务管理从零开始方法步骤详解完整教程
systemctl管理systemd服务,修改配置于 etc systemd system,启用需daemon-reload再enable。查看状态关注Loaded行,masked服务需unmask并重载恢复。reload发SIGHUP,restart中断连接,reload-or-restart自动降级。日常禁用优先用disable。
Mac如何取消同步iPhone书签和历史记录
彻底关闭iCloudSafari同步并选择“保留在Mac上”,然后手动删除书签文件夹或清理~ Library Safari Bookmarks plist文件,最后通过iCloud官网确认同步已失效,即可彻底清除Mac上的iPhone同步书签。
- 日榜
- 周榜
- 月榜
1
2
3
4
5
6
7
8
9
10
相关攻略
2026-07-03 07:44
2026-07-03 07:44
2026-07-03 07:43
2026-07-03 07:43
2026-07-03 07:43
2026-07-03 07:43
2026-07-03 07:43
2026-07-03 07:42
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

