软件包管理
包管理器是 Linux 安装、更新与卸载软件的核心工具。不同发行版采用不同体系,但设计思想相似:仓库、本地缓存、依赖解析。
Debian 系:APT 与 dpkg
Debian 与 Ubuntu 使用 .deb 包格式,APT(Advanced Package Tool)在前端解决依赖,dpkg 在底层实际安装。
sudo apt update # 同步源
sudo apt install nginx # 安装
sudo apt remove --purge nginx # 卸载并清理配置
apt-cache search "python3-pip" # 搜索包
apt list --installed | grep nginx # 查看已安装
dpkg -i package.deb # 本地安装
升级系统:sudo apt upgrade(不删旧内核)或 sudo apt full-upgrade(可能删除依赖包)。
RHEL 系:dnf 与 rpm
CentOS Stream、Rocky、Fedora 使用 .rpm 包,dnf(DNF 是 yum 的继任者)处理依赖。
sudo dnf install epel-release
sudo dnf install htop
sudo dnf remove htop
dnf search "system tools"
rpm -qa | grep kernel
rpm -qf /usr/bin/ls # 查询某文件所属包
历史命令 yum 仍可使用,但建议在新系统上使用 dnf。
Arch 系:pacman
Arch 与 Manjaro 使用 pacman,语法简洁。
sudo pacman -Syu # 同步源并全系统升级
sudo pacman -S neovim
sudo pacman -Rns neovim # 卸载并清理依赖
pacman -Ss "search term"
pacman -Qe # 列出显式安装的包
-S 同步安装,-R 移除,-Ss 搜索仓库,-Qs 在已安装中搜索。
源配置
APT 源文件位于 /etc/apt/sources.list 及 /etc/apt/sources.list.d/*.list。sources.list 条目格式为:
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security bookworm-security main
deb:二进制包,deb-src:源码包。- 仓库代号如
bookworm、jammy、stable。 - 组件如
main、contrib、non-free控制软件自由程度。
修改源后务必 sudo apt update 刷新缓存。
包命名规则
包名一般形如 name_version-release.arch.ext,例如 curl_7.88.1-10+deb12u7_amd64.deb。库包常用 lib 前缀,开发头文件带 -dev(Debian)/-devel(RHEL),文档包带 -doc。理解命名有助于排查依赖问题。