插件窝 干货文章 linux有几种包管理

linux有几种包管理

Package 理系统 发行 sudo 566    来源:    2025-05-03

Linux 系统有多种包管理工具,不同的发行版使用不同的包管理系统。以下是主要的分类和对应的发行版:


1. 基于 Debian 的包管理系统(.deb 格式)

  • APT (Advanced Package Tool)
    • 主要命令:apt-get, apt, apt-cache
    • 示例:
      bash sudo apt update # 更新软件包列表 sudo apt install package # 安装软件包 sudo apt remove package # 卸载软件包
    • 相关工具:dpkg(底层工具,直接操作 .deb 文件)
      bash sudo dpkg -i package.deb # 手动安装 .deb 文件
    • 适用发行版:Debian、Ubuntu、Linux Mint 等。

2. 基于 Red Hat 的包管理系统(.rpm 格式)

  • RPM (Red Hat Package Manager)
    • 底层工具:rpm
      bash rpm -ivh package.rpm # 安装 RPM 包 rpm -e package # 卸载 RPM 包
  • DNF (Dandified YUM)
    • 新一代工具(替代 YUM),Fedora 默认使用。
      bash sudo dnf install package sudo dnf remove package
  • YUM (Yellowdog Updater Modified)
    • 旧版工具(RHEL/CentOS 7 及更早版本)。
      bash sudo yum install package
    • 适用发行版:RHEL、CentOS、Fedora、openSUSE(部分版本)等。

3. Arch Linux 的包管理系统

  • Pacman
    • 命令简洁高效,支持滚动更新。
      bash sudo pacman -S package # 安装软件包 sudo pacman -R package # 卸载软件包 sudo pacman -Syu # 更新系统和所有软件
    • 适用发行版:Arch Linux、Manjaro 等。

4. openSUSE 的包管理系统

  • Zypper
    • 专为 openSUSE 设计,支持依赖解析和仓库管理。
      bash sudo zypper install package sudo zypper remove package
    • 适用发行版:openSUSE。

5. 其他包管理工具

  • Snap
    • 跨发行版的容器化软件包(由 Canonical 开发)。
      bash sudo snap install package
  • Flatpak
    • 另一个跨发行版的沙盒化软件包。
      bash flatpak install package
  • Homebrew
    • 最初为 macOS 设计,现支持 Linux(适用于用户级软件管理)。
      bash brew install package

总结表格

包管理工具 包格式 主要发行版 示例命令
APT .deb Debian/Ubuntu/Mint sudo apt install package
DNF/YUM .rpm RHEL/CentOS/Fedora sudo dnf install package
Pacman .pkg.tar Arch Linux/Manjaro sudo pacman -S package
Zypper .rpm openSUSE sudo zypper install package
Snap/Flatpak 通用 跨发行版 snap install package

如何选择?

  1. 根据发行版默认工具(如 Ubuntu 用 APT,Fedora 用 DNF)。
  2. 需要跨发行版兼容时,可选用 Snap 或 Flatpak。
  3. 手动编译源码时,使用 ./configure && make && make install

如果有具体的使用场景或问题,可以进一步探讨!