Skip to content

Fedora系统 DNF 与 Flatpak 使用指南

概述

在 Fedora 中,常见的软件安装方式有两种:

  • DNF:系统包管理器,安装的是 RPM 软件包,和系统集成度高。
  • Flatpak:跨发行版的应用分发方式,适合安装桌面应用,依赖隔离更强。

一般建议:

  • 命令行工具、开发依赖优先用 DNF
  • 桌面应用(如 GUI 软件)可优先考虑 Flatpak

DNF 常用操作

1. 刷新软件源元数据

bash
sudo dnf makecache

2. 查询软件包

bash
# 按名称搜索
sudo dnf search 关键字

# 查看包详细信息
sudo dnf info 包名

3. 安装软件

bash
# 安装单个软件
sudo dnf install 包名

# 一次安装多个
sudo dnf install 包1 包2 包3

4. 更新软件

bash
# 更新所有已安装包
sudo dnf upgrade --refresh

# 仅更新某个包
sudo dnf upgrade 包名

5. 卸载软件

bash
# 卸载软件
sudo dnf remove 包名

# 自动清理不再需要的依赖
sudo dnf autoremove

6. 查看已安装包

bash
sudo dnf list installed

7. 查看历史操作

bash
sudo dnf history

8. 清理缓存

bash
# 清理所有缓存
sudo dnf clean all

# 清理过期缓存并重新拉取元数据
sudo dnf makecache --refresh

DNF 进阶

1. 启用 RPM Fusion(常用第三方仓库)

适合安装一些 Fedora 官方源中没有的软件(如部分多媒体编解码器)。

bash
sudo dnf install \
  https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
  https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

2. 仅下载不安装(用于离线场景)

bash
sudo dnf download 包名

Flatpak 常用操作

1. 安装 Flatpak(若系统未预装)

bash
sudo dnf install flatpak

2. 添加 Flathub 仓库

bash
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

3. 搜索应用

bash
flatpak search 关键字

4. 安装应用

bash
# 按应用 ID 安装
flatpak install flathub 应用ID

# 示例:安装 VLC
flatpak install flathub org.videolan.VLC

5. 运行应用

bash
flatpak run 应用ID

6. 查看已安装应用

bash
flatpak list

7. 更新应用

bash
flatpak update

8. 卸载应用

bash
flatpak uninstall 应用ID

9. 清理未使用运行时

bash
flatpak uninstall --unused

DNF 与 Flatpak 对比

  • 集成度:DNF 更高(系统级);Flatpak 为沙箱隔离。
  • 适合场景:DNF 适合系统工具、开发包、服务端组件;Flatpak 更适合桌面应用。
  • 依赖处理:DNF 依赖系统库;Flatpak 使用运行时,隔离性更强。
  • 更新方式:DNF 使用 dnf upgrade;Flatpak 使用 flatpak update

推荐实践

  1. 先 DNF,后 Flatpak:能在官方仓库安装的工具优先使用 DNF。
  2. 桌面应用优先 Flathub:比如浏览器、编辑器、播放器等 GUI 应用。
  3. 定期维护
    • sudo dnf upgrade --refresh
    • flatpak update
    • sudo dnf autoremove && flatpak uninstall --unused

Released under the MIT License.