Dnf
必备且常用的 Dnf 用法。
安装
命令:install
别名:in
sudo dnf [options] install <spec>...
例子:
sudo dnf install tito
# install from local file
# also support network URL
sudo dnf install ~/Downloads/tito.rpm
# install specify version
sudo dnf install tito-0.5.6-1.fc22
# install Group or Module
sudo dnf install '@docker'
命令:reinstall
别名:rei
sudo dnf [options] reinstall <package-spec>...
卸载
命令:remove
别名:rm
sudo dnf [options] remove <package-spec>...
remove 默认启用 clean_requirements_on_remove 选项。启用这个选项时,remove 将会自动卸载与该软件包相关的但是不被使用
的其他软件包。
命令:autoremove
# remove all unused packages
sudo dnf [options] autoremove
sudo dnf [options] autoremove <spec>...
如上所言,默认的 remove 就是 autoremove 的别名。
更新
命令:upgrade
别名:up
# upgrade all upgradeable packages
sudo dnf [options] upgrade
sudo dnf [options] upgrade <package-spec>...
# upgrade module
sudo dnf [options] upgrade @<spec>...
其实update
是一个已经废弃的别名。
搜索
命令:search
别名:se
dnf [options] search [--all] <keywords>...
搜索结果以列表形式展示,要查看包的详细信息使用下面的命令。
命令:info
别名:if
dnf [options] info [<package-file-spec>...]
历史
命令:history
别名:hist
dnf history [list] [--reverse] [<spec>...]
清理
命令:remove
别名:rm
# will take a long time
sudo dnf rm --duplicates
# can clean old kernels
sudo dnf rm --oldinstallonly
一般情况下,remove 一个特定软件包时会自动删除相关无用依赖。oldinstallonly 选项可以用来删除旧内核镜像。
更新系统
- 更新发行版
命令:upgrade --refresh
sudo dnf upgrade --refresh
Docs 说运行后要 reboot,不确定是否需要。
- 下载更新插件
命令:install dnf-plugin-system-upgrade
sudo dnf install dnf-plugin-system-upgrade
如果已经安装了,可以跳过。
- 下载新软件包
命令:system-upgrade download --releasever=39
sudo dnf system-upgrade download --releasever=39
可以跨版本更新,如从 37 直接到 39。
- 重启更新
命令:system-upgrade reboot
sudo dnf system-upgrade reboot
- 清理
参见清理。