我已经安装了 Fedora 24,它会packagekitd
在我关闭系统时安装更新。
通常情况下它运行正常,但上周五下班后我让它继续运行。今天我回来时它卡在 97%,我执行了强制关机。
现在,除非我选择上一个条目,否则我在启动时会遇到内核恐慌grub
。我执行了dnf clean && dnf update
,但问题仍然存在。我的理解是更新的软件包已损坏。
我认为最好的方法是找出周五到今天之间安装的软件包,然后强制重新安装所有软件包。我该怎么做?
答案1
首先,获取您的软件包列表,按安装/更新排序,并包含日期:
rpm -qa --last
记下崩溃当天安装日期的模块。
然后重新安装每个模块
dnf reinstall <package>
或者,将它们全部结合起来:
dnf reinstall $(rpm -qa --last | grep "<localized date>" | cut -d " " -f 1)
使用更新崩溃的日期。
答案2
因为使用之前的 grub 条目可以正常工作,所以问题可能与安装的最新内核有关。我猜 dracut 因某种原因失败了。卸载最新的内核应该有效。类似下面的操作应该可以解决问题:
dnf remove kernel-core-4.x.y
4.x.y
您要卸载的版本在哪里。之后,dnf update
应该会为您重新安装。然后,也许您可以看到安装过程中失败的原因。
答案3
这是 Fedora 系统版本 16 到 17 上的示例。请按照您的系统操作。以 root 身份登录终端。
此命令显示许多重复的包(fc16 和 fc17 的相同包)。
rpm -qa | sort
更新第一次遗漏的几个软件包。
这里 yum 抱怨重复的包。
yum --releasever=17 --disableplugin=presto distro-sync
此命令删除了 465 个重复项。
package-cleanup --cleandupes
这没有发现任何问题。
package-cleanup --problems
删除新内核
rpm -q kernel |grep fc17 | xargs rpm -e
重新安装新内核
这里我得到了以下错误,但显然是无害的。
“grubby 致命错误:无法找到合适的模板” yum 升级
这些命令来自以下 URL #https://fedoraproject.org/wiki/Upgrading_Fedora_using_yum
确保 Fedora 已升级
/usr/sbin/grub2-install /dev/sda cd /etc/rc.d/init.d; for f in *; do [ -x $f ] && /sbin/chkconfig $f resetpriorities; done package-cleanup --orphans
解决此问题的另一种方法是全新安装系统。