文章目录
- 一、为什么需要包安装工具
- [二、Linux 与 macOS 常见包安装工具](#二、Linux 与 macOS 常见包安装工具)
- [三、Linux 各发行版对应包管理工具](#三、Linux 各发行版对应包管理工具)
- [四、yum 与 dnf 使用版本](#四、yum 与 dnf 使用版本)
- 五、常见包管理命令对比
-
- [1 安装软件](#1 安装软件)
- [2 更新软件仓库](#2 更新软件仓库)
- [3 升级软件](#3 升级软件)
- [4 搜索软件](#4 搜索软件)
- [5 卸载软件](#5 卸载软件)
- 六、总结
在 Linux 与 macOS 系统中,包安装工具(Package Manager)用于统一管理软件,包括软件安装、升级、卸载、依赖管理等操作。不同操作系统或发行版使用不同的包管理工具。
一、为什么需要包安装工具
传统软件安装方式:
bash
wget software.tar.gz
tar -xf software.tar.gz
cd software
./configure
make
sudo make install
存在问题:
| 问题 | 说明 |
|---|---|
| 依赖复杂 | 需要手动安装依赖库 |
| 安装繁琐 | 需要编译源码 |
| 升级困难 | 需要重新编译安装 |
| 卸载困难 | 文件散落系统各处 |
包管理工具解决的问题:
| 功能 | 作用 |
|---|---|
| 依赖管理 | 自动安装依赖 |
| 软件安装 | 从仓库下载安装 |
| 软件升级 | 统一升级系统软件 |
| 软件卸载 | 删除软件和依赖 |
| 软件查询 | 查询软件信息 |
二、Linux 与 macOS 常见包安装工具
| 操作系统 | 包管理工具 | 是否系统自带 |
|---|---|---|
| macOS | Homebrew | 否 |
| Debian / Ubuntu | APT | 是 |
| RHEL / CentOS 7 | YUM | 是 |
| RHEL 8+ / Rocky / Alma / Fedora | DNF | 是 |
| Arch Linux | Pacman | 是 |
| openSUSE | Zypper | 是 |
三、Linux 各发行版对应包管理工具
| Linux 发行版 | 包管理工具 |
|---|---|
| Ubuntu | APT |
| Debian | APT |
| Linux Mint | APT |
| Kali Linux | APT |
| Pop!_OS | APT |
| RHEL 7 | YUM |
| CentOS 7 | YUM |
| RHEL 8 / 9 | DNF |
| Rocky Linux | DNF |
| AlmaLinux | DNF |
| Fedora | DNF |
| Arch Linux | Pacman |
| Manjaro | Pacman |
| openSUSE | Zypper |
| SUSE Linux Enterprise | Zypper |
四、yum 与 dnf 使用版本
| 包管理工具 | 适用系统 | 版本 |
|---|---|---|
| YUM | RHEL / CentOS | 7 |
| DNF | Fedora | 所有新版本 |
| DNF | RHEL | 8 / 9 |
| DNF | Rocky Linux | 8 / 9 |
| DNF | AlmaLinux | 8 / 9 |
| DNF | CentOS Stream | 8 / 9 |
说明:
text
DNF 是 YUM 的下一代版本
在 RHEL8+ 系统中:
text
yum 实际上是 dnf 的兼容命令
五、常见包管理命令对比
1 安装软件
| 工具 | 命令 |
|---|---|
| Homebrew | brew install nginx |
| APT | sudo apt install nginx |
| YUM | sudo yum install nginx |
| DNF | sudo dnf install nginx |
| Pacman | sudo pacman -S nginx |
| Zypper | sudo zypper install nginx |
2 更新软件仓库
| 工具 | 命令 |
|---|---|
| Homebrew | brew update |
| APT | sudo apt update |
| YUM | sudo yum makecache |
| DNF | sudo dnf makecache |
| Pacman | sudo pacman -Sy |
| Zypper | sudo zypper refresh |
3 升级软件
| 工具 | 命令 |
|---|---|
| Homebrew | brew upgrade |
| APT | sudo apt upgrade |
| YUM | sudo yum update |
| DNF | sudo dnf upgrade |
| Pacman | sudo pacman -Syu |
| Zypper | sudo zypper update |
4 搜索软件
| 工具 | 命令 |
|---|---|
| Homebrew | brew search nginx |
| APT | apt search nginx |
| YUM | yum search nginx |
| DNF | dnf search nginx |
| Pacman | pacman -Ss nginx |
| Zypper | zypper search nginx |
5 卸载软件
| 工具 | 命令 |
|---|---|
| Homebrew | brew uninstall nginx |
| APT | sudo apt remove nginx |
| YUM | sudo yum remove nginx |
| DNF | sudo dnf remove nginx |
| Pacman | sudo pacman -R nginx |
| Zypper | sudo zypper remove nginx |
六、总结
Linux 与 macOS 常见包管理工具:
| 操作系统 | 包管理工具 |
|---|---|
| macOS | Homebrew |
| Debian / Ubuntu | APT |
| RHEL7 / CentOS7 | YUM |
| RHEL8+ / Fedora | DNF |
| Arch Linux | Pacman |
| openSUSE | Zypper |
核心关系:
- YUM → RHEL7 / CentOS7
- DNF → RHEL8+ / Fedora / Rocky / Alma
- APT → Debian / Ubuntu 系列
- Pacman → Arch 系列
- Zypper → openSUSE 系列
包管理工具是 Linux 与 macOS 软件管理体系的基础设施。