在 Linux 中管理程序:安装、更新和移除¶
在 Linux 中,软件以 软件包 (packages) 的形式分发,并存储在官方和第三方 仓库 (repositories) 中。软件包的安装、更新和移除由专门的工具——包管理器 (package managers) 进行管理。
管理器的选择取决于发行版:
| 发行版 | 包管理器 | 软件包格式 |
|---|---|---|
| Debian, Ubuntu (及其衍生版) | apt / apt-get, apt-cache | .deb |
| RHEL, CentOS 7 及更早版本, BitrixOS | yum | .rpm |
| RHEL 8+, CentOS Stream, Rocky Linux, AlmaLinux | dnf (yum 的继任者) | .rpm |
备注
在现代 Ubuntu/Debian 中,建议使用 apt——这是一个简化且便捷的界面,结合了 apt-get 和 apt-cache 的功能。
在较新的 RPM 系统中,dnf 命令与 yum 类似,但速度更快且更可靠。
备注
大多数命令需要超级用户权限——请使用 sudo。
-
更新软件包列表
在安装或更新之前,**务必**刷新本地元数据缓存:
系统 命令 Debian / Ubuntu sudo apt updateCentOS 7 / BitrixOS sudo yum check-updateRHEL 8+ / CentOS Stream sudo dnf check-update(或简单地使用sudo dnf upgrade --refresh)备注
apt update≠apt upgrade!
update仅更新 列表,
upgrade更新 已安装的软件包。 -
搜索软件包
如果不知道确切名称,可以通过关键词搜索:
系统 命令 Debian / Ubuntu apt search keywordCentOS / RHEL (yum/dnf) yum search keyworddnf search keyword示例:
-
查看软件包信息
在安装前查找版本、描述、依赖关系和大小:
系统 命令 Debian / Ubuntu apt show package_nameCentOS / RHEL yum info package_namednf info package_name示例:
-
安装软件包
基本安装:
Debian/Ubuntu
CentOS 7 / BitrixOSRHEL 8+, CentOS Stream
安装多个软件包:
安装特定版本:
Debian/Ubuntu
yum/dnf (使用连字符指定)
-
更新软件包
将 所有已安装的软件包 更新到最新版本:
系统 命令 Debian / Ubuntu sudo apt upgrade
或_sudo apt full-upgrade_——用于处理涉及软件包移除/替换的依赖关系CentOS 7 / BitrixOS sudo yum updateRHEL 8+ / CentOS Stream sudo dnf upgrade -
移除软件包
移除软件包但保留配置文件:
Debian/Ubuntu
yum/dnf完全移除(包括配置文件):
自动清理依赖关系
移除那些 仅作为依赖关系 安装但不再需要的软件包:
此外:清除已下载软件包的缓存
信息
有用的替代方案
| 任务 | 命令 |
|---|---|
| 检查软件包是否已安装 | dpkg -l | grep package_name (Debian)rpm -q package_name (RPM) |
| 查看软件包包含哪些文件 | dpkg -L package_namerpm -ql package_name |
| 查找拥有某个文件的软件包 | dpkg -S /path/to/filerpm -qf /path/to/file |