活动公告

系统通知
05-18 21:22
系统通知
通知:本站资源由网友上传分享,如有违规等问题请到版务模块进行投诉,资源失效请在帖子内回复要求补档,会尽快处理!
10-23 09:31

Fedora Linux系统下轻松安装软件包的完整指南 从基础命令到高级技巧让新手也能快速掌握软件管理

SunJu_FaceMall

3万

主题

2860

科技点

3万

积分

白金月票

碾压王

积分
32872

塔罗立华奏

<font color=白金月票" /> 发表于 2025-9-28 14:20:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
引言

Fedora Linux是一款由社区支持的、领先的开源操作系统,它以其创新性和对新技术的快速采用而闻名。作为Red Hat赞助的项目,Fedora为用户提供了稳定、安全且功能丰富的计算环境。在Fedora系统中,软件包管理是日常使用和维护系统的核心任务之一。本指南将带您从基础命令到高级技巧,全面了解Fedora Linux下的软件包管理,即使是Linux新手也能快速掌握。

基础知识:DNF包管理器介绍

Fedora Linux使用DNF(Dandified YUM)作为其默认的软件包管理器。DNF是YUM(Yellowdog Updater Modified)的下一代版本,提供了更好的性能、依赖解析能力和更少的内存使用。DNF使用RPM(Red Hat Package Manager)格式作为其软件包格式,并通过软件仓库(repositories)来管理和分发软件。

DNF的主要特点包括:

• 快速的依赖解析算法
• 事务历史记录和回滚功能
• 支持模块化(AppStream)
• 更好的插件系统
• 并行下载支持

基础命令:安装、更新、删除软件包

安装软件包

在Fedora中,安装软件包最基本的方法是使用dnf install命令。例如,要安装Vim文本编辑器,可以运行:
  1. sudo dnf install vim
复制代码

系统会提示您输入管理员密码,然后显示将要安装的软件包及其大小,并询问是否继续。输入y并按Enter键确认安装。

您也可以一次安装多个软件包:
  1. sudo dnf install vim firefox git
复制代码

更新软件包

保持系统更新是维护系统安全和稳定的重要步骤。要更新所有已安装的软件包,使用以下命令:
  1. sudo dnf update
复制代码

如果您只想更新特定的软件包,可以指定软件包名称:
  1. sudo dnf update vim
复制代码

删除软件包

要删除不再需要的软件包,使用dnf remove命令:
  1. sudo dnf remove vim
复制代码

DNF会自动删除与该软件包相关的不再需要的依赖项。

升级系统

Fedora定期发布新版本。要升级到最新的Fedora版本,可以使用dnf system-upgrade插件。首先,安装该插件:
  1. sudo dnf install dnf-plugin-system-upgrade
复制代码

然后,下载升级包:
  1. sudo dnf system-upgrade download --releasever=38
复制代码

(将38替换为您要升级到的Fedora版本号)

最后,重启系统以完成升级:
  1. sudo dnf system-upgrade reboot
复制代码

搜索和查询软件包信息

搜索软件包

在安装软件之前,您可能需要搜索可用的软件包。使用dnf search命令可以搜索软件包:
  1. dnf search web browser
复制代码

这会搜索与”web browser”相关的所有软件包。

查看软件包信息

要查看特定软件包的详细信息,使用dnf info命令:
  1. dnf info firefox
复制代码

这将显示软件包的版本、大小、仓库、描述等信息。

列出已安装的软件包

要列出系统中已安装的所有软件包,使用dnf list installed命令:
  1. dnf list installed
复制代码

由于输出可能很长,您可以使用grep过滤结果:
  1. dnf list installed | grep firefox
复制代码

查找提供特定文件的软件包

如果您需要查找提供特定文件或命令的软件包,使用dnf provides命令:
  1. dnf provides "*/vim"
复制代码

管理软件仓库

列出启用的仓库

要查看系统中所有启用的软件仓库,使用以下命令:
  1. dnf repolist
复制代码

要查看所有仓库(包括禁用的),使用:
  1. dnf repolist all
复制代码

启用和禁用仓库

要临时启用一个禁用的仓库,使用--enablerepo选项:
  1. sudo dnf --enablerepo=repo-name install package-name
复制代码

要永久启用或禁用仓库,编辑/etc/dnf/dnf.conf文件或使用config-manager插件:
  1. sudo dnf config-manager --set-enabled repo-name
  2. sudo dnf config-manager --set-disabled repo-name
复制代码

添加第三方仓库

Fedora允许用户添加第三方仓库以获取更多软件。例如,要添加RPM Fusion仓库(提供许多Fedora官方仓库中没有的软件):
  1. sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
复制代码

处理依赖关系

DNF的一个强大功能是自动处理软件包之间的依赖关系。当您安装一个软件包时,DNF会自动安装其所需的所有依赖项。

查看依赖关系

要查看软件包的依赖关系,使用dnf repoquery --requires:
  1. dnf repoquery --requires firefox
复制代码

查看哪些软件包依赖于特定软件包

要查看哪些已安装的软件包依赖于特定软件包,使用dnf repoquery --whatrequires:
  1. dnf repoquery --whatrequires libcurl
复制代码

清理不需要的依赖项

当您删除软件包时,DNF会自动删除不再需要的依赖项。但是,有时可能会有一些孤立的依赖项留在系统中。要删除这些不需要的依赖项,使用:
  1. sudo dnf autoremove
复制代码

高级技巧:历史记录、回滚、插件等

查看DNF历史记录

DNF会记录所有软件包操作的历史。要查看历史记录,使用:
  1. dnf history
复制代码

这将显示所有DNF操作的列表,包括ID、命令、日期和操作。

查看特定历史记录的详细信息

要查看特定历史记录的详细信息,使用dnf history info后跟历史ID:
  1. dnf history info 5
复制代码

撤销操作

如果您需要撤销某个DNF操作,可以使用dnf history undo后跟历史ID:
  1. sudo dnf history undo 5
复制代码

重做操作

要重做之前撤销的操作,使用dnf history redo:
  1. sudo dnf history redo 5
复制代码

使用DNF插件

DNF支持各种插件来扩展其功能。一些常用的插件包括:

1. dnf-plugin-system-upgrade:用于系统升级
2. dnf-plugins-core:包含许多有用的插件,如config-manager
3. dnf-plugin-flags:用于管理软件包标志

要安装这些插件,使用:
  1. sudo dnf install dnf-plugins-core dnf-plugin-system-upgrade dnf-plugin-flags
复制代码

下载软件包但不安装

有时您可能只想下载软件包而不安装它。使用dnf download命令:
  1. dnf download firefox
复制代码

下载软件包及其依赖项

要下载软件包及其所有依赖项,使用dnf download --resolve:
  1. dnf download --resolve firefox
复制代码

创建本地仓库

如果您有多台计算机需要相同的软件包,可以创建一个本地仓库以节省带宽。首先,安装createrepo:
  1. sudo dnf install createrepo
复制代码

然后,创建一个目录并将下载的RPM文件放入其中:
  1. mkdir ~/local-repo
  2. cp *.rpm ~/local-repo/
  3. createrepo ~/local-repo
复制代码

最后,创建一个新的仓库文件:
  1. sudo nano /etc/yum.repos.d/local.repo
复制代码

添加以下内容:
  1. [local-repo]
  2. name=Local Repository
  3. baseurl=file:///home/username/local-repo
  4. enabled=1
  5. gpgcheck=0
复制代码

(将username替换为您的实际用户名)

图形界面工具

虽然DNF命令行工具非常强大,但有些用户可能更喜欢图形界面。Fedora提供了几种图形化的软件包管理工具:

GNOME Software

GNOME Software是Fedora Workstation默认的图形软件中心。它允许用户浏览、安装和更新软件,以及管理Flatpak应用程序。

dnfdragora

dnfdragora是一个基于DNF的图形化软件管理器:
  1. sudo dnf install dnfdragora
复制代码

Yum Extender (yumex)

Yum Extender是另一个流行的图形化软件管理工具:
  1. sudo dnf install yumex-dnf
复制代码

常见问题及解决方案

1. GPG密钥问题

有时您可能会遇到GPG密钥相关的错误:
  1. Public key for xyz.rpm is not installed
复制代码

解决方案是导入相应的GPG密钥:
  1. sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$(rpm -E %fedora)-primary
复制代码

2. 依赖关系冲突

如果遇到依赖关系冲突,可以尝试:
  1. sudo dnf clean all
  2. sudo dnf update
复制代码

如果问题仍然存在,可以尝试:
  1. sudo dnf distro-sync
复制代码

3. 仓库元数据过期

如果遇到仓库元数据过期的问题:
  1. sudo dnf clean expire-cache
  2. sudo dnf makecache
复制代码

4. DNF锁定

如果DNF被锁定(通常是因为另一个DNF进程正在运行),您可以等待或删除锁定文件:
  1. sudo rm -f /var/run/dnf.pid
复制代码

5. 磁盘空间不足

如果因为磁盘空间不足而无法安装软件包,可以清理DNF缓存:
  1. sudo dnf clean all
复制代码

或者删除旧的内核:
  1. sudo dnf install dnf-utils
  2. sudo package-cleanup --oldkernels --count=2
复制代码

总结

Fedora Linux的DNF包管理器是一个强大而灵活的工具,它使得软件包管理变得简单高效。从基本的安装、更新和删除操作,到高级的历史记录、回滚和插件功能,DNF为用户提供了全面的软件管理解决方案。通过掌握本指南中介绍的基础命令和高级技巧,即使是Linux新手也能轻松管理Fedora系统中的软件包。

随着您对DNF的熟悉程度提高,您会发现它不仅是一个简单的软件包安装工具,更是一个强大的系统维护助手。无论是日常使用还是系统管理,DNF都能满足您的需求,让您的Fedora Linux体验更加顺畅和愉快。

现在,您已经准备好充分利用Fedora Linux的软件包管理系统了。祝您使用愉快!
「七転び八起き(ななころびやおき)」
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则