在Centos8中默认使用DNF没有使用YUM​

DNF命令大全
本文详细介绍DNF(Dandified Yum)的27个常用命令,包括检查版本、列出仓库、搜索软件包、安装、更新、卸载软件包及更多高级操作。DNF作为YUM的替代品,为Linux系统管理员提供了更高效、便捷的软件包管理方式。

1. 检查DNF版本

检查您的系统上安装的DNF版本。

# dnf --version


2. 列出启用的DNF仓库

dnf命令中的'repolist'选项将显示您系统中所有启用的仓库。

# dnf repolist


3. 列出所有启用和禁用的DNF仓库

'repolist all'选项将显示您系统中所有启用/禁用的仓库。

# dnf repolist all


4. 用DNF列出所有可用的且已安装的软件包

'dnf list'命令将列出所有仓库中所有可用的软件包和您Linux系统中已安装的软件包。

# dnf list


5. 用DNF列出所有已安装的软件包

尽管'dnf list'命令将列出所有仓库中所有可用的软件包和已安装的软件包。然而像下面一样使用'list installed'选项将只列出已安装的软件包。

# dnf list installed


6. 用DNF列出所有可用的软件包

类似的,可以用'list available'选项列出所有开启的仓库中所有可用的软件包。

# dnf list available


7. 使用DNF查找软件包

如果您不太清楚您想安装的软件包的名字,这种情况下,您可以使用'search'选项来搜索匹配该字符(例如,nano)和字符串的软件包。

# dnf search nano


8. 查看哪个软件包提供了某个文件/子软件包?

dnf的选项'provides'能查找提供了某个文件/子软件包的软件包名。例如,如果您想找找哪个软件包提供了您系统中的'/bin/bash'文件,可以使用下面的命令

# dnf provides /bin/bash


9. 使用DNF获得一个软件包的详细信息

如果您想在安装一个软件包前知道它的详细信息,您可以使用'info'来获得一个软件包的详细信息,例如:

# dnf info nano


10. 使用DNF安装软件包

想安装一个叫nano的软件包,只需运行下面的命令,它会为nano自动的解决和安装所有的依赖。

# dnf install nano


11. 使用DNF更新一个软件包

您可能只想更新一个特定的包(例如,systemd)并且保留系统内剩余软件包不变。

# dnf update systemd


12. 使用DNF检查系统更新

检查系统中安装的所有软件包的更新可以简单的使用如下命令:

# dnf check-update


13. 使用DNF更新系统中所有的软件包

您可以使用下面的命令来更新整个系统中所有已安装的软件包。

# dnf update

# dnf upgrade


14. 使用DNF来移除/删除一个软件包

您可以在dnf命令中使用'remove'或'erase'选项来移除任何不想要的软件包。

# dnf remove nano

# dnf erase nano


15. 使用DNF移除于依赖无用的软件包(Orphan Packages)

这些为了满足依赖安装的软件包在相应的程序删除后便不再需要了。可以用过下面的命令来将它们删除。

# dnf autoremove


16. 使用DNF移除缓存的软件包

我们在使用dnf时经常会碰到过期的头部信息和不完整的事务,它们会导致错误。我们可以使用下面的语句清理缓存的软件包和包含远程包信息的头部信息。

# dnf clean all


17. 获得特定DNF命令的帮助

您可能需要特定的DNF命令的帮助(例如,clean),可以通过下面的命令来得到:

# dnf help clean


18. 列出所有DNF的命令和选项

要显示所有dnf的命令和选项,只需要:

# dnf help


19. 查看DNF的历史记录

您可以调用'dnf history'来查看已经执行过的dnf命令的列表。这样您便可以知道什么被安装/移除及其时间戳。

# dnf history


20. 显示所有软件包组

'dnf grouplist'命令可以显示所有可用的或已安装的软件包,如果没有什么输出,则它会列出所有已知的软件包组。

# dnf grouplist


21. 使用DNF安装一个软件包组

要安装一组由许多软件打包在一起的软件包组(例如,Educational Softaware),只需要执行:

# dnf groupinstall 'Educational Software'


22. 更新一个软件包组

可以通过下面的命令来更新一个软件包组(例如,Educational Software):

# dnf groupupdate 'Educational Software'


23. 移除一个软件包组

可以使用下面的命令来移除一个软件包组(例如,Educational Software):

# dnf groupremove 'Educational Software'


24. 从某个特定的仓库安装一个软件包

DNF可以从任何特定的仓库(比如 epel)安装一个软件包(例如,phpmyadmin):

# dnf --enablerepo=epel install phpmyadmin


25. 将已安装的软件包同步到稳定发行版

'dnf distro-sync'将同步所有已安装的软件包到所有开启的仓库中最近的稳定版本。如果没有选择软件包,则会同步所有已安装的软件包。

# dnf distro-sync


26. 重新安装一个软件包

'dnf reinstall nano'命令将重新安装一个已经安装的软件包(例如,nano):

# dnf reinstall nano


27. 降级一个软件包

选项'downgrade'将会使一个软件包(例如,acpid)回退到低版本。

# dnf downgrade acpid

示例输出

Using metadata from Wed May 20 12:44:59 2015
No match for available package: acpid-2.0.19-5.el7.x86_64
Error: Nothing to do.

我观察到:dnf不会按预想的那样降级一个软件包。这已作为一个bug被提交。


结论

DNF是YUM管理器的优秀替代品。它试着自动做许多甚至不推荐有经验的Linux系统管理员做的工作。例如:

--skip-broken不被DNF识别,并且DNF中没有其替代命令。
尽管您可能会运行dnf provides,但再也没有'resolvedep'命令了。
没有'deplist'命令用来发现软件包依赖。
您排除一个仓库意味着在所有操作上排除该仓库,而在yum中,排除一个仓库只在安装和升级等时刻排除他们。

许多Linux用户对于Linux生态系统的走向不甚满意。首先Systemd替换了init系统v,现在DNF将于不久后替换YUM,首先是Fedora 22,接下来是RHEL和CentOS。

您怎么看呢?是不是发行版和整个Linux生态系统并不注重用户并且在朝着与用户愿望相悖的方向前进呢?IT行业里有这样一句话 - “如果没有坏,为什么要修呢?”,System V和YUM都没有坏。

### 配置 CentOS 8 的可用 YUM 源并使用 Packstack 部署 OpenStack Victoria ### 配置 YUM 源 在 CentOS 8 上部署 OpenStack Victoria 之前,需要确保系统启用了正确的软件仓库。首先,启用 PowerTools 仓库,这是 CentOS 8 提供的一个额外软件包仓库。 ```bash dnf install -y dnf-utils dnf config-manager --enable PowerTools ``` 随后,安装 `centos-release-openstack-victoria` 包以启用 OpenStack Victoria 的软件仓库[^1]。 ```bash dnf install -y centos-release-openstack-victoria ``` 确保 EPEL(Extra Packages for Enterprise Linux)仓库也已启用,因为 OpenStack 的一些依赖包可能来自该仓库。 ```bash dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm ``` 完成上述步骤后,更新系统软件包列表以确保所有仓库配置生效。 ```bash dnf makecache ``` ### 安装 Packstack 安装 `openstack-packstack` 软件包,该工具可以简化 OpenStack 的部署过程。 ```bash dnf install -y openstack-packstack ``` ### 生成应答文件 使用 `packstack` 命令生成一个默认的应答文件,以便进行自定义配置。 ```bash packstack --gen-answer-file=openstack-ans.txt ``` ### 修改应答文件 编辑 `openstack-ans.txt` 文件,根据实际需求调整配置,例如设置数据库密码、Keystone 管理员密码等。 ### 执行部署 使用编辑后的应答文件开始部署 OpenStack Victoria。 ```bash packstack --answer-file=openstack-ans.txt ``` 部署完成后,可以通过访问 OpenStack Dashboard(默认地址为 `http://<controller-ip>/dashboard`)验证安装是否成功。 ### 配置时间同步服务 为了确保 OpenStack 各组件之间的时间一致性,需要配置 `chrony` 服务。例如,在虚拟机上配置 `chrony`,编辑 `/etc/chrony.conf` 文件,添加 NTP 服务器地址。 ```bash server 192.168.43.43 iburst ``` 其中 `192.168.43.43` 是 NTP 服务器的地址,也是物理主机的 IP 地址[^1]。然后重启时间同步服务以使设置生效。 ```bash systemctl restart chronyd.service ``` 输入 `date` 命令测试时间同步是否成功。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值