Linux软件安装不再愁:详解包管理器Apt(Ubuntu)与DNF(CentOS)的使用JPG

Linux软件安装不再愁:详解包管理器Apt(Ubuntu)与DNF(CentOS)的使用JPG

想在你的Linux服务器上装个Nginx跑网站?或者装个vimcurl这样的小工具?是不是觉得不像在Windows上找个 .exe 文件双击那么直接?难道要像远古大神一样去下载源码,然后 ./configure && make && make install 一套操作猛如虎,结果卡在某个依赖库上欲哭无泪?

好消息是:根本不需要! 现代Linux发行版早就为你准备好了超级方便的“软件管家”——包管理器 (Package Manager)

把它想象成你服务器上的**“应用商店” + “智能安装工” + “更新小助手”** 的结合体。有了它:

  • 找软件方便: 它连接着官方或社区维护的软件仓库 (Repositories),里面有成千上万预先编译好的软件包。
  • 安装简单: 通常一条命令就能搞定软件安装。
  • 自动解决依赖: 这绝对是它的核心价值! 你要装软件A,它发现A需要库B和工具C才能运行?没问题,包管理器会自动把B和C也一并帮你装好,你完全不用操心。
  • 更新、卸载轻松: 保持软件最新或清理不再需要的软件同样简单。

今天,我们就来认识一下Linux两大主流发行版阵营的当家包管理器:

  • Debian / Ubuntu 及其衍生版: 使用 apt (Advanced Package Tool) 命令族。
  • Fedora / CentOS Stream / RHEL / Rocky Linux / AlmaLinux 等: 使用 dnf (Dandified YUM) 命令。(yum 在较新系统中通常是 dnf 的一个别名,用法基本一致,但推荐用 dnf)。

Debian/Ubuntu 阵营当家:apt 实战

如果你用的是Ubuntu或Debian系统,apt 就是你的好伙伴。

  1. 更新软件包列表 (极其重要!)
    • 在安装或升级任何软件之前,务必先运行这个命令,它会从软件仓库同步最新的可用软件包列表和版本信息。
    • Bash
    • sudo apt update
    • (注意:apt update 只更新列表,不升级软件本身)
  2. 升级已安装的软件包
    • 将你服务器上所有已安装的软件包更新到仓库中可用的最新版本。
    • Bash
    • sudo apt upgrade -y
    • -y 参数会自动回答“yes”,省去确认环节。
    • (偶尔你可能会看到 apt full-upgrade,它在处理依赖关系变化时更“激进”,可能会卸载旧的包,新手建议先用 apt upgrade)
  3. 安装新软件包
    • Bash
    • sudo apt install <软件包名1> <软件包名2> ... -y #
    • 例如,安装 Nginx, Vim 和 Curl:
    • sudo apt install nginx vim curl -y
    • 可以一次安装多个包,用空格隔开。
  4. 卸载软件包
    • 只卸载包,保留配置文件:
    • Bash
    • sudo apt remove <软件包名> -y
    • 彻底卸载包及其配置文件:
    • Bash
    • sudo apt purge <软件包名> -y
    • 清理不再需要的依赖包: 安装软件时自动装上的依赖,在卸载主软件后可能就不再需要了,用这个命令清理:
    • Bash
    • sudo apt autoremove -y
    • (通常在 removepurge 之后运行一次)
  5. 搜索与查看软件包信息
    • 搜索包:
    • Bash
    • apt search <关键词>
    • # 例如: apt search web server
    • 查看包的详细信息:
    • Bash
    • apt show <软件包名> #
    • 例如: apt show nginx

Fedora/RHEL/CentOS 阵营代表:dnf 实战

如果你用的是CentOS Stream, Rocky, AlmaLinux, Fedora等系统,dnf 是你的主力工具 (yum 命令通常也能用,它现在大多是指向dnf的链接)。

  1. 检查更新 (可选但推荐)
    • dnf 在安装时通常会自动检查,但手动检查一下总没错。
    • Bash
    • sudo dnf check-update
  2. 升级已安装的软件包
    • Bash
    • sudo dnf upgrade -y
    • # 或者 sudo dnf update -y (在新版 dnf 中效果通常一样)
  3. 安装新软件包
    • Bash
    • sudo dnf install <软件包名1> <软件包名2> ... -y
    • # 例如:
    • sudo dnf install nginx vim curl -y
  4. 卸载软件包
    • Bash
    • sudo dnf remove <软件包名> -y
    • 清理不再需要的依赖包:
    • Bash
    • sudo dnf autoremove -y
    • (注意: dnf 没有像 apt purge 那样内置的彻底清除配置文件的直接命令,通常 remove 就够了,配置文件是否删除取决于包本身的脚本)
  5. 搜索与查看软件包信息
    • 搜索包:
    • Bash
    • dnf search <关键词>
    • # 例如: dnf search nginx
    • 查看包的详细信息:
    • Bash
    • dnf info <软件包名>
    • # 例如: dnf info nginx
    • 检查包是否已安装:
    • Bash
    • dnf list installed <软件包名>

Apt vs DNF 小结

虽然命令细节略有不同,但核心思想是一致的:连接仓库 -> 处理依赖 -> 安装/更新/卸载。记住你所用发行版对应的命令就好!

关于软件仓库 (Repositories)

包管理器默认会从系统自带的官方仓库获取软件。这些仓库里的软件通常经过测试,比较稳定。但有时你可能需要更新版本的软件,或者官方仓库里没有你想要的软件,这时可能需要添加额外的第三方仓库 (比如Ubuntu上的PPA,或者CentOS/RHEL上的EPEL仓库、软件开发商自己的仓库),但这会增加一定的复杂性和潜在风险,操作前要了解清楚。


看,有了 aptdnf 这两位“软件管家”,在Linux服务器上管理软件是不是瞬间感觉清晰、简单多了?它们帮你处理了最头疼的依赖问题,保证了软件来源的相对可靠性,还能方便地保持系统更新。

记住这几个核心操作:更新列表 (apt update / dnf check-update)、安装 (install)、升级 (upgrade/update)、卸载 (remove/purge)、搜索 (search)。养成使用包管理器来安装和管理软件的习惯,这是Linux系统管理的基础,也是保障系统稳定和安全的重要一环。现在,大胆去软件仓库里探索你需要的工具吧!

软件分享

搭建自己的代码仓库:GitLab/Gitea服务器安装与配置教程

2025-4-9 11:55:42

知识库软件分享

强制网站HTTPS访问:Nginx配置HTTP到HTTPS自动跳转(301重定向)

2025-4-21 10:16:50

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧