linux-sre-handbook

08-包管理

包管理系统对比

系列 包格式 工具 代表发行版
Debian 系 .deb apt/dpkg Debian, Ubuntu
Red Hat 系 .rpm yum/dnf/rpm RHEL, CentOS, Fedora
通用 - snap/flatpak/appimage 跨发行版

Debian/Ubuntu (APT)

# 包信息
apt search <keyword>       # 搜索包
apt show <package>         # 包详情
apt list --installed       # 已安装列表

# 安装管理
apt install <package>      # 安装
apt remove <package>       # 删除(保留配置)
apt purge <package>        # 删除(含配置)
apt autoremove             # 清理依赖

# 仓库管理
cat /etc/apt/sources.list  # 软件源配置
apt update                 # 更新包索引
apt upgrade                # 升级所有包
apt full-upgrade           # 完整升级(处理依赖变更)

Red Hat 系 (DNF/YUM)

# 包信息
dnf search <keyword>
dnf info <package>
dnf list installed

# 安装管理
dnf install <package>
dnf remove <package>
dnf autoremove

# 仓库管理
dnf repolist               # 列出仓库
dnf config-manager --add-repo <url>
dnf update                 # 升级

# 历史/回滚
dnf history                # 操作历史
dnf history undo <id>      # 回滚某次操作

RPM 底层工具

rpm -qa                    # 列出所有已安装 RPM
rpm -qi <package>          # 包信息
rpm -ql <package>          # 包文件列表
rpm -qf <file>             # 文件属于哪个包
rpm -V <package>           # 验证包完整性

SRE 最佳实践

  1. 固定版本 — 关键服务用版本锁定,避免意外升级
  2. 仓库镜像 — 内网搭建 apt/yum 镜像,加速部署
  3. 安全更新策略 — 区分安全补丁和功能更新
  4. 依赖管理 — 关注包冲突、库版本兼容
  5. 容器化替代 — 尽量用容器(Docker)隔离依赖

延伸阅读