当前位置: 首页>>技术教程>>正文


Linux(Debian/Ubuntu)等Windows是否有“restore point”?

, , , ,

问题描述

我直接在Ubuntu虚拟机(VM)中工作。一些更新(如内核)可从更新管理器中获得。

如果我不使用VM,则不会更新它,因为这可能会破坏某些东西。由于它是VM,因此您可以创建快照或导出设备并在出现问题时进行还原。

假设我没有在Debian /Ubuntu安装中使用VM。是否有一种install-restore方法不完全依赖于VM配置来完全在升级之前还原系统(例如Windows中的”Restore Point”),并且像VM设备一样易于还原?

(我不是在寻找”ghost images”或类似的东西(Norton Ghost,Clonezilla等),而是在Linux系统中寻找内置的东西)

最佳办法

我所知道的任何Linux发行版中都没有内置类似的功能。有很多原因使它比Windows有用得多。

  • 首先,Linux发行版要比Microsoft更加严重,因为稳定版的升级仅是为了修复重要的错误并进行最小的更改。例如,对于Ubuntu和Debian,您可以选择仅接收安全更新(-security),或仅接收安全更新和重要的错误修复(-updates)。

  • 内核升级是风险最高的升级,因为看似有益的更改可能会给特定的硬件配置带来麻烦。这就是为什么大多数发行版允许同时安装多个内核版本的原因。例如,在我撰写本文时,Ubuntu 10.04提供了三个内核版本:原始发行版的2.6.32.21.22,具有安全更新的2.6.32.22.23和具有非安全更新的2.6.32.23.24。如果… 24版本在您的计算机上造成问题,则可以在… 23下重启(甚至将… 24标记为禁止安装,至少在使用aptitude的情况下)。

  • 没有注册表:所有配置数据都在文件中(在/etc层次结构中),如果出现问题,可以轻松地单独还原它们。即使这样,对稳定版本的更新也很少影响/etc下的文件。

  • 如果要从稳定发行版以外的其他来源安装软件包,则可能需要保留较旧版本的软件包的副本,并保留配置文件的备份。以下是Debian和Ubuntu中有关此问题的一些提示。

    • 下载的程序包保存在/var/cache/apt/archives中。如果您有磁盘空间,请在确认新版本适合您之前,不要删除旧的软件包文件。

    • 许多资源都保留较旧的版本,因此您可以轻松地降级(通过手动下载和安装较旧的版本,或使用apt首选项)。对于Debian,请查看snapshot.debian.org

    • 有一种非常简单的方法来设置对/etc的版本控制:安装etckeeper软件包并使用命令etckeeper init激活它。 (我这样做,但这并不是因为我担心升级会破坏某些东西,而是因为我担心我的更改会破坏一些东西。)

次佳办法

不需要,因为程序包管理器会处理来自哪个程序包的哪个文件,并且还可以回滚程序包的更新或安装。

第三种办法

您可以尝试使用类似etckeeper的工具。该工具仅将system-wide配置文件保留在版本控制存储库中,并使其易于回滚并再次应用任何更改。

但是,老实说,我从来不需要回滚来自debian /stable系统更新的任何更改。我用它来解决我手动犯的错误。

第四种办法

TMK是Windows还原功能,它仅将对注册表和某些关键目录的更改撤消。 Linux没有此功能。

您可以尝试使用手动方法进行备份。只需从Synaptic备份您的主目录和程序列表,然后将其用作还原点即可。

第五种办法

请注意,特别是Ubuntu(但也可能包括Debian)在安装更新时不会删除旧的内核程序包,您可以配置引导程序以在引导时显示可供选择的内核列表。

这会自动创建”restore points”(仅用于内核),因为如果较新的版本会引起问题,则可以选择先前的版本。据我所知,Windows内核更新没有这样的功能。 (尤其是对于家庭用户,由于内核更新,我不想费心帮助一个诊断和修复无法启动的系统。)

第六种办法

有一个名为Timeshift的工具。 (http://www.teejeetech.in/p/timeshift.html)我没有使用过,但是看起来很有希望,而且我已经从用户那里听到了很多好消息。快照旨在避免数据重复。并且不要被obscure-looking网站吓到。 🙂

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/9103.html,未经允许,请勿转载。