如何在 Arch Linux(或一般 Linux)中创建和使用还原点?

如何在 Arch Linux(或一般 Linux)中创建和使用还原点?

我对 Arch Linux 比较陌生,我真的很喜欢它的滚动发布概念。

在通过 进行系统更新之前pacman -Syu,我想创建一个还原点。这样,如果我的系统更新失败,我可以返回到尝试系统更新之前我的计算机上次所处的良好状态。

这是因为有一次当我pacman -Syu在 Arch 安装上进行安装时,它破坏了我的系统并且无法启动。发生这种情况时,我的计算机上仍然只有很少甚至没有必要的文件,因此我进行了全新安装。但现在我慢慢地构建了一个非常符合我喜好的系统,我不想从头开始重新安装它,并在系统更新破坏它时再次执行我已经做过的所有事情。与一个还原点,我很可能可以恢复我的计算机,而无需重新安装所有内容。

我如何创建和使用还原点在 Arch Linux 中?

答案1

Arch 并不是这样设计的:它是一个滚动版本,因此当软件包被推送到您的存储库时,您总是必须继续升级它们:唯一的选择是冻结所有内容。

话虽如此,你所要求的最好可以得到管理,在 Arch 框架内通过做两件事:

  1. 定期更新(这样您一次只能升级少量的软件包),并使用日志/var/log/pacman.log提供软件包列表,以便在出现问题时进行回滚。

  2. 不要过早清除软件包的缓存,或者(如果您需要空间)在发出 apacman -Sc或之前pacman -Scc,然后备份/var/cache/pacman/pkg/到外部驱动器,以便在您确实需要降级一个或多个软件包时可以访问旧版本。

如果您没有运行[Testing]存储库,那么实际情况是很少有损坏,并且当发生损坏时,会有详细记录。作为沃乔克斯指出,阅读是维持 Arch Linux 安装良好运行的先决条件。

一般来说,对于 Linux,您可以使用类似的工具克隆属制作当前安装的快照。

警告以上所有内容均指您的系统。当然,您应该有一个适当的制度来备份您的数据。

答案2

Linux 发行版通常没有设置类似恢复系统的东西。也有一些小的例外。我使用的基于 RPM 的发行版在升级时会保留所有以前版本的软件包的存档。可以安装这些软件包并将软件回滚到升级前的状态,但这会造成依赖性混乱,并且没有听起来那么有用。通常解决包问题的唯一方法是转发。

但是,如果您想实现系统范围的恢复系统,执行此操作的方法是通过文件系统而不是包管理器。使用允许完整文件系统快照的文件系统,例如 XFS。或者更好的是,使用 LVM 设置驱动器并使用您喜欢的任何文件系统。一种稍微手动的方法是rsnapshot使用增量备份工具。

在进行主要的系统工作之前,先对整个系统进行快照。然后,如果出现问题,您可以回滚到原来的状态并重试。

答案3

我在 Arch 中做的两件事是升级前请阅读

降级软件包。我不知道有什么恢复点:)。

答案4

手动

Arch:安全地保存和恢复 pacman 数据库概述了在官方存储库中保存包快照的手动方法。您可以将此方法与保存包数据的文件系统快照结合使用。我的理解是,只有最新版本的软件包才会保存在存储库中。

使用aura

aura-bin可以轻松回滚/恢复pacman -Su系统更新/升级。

保存当前状态

要保存已安装的软件包和版本的列表:

aura -B

恢复之前的状态

从带日期标记的列表中选择以前的还原点:

aura -B --restore

清理旧的还原点

要删除除最后 3 个还原点之外的所有还原点:

aura -Bc 3

Manjaro 用户

如果您正在运行 Manjaro,请删除PKGBUILDabs运行时的依赖yaourt -S aura-bin

相关内容