我最近注意到我的 Arch Linux 桌面系统不会更新/升级到最新版本。 我还以为没有新的更新呢。 我访问了 Arch Linux 网站,发现已经有很多可用的更新。 但是,每当我尝试更新我的 Arch Linux 系统时,我每次都会收到以下消息。
$ sudo pacman -Syu
这是我运行此命令后得到的结果:
:: Synchronizing package databases... core is up to date extra is up to date community is up to date multilib is up to date archlinuxfr is up to date :: Starting full system upgrade... there is nothing to do
在过去的一周里,我不断收到同样的信息。 我不知道为什么会这样。 最后,我找到了一个解决方案,我认为在这里分享它会对某人有所帮助。
解决 Arch Linux 中“正在启动完整系统升级…没什么可做的”问题
此问题的主要原因是镜像列表已过时。 如果您遇到同样的问题,您的镜像列表也可能已过时。
在 Arch Linux 及其变体(例如 EndeavourOS 和 Manjaro Linux)中有几种方法可以更新您的镜像列表。 您可以通过使用找到最新的镜像列表 Pacman 镜像列表生成器. 它是一个在线镜像列表生成器,可用于为 Arch Linux 生成最新的镜像列表。
找到镜像列表后,您可以手动将过时的镜像列表替换为新创建的镜像列表。 如果您不喜欢手动方式,可以使用名为的实用程序 反射器,用于为您的 Arch Linux 查找最新的镜像列表,并自动更新镜像列表。
要在 Arch Linux 及其衍生产品上安装 Reflector,请运行:
$ sudo pacman -S reflector rsync curl
使用命令备份现有的镜像列表:
$ sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
然后,使用命令更新镜像列表:
$ sudo reflector --verbose -l 50 -p http --sort rate --save /etc/pacman.d/mirrorlist
上面的命令将过滤 50 最近同步的 HTTP 服务器按下载速率排序,并自动更新镜像列表。 有关反射器的更多详细信息,请参阅下面附上的我们之前的指南。
- 在 Arch Linux 中使用 Reflector 检索最新的镜像列表
更新镜像列表后,尝试使用以下命令更新 Arch Linux 系统:
$ sudo pacman -Syu
或者,
$ sudo pacman -Syyu
现在,一切都应该正常工作。
修复 Manjaro Linux 中“正在启动完整系统升级。没有什么可做的”错误
反射器在 Manjaro 存储库中不可用。 Manjaro 开发人员使用 吃豆子镜子 而不是 Reflector 来检索最新的镜像。
Pacman-mirrors 是 Manjaro 特定的实用程序,用于生成和维护系统镜像列表。 它预装在 Manjaro Linux 中。
要在 Manjaro Linux 中检索 20 个最快的镜像并更新包索引,请运行:
$ sudo pacman-mirrors --fasttrack 20 && sudo pacman -Syyu
或者,
$ sudo pacman-mirrors -f 20 && sudo pacman -Syyu
现在您应该能够将您的软件包更新到最新的可用版本,而不会出现任何问题。
您可以在您的 bashrc
/zshrc
以节省一些击键。
alias update="sudo pacman-mirrors -f 20 && sudo pacman -Syyu"
从现在开始,您可以简单地运行以下命令来更新镜像列表并更新您的 Manjaro Linux 系统:
$ sudo update
希望这可以帮助。
相关阅读:
- 如何将损坏的 Arch Linux 恢复到以前的工作状态
- 如何修复 Arch Linux 中的“无法锁定数据库”错误
- 如何修复 Arch Linux 中的“无效或损坏的包(PGP 签名)”错误
- 如何解决 Arch Linux 中的“error: failed to commit transaction (conflicting files)”
- 如何修复 Arch Linux 中的“pacman:加载共享库时出错”错误