如何在 Arch Linux 中降级软件包 ===== ![](https://www.ostechnix.com/wp-content/uploads/2016/05/Arch-Linux-720x340.jpg) 正如你了解的,Arch Linux 是一个滚动版本和 DIY(自己动手)发行版。因此,在经常更新时必须小心,特别是从 AUR 等第三方存储库安装或更新软件包。如果你不知道自己在做什么,那么最终很可能会破坏系统。你有责任使 Arch Linux 更加稳定。但是,我们都会犯错误,要时刻小心是很难的。有时候,你想更新到最新的版本,但你可能会被破损的包卡住。不要惊慌!在这种情况下,你可以简单地回滚到旧的稳定包。这个简短的教程描述了如何在 Arch Linux 中以及它的变体,如 Antergos,Manjaro Linux 中降级一个包, ### 在 Arch Linux 中降级一个包 在 Arch Linux 中,有一个名为 “downgrade” 的实用程序,可帮助你将安装的软件包降级为任何可用的旧版本。此实用程序将检查你的本地缓存和远程服务器(Arch Linux 仓库)以查找所需软件包的旧版本。你可以从该列表中选择任何一个旧的稳定的软件包并进行安装。 该软件包在官方仓库中不可用,你需要添加非官方的 **archlinuxfr** 仓库。 为此,请编辑 `/etc/pacman.conf` 文件: ``` $ sudo nano /etc/pacman.conf ``` 添加以下行: ``` [archlinuxfr] SigLevel = Never Server = http://repo.archlinux.fr/$arch ``` 保存并关闭文件。 使用以下命令来更新仓库: ``` $ sudo pacman -Sy ``` 然后在终端中使用以下命令安装 “Downgrade” 实用程序: ``` $ sudo pacman -S downgrade ``` 示例输出: ``` resolving dependencies... looking for conflicting packages... Packages (1) downgrade-5.2.3-1 Total Download Size: 0.01 MiB Total Installed Size: 0.10 MiB :: Proceed with installation? [Y/n] ``` “downgrade” 命令的典型用法是: ``` $ sudo downgrade [PACKAGE, ...] [-- [PACMAN OPTIONS]] ``` 让我们假设你想要将 opera web 浏览器 降级到任何可用的旧版本。 为此,运行: ``` $ sudo downgrade opera ``` 此命令将从本地缓存和远程镜像列出所有可用的 opera 包(新旧两种版本)。 示例输出: ``` Available packages: 1) opera-37.0.2178.43-1-x86_64.pkg.tar.xz (local) 2) opera-37.0.2178.43-1-x86_64.pkg.tar.xz (remote) 3) opera-37.0.2178.32-1-x86_64.pkg.tar.xz (remote) 4) opera-36.0.2130.65-2-x86_64.pkg.tar.xz (remote) 5) opera-36.0.2130.65-1-x86_64.pkg.tar.xz (remote) 6) opera-36.0.2130.46-2-x86_64.pkg.tar.xz (remote) 7) opera-36.0.2130.46-1-x86_64.pkg.tar.xz (remote) 8) opera-36.0.2130.32-2-x86_64.pkg.tar.xz (remote) 9) opera-36.0.2130.32-1-x86_64.pkg.tar.xz (remote) 10) opera-35.0.2066.92-1-x86_64.pkg.tar.xz (remote) 11) opera-35.0.2066.82-1-x86_64.pkg.tar.xz (remote) 12) opera-35.0.2066.68-1-x86_64.pkg.tar.xz (remote) 13) opera-35.0.2066.37-2-x86_64.pkg.tar.xz (remote) 14) opera-34.0.2036.50-1-x86_64.pkg.tar.xz (remote) 15) opera-34.0.2036.47-1-x86_64.pkg.tar.xz (remote) 16) opera-34.0.2036.25-1-x86_64.pkg.tar.xz (remote) 17) opera-33.0.1990.115-2-x86_64.pkg.tar.xz (remote) 18) opera-33.0.1990.115-1-x86_64.pkg.tar.xz (remote) 19) opera-33.0.1990.58-1-x86_64.pkg.tar.xz (remote) 20) opera-32.0.1948.69-1-x86_64.pkg.tar.xz (remote) 21) opera-32.0.1948.25-1-x86_64.pkg.tar.xz (remote) 22) opera-31.0.1889.174-1-x86_64.pkg.tar.xz (remote) 23) opera-31.0.1889.99-1-x86_64.pkg.tar.xz (remote) 24) opera-30.0.1835.125-1-x86_64.pkg.tar.xz (remote) 25) opera-30.0.1835.88-1-x86_64.pkg.tar.xz (remote) 26) opera-30.0.1835.59-1-x86_64.pkg.tar.xz (remote) 27) opera-30.0.1835.52-1-x86_64.pkg.tar.xz (remote) 28) opera-29.0.1795.60-1-x86_64.pkg.tar.xz (remote) 29) opera-29.0.1795.47-1-x86_64.pkg.tar.xz (remote) 30) opera-28.0.1750.51-1-x86_64.pkg.tar.xz (remote) 31) opera-28.0.1750.48-1-x86_64.pkg.tar.xz (remote) 32) opera-28.0.1750.40-1-x86_64.pkg.tar.xz (remote) 33) opera-27.0.1689.76-1-x86_64.pkg.tar.xz (remote) 34) opera-27.0.1689.69-1-x86_64.pkg.tar.xz (remote) 35) opera-27.0.1689.66-1-x86_64.pkg.tar.xz (remote) 36) opera-27.0.1689.54-2-x86_64.pkg.tar.xz (remote) 37) opera-27.0.1689.54-1-x86_64.pkg.tar.xz (remote) 38) opera-26.0.1656.60-1-x86_64.pkg.tar.xz (remote) 39) opera-26.0.1656.32-1-x86_64.pkg.tar.xz (remote) 40) opera-12.16.1860-2-x86_64.pkg.tar.xz (remote) 41) opera-12.16.1860-1-x86_64.pkg.tar.xz (remote) select a package by number: ``` 只需输入你选择的包号码,然后按回车即可安装。 就这样。当前安装的软件包将被降级为旧版本。 另外阅读:[在 Arch Linux 中如何将所有软件包降级到特定日期][1] ### 那么,如何避免已损坏的软件包并使 Arch Linux 更加稳定? 在更新 Arch Linux 之前查看 [Arch Linux 新闻][2]和[论坛][3],看看是否有任何已报告的问题。过去几周我一直在使用 Arch Linux 作为我的主要操作系统,以下是我在这段时间内发现的一些简单提示,以避免在 Arch Linux 中安装不稳定的软件包。 1. 避免部分升级。这意味着永远不要运行 `pacman -Sy <软件包名称>`。此命令将在安装软件包时部分升级你的系统。相反,优先使用 `pacman -Syu` 来更新系统,然后使用 `package -S <软件包名称>` 安装软件包。 2. 避免使用 `pacman -Syu -force` 命令。`-force` 标志将忽略程序包和文件冲突,并且可能会以破损的程序包或损坏的系统结束。 3. 不要跳过依赖性检查。这意味着不要使用 `pacman -Rdd <软件包名称>`。此命令将在删除软件包时避免依赖性检查。如果你运行这个命令,另一个重要的包所需的关键依赖也可以被删除。最终,它会损坏你的 Arch Linux。 4. 定期备份重要数据和配置文件以避免数据丢失总是一个好习惯。 5. 安装第三方软件包和 AUR 等非官方软件包时要小心。不要安装那些正在经历重大发展的软件包。 有关更多详细信息,请查看 [Arch Linux 维护指南][4]。 我不是 Arch Linux 专家,我仍然在学习如何使它更稳定。如果你有任何技巧让 Arch Linux 保持稳定和安全,请在下面的评论部分保持稳定和安全告诉我,我将洗耳恭听。 希望这可以有帮助。目前为止这就是全部了。我很快会再次在这里与另一篇有趣的文章。在此之前,请继续关注。 干杯! -------------------------------------------------------------------------------- via: https://www.ostechnix.com/downgrade-package-arch-linux/ 作者:[SK][a] 选题:[lujun9972](https://github.com/lujun9972) 译者:[MjSeven](https://github.com/MjSeven) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 [a]:https://www.ostechnix.com/author/sk/ [1]:https://www.ostechnix.com/downgrade-packages-specific-date-arch-linux/ [2]:https://www.archlinux.org/news/ [3]:https://bbs.archlinux.org/ [4]:https://wiki.archlinux.org/index.php/System_maintenance