乐闻世界logo
搜索文章和话题

Linux 包管理工具(APT、YUM、PACMAN)的使用方法和常见操作有哪些?

2月17日 23:37

Linux 包管理是系统维护和软件安装的核心技能,不同的发行版使用不同的包管理工具。

Debian/Ubuntu 包管理(APT):

  • apt update:更新软件包列表
  • apt upgrade:升级已安装的软件包
  • apt full-upgrade:升级软件包(可能删除依赖包)
  • apt install package:安装软件包
  • apt remove package:删除软件包(保留配置文件)
  • apt purge package:删除软件包及其配置文件
  • apt autoremove:删除不再需要的依赖包
  • apt search keyword:搜索软件包
  • apt show package:显示软件包详细信息
  • apt list --installed:列出已安装的软件包
  • apt-cache depends package:查看软件包依赖关系
  • apt-cache rdepends package:查看依赖该软件包的其他包
  • dpkg -l:列出已安装的软件包
  • dpkg -i package.deb:安装 .deb 文件
  • dpkg -r package:删除软件包
  • dpkg -P package:删除软件包及其配置文件

CentOS/RHEL 包管理(YUM/DNF):

  • yum update:更新软件包列表和已安装的软件包
  • yum install package:安装软件包
  • yum remove package:删除软件包
  • yum search keyword:搜索软件包
  • yum info package:显示软件包详细信息
  • yum list installed:列出已安装的软件包
  • yum provides command:查找提供某个命令的软件包
  • yum check-update:检查可更新的软件包
  • yum clean all:清理缓存
  • yum deplist package:查看软件包依赖关系
  • rpm -qa:列出所有已安装的软件包
  • rpm -ivh package.rpm:安装 .rpm 文件
  • rpm -e package:删除软件包
  • rpm -q package:查询软件包是否已安装
  • rpm -ql package:列出软件包安装的文件
  • rpm -qf file:查找文件属于哪个软件包

Arch Linux 包管理(PACMAN):

  • pacman -Syu:同步软件包数据库并升级系统
  • pacman -S package:安装软件包
  • pacman -R package:删除软件包
  • pacman -Rs package:删除软件包及其依赖
  • pacman -Rns package:删除软件包、依赖和配置文件
  • pacman -Ss keyword:搜索软件包
  • pacman -Si package:显示软件包详细信息
  • pacman -Qe:列出显式安装的软件包
  • pacman -Qm:列出从 AUR 安装的软件包
  • pacman -Fy:同步文件数据库
  • pacman -Fo command:查找提供某个命令的软件包

软件源配置:

  • Debian/Ubuntu:/etc/apt/sources.list 和 /etc/apt/sources.list.d/
  • CentOS/RHEL:/etc/yum.repos.d/
  • Arch Linux:/etc/pacman.conf

第三方软件仓库:

  • EPEL(Extra Packages for Enterprise Linux):为 RHEL/CentOS 提供额外软件包
  • PPA(Personal Package Archive):Ubuntu 用户个人软件仓库
  • AUR(Arch User Repository):Arch Linux 用户软件仓库

包管理最佳实践:

  • 定期更新系统:apt update && apt upgrade 或 yum update
  • 使用版本锁定:apt-mark hold package 或 yum versionlock package
  • 清理缓存:apt autoremove && apt clean 或 yum clean all
  • 备份重要配置:在升级前备份 /etc 目录
  • 测试环境验证:在生产环境更新前先在测试环境验证
  • 使用自动化工具:Ansible、Chef、Puppet 等进行批量管理

常见问题解决:

  • 依赖冲突:使用 apt -f install 或 yum --skip-broken
  • 软件包损坏:使用 dpkg --configure -a 或 yum reinstall package
  • 锁定问题:删除 /var/lib/dpkg/lock 或 /var/run/yum.pid
  • 找不到软件包:检查软件源配置,运行 apt update 或 yum makecache
标签:Linux