四季网

四季网

常用 DNF 命令

admin
常用 DNF 命令-第1张-游戏信息-四季网

DNF( Dandized YUM)是 YUM 包管理器的一个分支,已经成为 CentOS 8、RHEL 8 和 Fedora 上的 RPM 包的默认包管器。DNF 解决了与 yum 相关的问题,例如性能不佳、内存使用率高、依赖解析速度慢。

使用 DNF 命令的方法与使用 YUM 非常相似,下面是一些常用的操作命令。

列出已使能的软件包源
$ sudo dnf repolist
列出所有的软件包源(包含禁用的源)

如果需要查看所有启用或者禁用的软件包源,运行以下命令

$ sudo dnf repolist all
安装软件包

像 yum 一样,使用 install 命令,指定需安装的包名,例如

$ sudo dnf install httpd
删除软件包

删除包执行 remove/erase 命令

$ sudo dnf remove httpd或$ sudo dnf erase httpd
更新软件包

更新指定软件包使用 update 命令,例如

$ sudo dnf update httpd
检查系统更新

系统范围的更新检查使用 check-update 命令

$ sudo dnf check-update
升级所有的软件包

升级所有可以升级的软件包,运行 upgrade 命令

$ sudo dnf upgrade
列出所有的软件包组

软件包组是指一组相关联的包的集合,比如图形化桌面可以归为一个组,虚拟化套件可以归为一个组

$ sudo dnf grouplistAvailable Environment Groups: Fedora Custom Operating System Minimal Install Fedora Server Edition Fedora Workstation Fedora Cloud Server KDE Plasma Workspaces Xfce Desktop LXDE Desktop Hawaii Desktop LXQt Desktop Cinnamon Desktop MATE Desktop Sugar Desktop Environment Development and Creative Workstation Web Server Infrastructure Server Basic DesktopInstalled Groups: LibreOfficeAvailable Groups: 3D Printing Administration Tools Ansible node Audio Production
安装软件包组

安装软件包可以按组操作,使用 groupinstall 命令,例如安装开发工具的一系列包

$ sudo dnf groupinstall “Development Tools”
删除软件包组

删除也可以按组操作,使用 groupremove 命令

$ sudo dnf groupremove "Development Tools"

也可以使用 groupupdate 来更新软件包组。

搜索包

从软件包源中查找特定的包,可以使用 search 命令

$ sudo dnf search net-tools=========== Name Exactly Matched: net-tools =========net-tools.x86_64 : Basic networking tools$
下载软件包

在某些情况下,我们只是需要下载软件包,但不希望安装,可以使用 download 命令

$ sudo dnf download sambasamba-4.6.8-0.fc26.x86_64.rpm 139 kB/s | 636 kB 00:04$ 
显示所有可用的软件包

要从软件包源中获取所有可用软件包的列表,可以使用 list available 命令

$ dnf list available | more
显示已安装的软件包

列出系统上已安装的软件包可以通过 list installed 命令

$ dnf list installed
显示所有软件包

要获取所有软件包的列表,包括已安装的和可以安装的包,可以通过 list 命令

$ dnf list
指定软件安装

要指定从某个(或某些)软件源安装,可以通过 enablerepo 控制,这个用法与 yum 是一样的

$ sudo dnf install --enablerepo=epel mysql
检查哪个包提供了所需的功能

如果想知道哪个包负责获取特定功能,可以通过 provides 命令,例如想知道 crontab 是哪个包提供的

$ sudo dnf provides crontab

如果系统里有某个文件不知道是哪个包安装进去的,也可以用 provides 命令

$ sudo dnf provides /etc/logrotate.conf
查看包信息

要获取某个包的详细信息,可以通过 info 命令

$ dnf info kernel
更新缓存

软件包的元数据缓存是有周期任务自动更新的,也可以使用 makecache 手动更新缓存

$ sudo dnf makecache
清理缓存

要清理所有 dnf 缓存数据,可以通过 clean all 命令

$ sudo dnf clean all
查看 dnf 操作历史

要检查已使用 DNF 命令完成的所有事务,可以使用 history 命令

$ sudo dnf history

输出是按时间顺序生成的操作事务列表,每个事务都有对应的编号。这个编号可以用来过进一步查看相关的信息或者执行回滚,比如查看第5个事务的详情

$ sudo dnf history info 5

与安装、删除或更新相关的日志保存在日志文件 /var/log/dnf.log 中,使用 dnf 历史记录命令还可以回滚系统更新。

删除没有被依赖的包

随着系统软件的更新删除,有很多依赖包是被某些包安装依赖进来的,当这些包被卸载后,这些依赖包没有再被依赖使用,删除这些包可以释放一些空间,可以使用 autoremove 命令

$ sudo dnf autoremove
将所有软件包同步到最新的稳定版本

将所有软件包同步到最新的稳定发行版本,可以使用 distro-sync 命令

$ sudo dnf distro-sync

如果只需要同步单个包,可以指定包名。

重新安装软件包

若要重新安装包,可以使用 reinstalll 命令

$ sudo dnf reinstall httpd
升级到指定版本

使用 DNF 可以将 rpm 包升级到特定版本,使用 upgrade-to 命令

$ sudo dnf upgrade-to httpd-2.4.27-3.fc26

这个功能与 pip 指定安装某个版本的 python 包是类似的。

获取DNF帮助

dnf help 可以提供联机帮助,支持的命令以及各命令的用法,联机帮助还是很完善的

$ dnf help

以上就是 DNF 常用的操作命令,日常操作还是需要大家多多实践。

标签 autoremove怎么用