Linux 包管理命令

2025-12-17 14:09:38 384


欢迎来到8455线路检测中心技术小课堂


一、包管理概述


1.1 主要包管理系统


APT - Debian, Ubuntu, Mint

YUM/DNF - RHEL, CentOS, Fedora, Rocky Linux

Zypper - openSUSE, SUSE Linux

Pacman - Arch, Manjaro

Portage - Gentoo

RPM - 低级包管理器(Red Hat系)

DPKG - 低级包管理器(Debian系)

 

1.2 包管理基本操作流程


更新软件源 → 搜索软件包 → 安装软件包 → 升级软件包 → 卸载软件包



二、Debian/Ubuntu 系统 (APT)


2.1 APT 基本概念


# APT 配置文件
/etc/apt/sources.list           # 主软件源列表
/etc/apt/sources.list.d/        # 额外软件源目录
/etc/apt/preferences            # 软件包优先级配置
/var/lib/apt/lists/            # 软件源缓存
/var/cache/apt/archives/       # 下载的包缓存


2.2 APT 基本操作


# 更新软件包列表
sudo apt update                 # 更新软件源信息
sudo apt update --fix-missing   # 修复缺失的软件源

# 升级软件包
sudo apt upgrade                # 升级所有可用软件包
sudo apt full-upgrade          # 完全升级(可能删除不需要的包)
sudo apt dist-upgrade          # 发行版升级

# 安装软件包
sudo apt install package       # 安装单个包
sudo apt install package1 package2 package3  # 安装多个包
sudo apt install package=version  # 安装指定版本
sudo apt install ./package.deb  # 安装本地deb包

# 删除软件包
sudo apt remove package        # 删除软件包但保留配置文件
sudo apt purge package         # 完全删除软件包和配置文件
sudo apt autoremove           # 删除不再需要的依赖包
sudo apt autoclean            # 清理旧的deb包缓存
sudo apt clean                # 清理所有包缓存

# 搜索软件包
apt search keyword            # 搜索软件包
apt search --names-only keyword  # 只按包名搜索
apt show package              # 显示软件包详细信息
apt policy package            # 显示包版本策略
apt depends package           # 显示依赖关系
apt rdepends package         # 显示反向依赖



2.3 APT 高级功能


# 软件源管理
sudo add-apt-repository ppa:user/ppa-name  # 添加PPA源
sudo add-apt-repository --remove ppa:user/ppa-name  # 删除PPA
sudo apt-key add keyfile.asc               # 添加GPG密钥
sudo apt-key list                          # 列出GPG密钥
sudo apt-key del fingerprint               # 删除GPG密钥

# 包信息查询
apt list --installed                      # 列出已安装的包
apt list --upgradable                     # 列出可升级的包
apt list --all-versions                   # 列出所有版本
apt changelog package                     # 查看更新日志
apt source package                        # 下载源代码
apt download package                      # 下载deb包不安装

# 修复和诊断
sudo apt --fix-broken install             # 修复损坏的依赖
sudo apt --fix-missing install            # 修复缺失的依赖
sudo apt check                            # 验证软件包完整性
sudo apt install -f                       # 修复依赖问题
dpkg --configure -a                       # 配置未完成的包



2.4 APT-CACHE 工具


# 包缓存查询
apt-cache search keyword                  # 搜索包
apt-cache show package                    # 显示包信息
apt-cache showpkg package                 # 显示包详细信息
apt-cache depends package                 # 显示依赖
apt-cache rdepends package               # 显示反向依赖
apt-cache policy package                  # 显示安装策略
apt-cache stats                           # 显示统计信息
apt-cache pkgnames                        # 列出所有包名



2.5 DPKG 底层管理


# 安装和管理deb包
sudo dpkg -i package.deb                  # 安装deb包
sudo dpkg -r package                     # 删除包(保留配置)
sudo dpkg -P package                     # 完全删除包
dpkg -l                                  # 列出所有已安装的包
dpkg -L package                          # 列出包安装的文件
dpkg -S /path/to/file                    # 查找文件属于哪个包
dpkg -s package                          # 显示包状态
dpkg -c package.deb                     # 查看deb包内容
dpkg --configure -a                      # 配置所有未完成的包
dpkg --get-selections                    # 获取包选择状态
dpkg --set-selections < file             # 从文件恢复包选择



三、RedHat/CentOS/Fedora 系统 (YUM/DNF)


3.1 YUM 基本操作 (CentOS 7及以前)


# 更新和升级
yum check-update                         # 检查可用更新
yum update                               # 更新所有包
yum update package                       # 更新指定包
yum upgrade                              # 升级系统

# 安装软件包
yum install package                      # 安装包
yum install package-version              # 安装指定版本
yum localinstall package.rpm             # 安装本地rpm包
yum reinstall package                    # 重新安装包

# 删除软件包
yum remove package                       # 删除包
yum autoremove                          # 删除不需要的依赖
yum erase package                       # 完全删除包

# 搜索和查询
yum search keyword                       # 搜索包
yum info package                         # 显示包信息
yum list                                 # 列出所有包
yum list installed                       # 列出已安装的包
yum list available                       # 列出可用的包
yum list updates                         # 列出可更新的包
yum list extras                          # 列出已安装但不在仓库的包
yum deplist package                      # 显示包依赖
yum provides /path/to/file              # 查找文件属于哪个包
yum whatprovides filename                # 同上
yum history                              # 查看yum历史
yum history info ID                      # 查看历史详细信息
yum history undo ID                      # 撤销历史操作



3.2 DNF 基本操作 (CentOS 8+/Fedora 22+)


# DNF 是 YUM 的下一代版本
# 基本语法与YUM兼容,但功能更强大

# 更新和升级
dnf check-update                        # 检查更新
dnf update                              # 更新所有包
dnf upgrade                             # 升级系统
dnf update --security                   # 只更新安全补丁

# 安装软件包
dnf install package                     # 安装包
dnf install package-version             # 安装指定版本
dnf install @group                      # 安装包组
dnf reinstall package                   # 重新安装

# 删除软件包
dnf remove package                      # 删除包
dnf autoremove                          # 自动删除不需要的包
dnf erase package                       # 完全删除

# 搜索和查询
dnf search keyword                      # 搜索包
dnf info package                        # 包信息
dnf list                               # 列出包
dnf list installed                      # 已安装的包
dnf list available                      # 可用的包
dnf list updates                        # 可更新的包
dnf repoquery -l package               # 列出包文件
dnf repoquery --whatprovides filename  # 文件属于哪个包
dnf repoquery --requires package       # 包依赖
dnf repoquery --whatrequires package   # 被哪些包依赖
dnf history                             # 操作历史
dnf history undo ID                    # 撤销操作



3.3 YUM/DNF 仓库管理


# 仓库配置目录
/etc/yum.repos.d/                      # YUM仓库配置文件
/etc/dnf/dnf.conf                      # DNF主配置文件

# 查看仓库
yum repolist                           # 列出所有仓库
yum repolist enabled                  # 列出启用的仓库
yum repolist disabled                 # 列出禁用的仓库
dnf repolist                          # DNF列出仓库
dnf repolist --enabled               # 列出启用的仓库

# 管理仓库
yum-config-manager --add-repo URL     # 添加仓库
yum-config-manager --enable repo      # 启用仓库
yum-config-manager --disable repo     # 禁用仓库
dnf config-manager --add-repo URL     # DNF添加仓库
dnf config-manager --set-enabled repo # 启用仓库
dnf config-manager --set-disabled repo# 禁用仓库

# 清理缓存
yum clean all                         # 清理所有缓存
yum clean packages                    # 清理包缓存
yum clean metadata                   # 清理元数据
yum clean expire-cache               # 清理过期缓存
dnf clean all                        # DNF清理所有缓存
dnf makecache                        # 创建元数据缓存



3.4 RPM 底层管理


# RPM 包安装和管理
rpm -ivh package.rpm                  # 安装rpm包
rpm -Uvh package.rpm                  # 升级rpm包
rpm -e package                        # 卸载rpm包
rpm -e --nodeps package              # 强制卸载(忽略依赖)

# 查询包信息
rpm -qa                              # 列出所有安装的rpm包
rpm -q package                       # 查询包是否安装
rpm -qi package                      # 显示包信息
rpm -ql package                      # 列出包安装的文件
rpm -qc package                      # 列出包配置文件
rpm -qd package                      # 列出包文档文件
rpm -qf /path/to/file                # 查询文件属于哪个包
rpm -q --whatprovides filename       # 提供文件的包
rpm -q --whatrequires package        # 依赖此包的包
rpm -q --requires package            # 显示包依赖
rpm -q --changelog package           # 显示更新日志

# 验证包
rpm -V package                       # 验证包完整性
rpm -Va                             # 验证所有包
rpm --checksig package.rpm          # 验证包签名
rpm --import RPM-GPG-KEY            # 导入GPG密钥

 

8455线路检测中心官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,8455线路检测中心整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。

更多技术知识,8455线路检测中心期待与你一起探索。




提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题:
XML 地图