如何处理未记录的 Arch Linux 更新失败?

mas*_*mas 3 arch-linux upgrade fontconfig

我已经使用 Arch 大约 3-4 个月了,实际上我从来没有处理过升级错误。昨天当我跑步时sudo pacman -Syu我得到了

:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...

Packages (2) fontconfig-1:2.13.1-1  librsvg-2:2.44.2-1

Total Download Size:   1.81 MiB
Total Installed Size:  6.09 MiB
Net Upgrade Size:      0.06 MiB

:: Proceed with installation? [Y/n] y
:: Retrieving packages...
 fontconfig-1:2.13.1-1-x86_64                          871.8 KiB   830K/s 00:01 [#############################################] 100%
 librsvg-2:2.44.2-1-x86_64                             980.1 KiB  2.19M/s 00:00 [#############################################] 100%
(2/2) checking keys in keyring                                                  [#############################################] 100%
(2/2) checking package integrity                                                [#############################################] 100%
(2/2) loading package files                                                     [#############################################] 100%
(2/2) checking for file conflicts                                               [#############################################] 100%
(2/2) checking available disk space                                             [#############################################] 100%
:: Processing package changes...
(1/2) upgrading fontconfig                                                      [#############################################] 100%
Rebuilding fontconfig cache...Fontconfig error: "/etc/fonts/local.conf", line 1: XML or text declaration not at start of entity
/usr/share/fonts/OTF: failed to write cache
/usr/share/fonts/cyrillic: failed to write cache
/usr/share/fonts/encodings/large: failed to write cache
/usr/share/fonts/util: failed to write cache
 done.
(2/2) upgrading librsvg                                                         [#############################################] 100%
:: Running post-transaction hooks...
(1/2) Probing GDK-Pixbuf loader modules...
(2/2) Arming ConditionNeedsUpdate...
Run Code Online (Sandbox Code Playgroud)

头版archlinux.org的最近一次有文件更新失败在七月,我从来没有来对付它。

我怎么知道这是否是一个重大错误?我的电脑似乎工作正常,但我还没有重新启动。重写字体缓存失败似乎没什么大不了的,但我真的不知道。

有什么建议吗?

请注意:我用当前标题提出这个问题,因为我特别感兴趣的是关于如何寻求解决未记录的 Arch 更新失败的解决方案的建议,以及这个特定问题的解决方案。如果这就是我感兴趣的全部内容,我会问技术问题“fontconfig 更新错误”。

更新:根据评论中的建议(@Mioriin),我发现我的错误实际上毫无意义。但是,我不会删除这个问题。我正在征求有关 Arch 更新失败后应采取的步骤的建议

cry*_*rch 6

听起来您更多的是询问如何处理系统更新的意外结果,而不是任何特定的包。听起来您似乎也在询问将来如何缓解这种情况。根据您的问题,我将重点关注这些一般问题,而不是专门与 fontconfig 相关的任何问题。

在 Arch Linux 中,除了定期运行您的pacman -Syupacman -Syyu. 然后,当出现问题时,通常很容易将角色恢复到有效的最新版本,然后等待解决问题的较新版本。

例如,最近的内核升级导致我的 Arch Linux 笔记本电脑上的 wifi 停止工作。由于我定期更新,因此我能够使用pacman -U /var/cache/pacman/pkg/<old-kernel>. 我时不时地尝试另一次升级,看看更新的内核是否能解决问题。

以我的经验,这类问题偶尔会发生,一般过一段时间就好了。也许需要几个月的时间。继续努力吧。同时,继续使用旧版本。

但是,当您不想等待,并且在某个包裹中发现一些令人困惑的东西时,您可以使用一些策略。看着你描述的问题,我至少会尝试几种方法:

  • 谷歌搜索诸如"font config error" "XML or text declaration not at start of entity"或 之类的东西linux fonts "failed to write cache"。(我不会为你做那个谷歌搜索。你问的是策略,而不是针对这个确切的问题拍拍单次指令;))
  • 注意到该错误似乎与fontconfig升级中提到的新有关,请使用asp来调查此包的构建方式:asp checkout fontconfig。在主干目录中,您将找到一个 PKGBUILD,它显示了包是如何构建的。它将为您提供尝试重现问题的步骤。这可能会帮助您找出问题所在。或者,如果您认为游戏中存在真正的错误,它会让您以对上游有意义的方式构建事物。

在重启时,确实,字体问题在我看来并不是不重启的理由。不过,可能发生的最坏情况是什么?从最新的 Arch 映像创建一个 liveusb 并不难,启动到那个,chroot 到你的主系统,然后在重新启动之前回滚到旧版本。

这是处理 Arch Linux 问题的另一种策略:在其他计算机周围,您可以在那里获取 iso 以安装 USB 进行恢复,以防出现问题;)

编辑:有人要求我添加到答案中,另一个值得一看的地方是 Arch Linux 网站上的补丁/包说明。此外,这些天我不经常参加论坛,但过去我发现它们很有价值,所以这是另一个尝试的地方。

  • 谢谢你,cryptarch,你的回答确实是正确的。但是,您介意在 archlinux.org 网站上结合 @Mioriin 关于检查软件包说明的建议,因为这确实很快就触及了它的核心(fontconfig 更新故障是一个毫无意义的问题,确实很快就会得到解决)。 (2认同)