我有一个 CentOS 8.0 系统,安装了很多我不想要的模块。我想摆脱它们以强制升级到 CentOS 9.0,我知道它不受官方支持,但实际上并不是这个问题的真正含义。这个问题只是关于删除我系统上安装在 dnf 中的所有模块的这一步骤。
输出dnf module list
非常大,所以我把它放在这里:https ://dpaste.com/EXMJLQ3VK
不再需要安装在该系统上的很多东西,正如您所见,这会消除很多臃肿。
我想从模块列表中的 dnf 获得可解析的输出,我也不完全确定我应该做什么来删除它们。在 Fedora wiki 上有一个关于使用 dnf 模块的页面,但我似乎无法从列表中删除一个。我已经尝试过这样的事情来删除模块......
# dnf module remove php:remi-7.4/common
Unable to match profile in argument php:remi-7.4/common
我当然不想手动删除这些模块中的每一个,但我找不到任何方法从 dnf 获取可解析列表,甚至无法手动删除它们。如果我学会了如何做这两件事xargs
,那么只需删除列表中的每一件事。
我确实设法通过像这样将通配符传递给 dnf 来禁用每个模块......
dnf module disable "*"
但是我不能用同样的方法删除它们......
# dnf module remove "*"
Last metadata expiration check: 2:20:13 ago on Wed 01 Jun 2022 10:32:56 AM UTC.
Error: Cannot enable more streams from module 'pmdk' at the same time
Centos 9 离开了模块。它可能一开始就不能正常工作
我试图玩弄
dnf module remove
,我不得不说它是错误的。它不像描述的那样工作。由于您的主要目的是升级到 Centos 9,我认为您最好的选择是禁用所有模块,您已经这样做了。
我了解您想删除尽可能多的软件包,但我认为这无论如何都无关紧要。
我在其他地方找到了解决这个问题的方法。
您可以通过从
/etc/dnf/modules.d/
这是一种 hacky 方式,但您可以遍历所有模块,删除每个模块安装的所有包,然后将它们重置为默认值。