当前位置: 首页 > news >正文

软件包管理、缓存、自定义 YUM 源


1. 软件包管理是啥

你可以把软件包管理器理解成 Linux 的“应用商店 + 安装工人”:

  • 应用商店:帮你找到软件(包)
  • 安装工人:帮你下载安装、配置、升级、卸载
  • 管理账本:记录系统里都安装了啥、版本号是多少、依赖关系如何

常见的软件包管理工具

  • RPM 系(Red Hat/CentOS/Fedora):yum / dnf
  • DEB 系(Debian/Ubuntu):apt / dpkg
  • 通用型snapflatpak

例子(CentOS 安装 Nginx):

sudo yum install nginx

它会:

  1. 去配置的源里找 nginx
  2. 检查依赖(比如需要哪些库)
  3. 下载、解压、安装、注册到系统

2. 缓存是啥

软件包管理器在安装时会下载很多文件(RPM 包、元数据等)。
这些文件会暂存在缓存目录,目的是:

  • 下次安装同样的包时不用重新下载
  • 可以离线重复安装(只要缓存没清掉)

常用缓存目录

  • YUM/DNF:/var/cache/yum//var/cache/dnf/
  • APT:/var/cache/apt/archives/

常用缓存操作

# 查看缓存路径
yum repolist all
# 清理缓存(包文件和元数据)
yum clean all
# 只清理包文件
yum clean packages
# 只清理元数据
yum clean metadata

3. 自定义 YUM 源是啥

YUM 源(Repository)就是软件包的仓库地址,可以是:

  • 官方的互联网仓库
  • 企业内网搭建的私有仓库
  • 光盘 / ISO 镜像
  • 局域网内的镜像站

为什么要自定义:

  1. 加速下载(换成离你近的镜像站)
  2. 版本控制(锁定使用某个特定版本的软件)
  3. 内网环境(无外网时从内网源安装)
  4. 自研软件发布(企业自己的 RPM 包)

配置自定义 YUM 源

  1. 新建 repo 文件
    路径:/etc/yum.repos.d/myrepo.repo
[myrepo]
name=My Custom Repo
baseurl=http://repo.example.com/centos/$releasever/os/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.example.com/RPM-GPG-KEY-CentOS-7
  • [myrepo]:源 ID
  • baseurl:仓库地址,可以是 http://ftp://file:///
  • enabled=1:启用此源
  • gpgcheck=1:启用 GPG 签名校验
  • gpgkey:GPG 公钥地址
  1. 清缓存并验证
yum clean all
yum repolist

企业实战示例

某公司生产服务器无法访问外网,需要安装指定版本的软件

方案:

  1. 在能访问外网的机器上下载 RPM 包及其依赖
yum install --downloadonly --downloaddir=/tmp/rpms nginx
  1. /tmp/rpms 拷贝到内网 YUM 源服务器
  2. createrepo 生成元数据
createrepo /var/www/html/myrepo
  1. 在内网机器的 /etc/yum.repos.d/ 添加指向该服务器的 baseurl
  2. 所有内网服务器即可直接 yum install nginx

http://www.lryc.cn/news/614272.html

相关文章:

  • Vulnhub drippingblues 靶场复现 详细攻略
  • 强光干扰下误报率↓82%!陌讯多模态融合算法在高空抛物检测的实战优化
  • 自适应反步控制:理论与设计
  • 分布式微服务--GateWay的断言以及如何自定义一个断言
  • MySQL 配置性能优化赛:核心策略与实战技巧
  • 分布式系统性能优化实战:从瓶颈定位到架构升级
  • 前端后端之争?JavaScript和Java的特性与应用场景解析
  • Microsoft Dynamics AX 性能优化解决方案
  • 用JOIN替代子查询的查询性能优化
  • 深入解析基于Zookeeper分布式锁在高并发场景下的性能优化实践指南
  • DataFun联合开源AllData社区和开源Gravitino社区将在8月9日相聚数据治理峰会论坛
  • AI漫画翻译器-上传图片自动翻译,支持多语言
  • 分享超图提供的、很不错的WebGIS学习资源
  • 从安卓兼容性困境到腾讯Bugly的救赎:全链路崩溃监控解决方案-卓伊凡|bigniu
  • 什么是局放?局放在线智能传感器,敏锐洞察电气设备中的隐形故障!
  • bytearray和bytes
  • 进程管理、系统高负载、cpu超过800%等实战问题处理
  • 【Mybatis入门】配置Mybatis(IDEA)
  • scratch笔记和练习-第11课:穿越峡谷
  • [Linux]学习笔记系列 -- [arm[kernel]
  • Godot ------ 中级人物血条制作02
  • ABP VNext + Fody AOP:编译期织入与性能监控
  • 当服务器多了时,如何管理?
  • 服务器快照与备份的本质区别及正确使用指南 (2025)
  • Linux 内核发包流程与路由控制实战
  • VMwareWorkstation17Pro安装CentOS8无法连接外网问题
  • python使用python-docx自动化操作word
  • Ideogram:优秀的在线AI绘画平台
  • 自由学习记录(79)
  • 3D TOF 视觉相机:工业视觉的破局者,重塑视觉感知的未来