温馨提示×

ubuntu yum升级软件包技巧

小樊
41
2025-12-14 08:19:14
栏目: 智能运维

Ubuntu 中使用 YUM 的正确姿势与替代方案

一 基础认知

  • Ubuntu 默认使用 APT/dpkg 管理软件包,YUM 属于 RPM 系(如 CentOS/RHEL/Fedora)。在 Ubuntu 上直接运行 YUM 并非官方推荐做法,可能出现依赖解析、仓库元数据不一致等问题;若确需使用 YUM,务必谨慎评估风险。更稳妥的路径是使用 APT 完成同类操作。

二 若已在 Ubuntu 上安装并使用 YUM

  • 升级单个或指定软件包
    • 命令:sudo yum update <package_name>
  • 升级全部可更新软件包
    • 命令:sudo yum update
  • 仅下载不安装(便于离线或内网分发)
    • 命令:sudo yum install --downloadonly --downloaddir=/path <package_name>
  • 排除特定软件包不升级
    • 命令:sudo yum update --exclude=<package_name>(支持正则)
  • 查看可升级列表
    • 命令:yum list updates
  • 清理缓存与重建元数据
    • 命令:sudo yum clean all && sudo yum makecache
  • 事务回滚与历史
    • 查看历史:yum history
    • 回滚某次事务:sudo yum history undo <transaction_id>
  • 风险提示
    • Ubuntu 上使用 YUM 可能引发兼容性/稳定性问题;若非必要,建议改用 APT 完成升级操作。

三 推荐的 APT 等效操作

  • 更新索引并升级全部软件包
    • 命令:sudo apt update && sudo apt full-upgrade(或 sudo apt-get update && sudo apt-get dist-upgrade
  • 仅升级指定软件包
    • 命令:sudo apt install --only-upgrade <package1> <package2>
  • 查看可升级列表
    • 命令:apt list --upgradable
  • 批量升级“白名单”包(从文件读取)
    • 示例:apt install --only-upgrade $(cat packages.txt)
  • 批量升级“黑名单”包(排除法)
    • 示例:sudo apt-mark hold <pkg1> <pkg2> 后执行全量升级,再 sudo apt-mark unhold <pkg1> <pkg2>
  • 安全建议
    • 生产环境先 apt update 同步索引,必要时在测试环境验证;关键服务升级后可能需要重启进程或系统。

四 场景化建议

  • Ubuntu 上需要 RPM 包管理时
    • 优先选择原生 APT 方案;如确需 YUM,建议准备可回滚方案(快照/备份、事务记录),并在可控环境验证后再上线。
  • RHEL/CentOS/Fedora 上使用 YUM/DNF
    • 结合 --downloadonly、事务历史与 --exclude 做灰度与回滚;升级前 yum clean all && yum makecache 保证元数据一致。

0