这个 Linux 功能是我不再害怕更新的原因(而且 Windows 应该借鉴它)
每次我点击更新按钮时,都会有一瞬间的小犹豫。你知道那种感觉:光标悬停在那里。你的大脑快速进行风险评估。我今天真的想处理这个吗?更新本应改善你的系统,但任何使用计算机足够久的人都知道,它们偶尔会带来意外。驱动程序停止合作,或者昨天完美运行的东西突然拒绝工作。Windows 用户对这种感觉尤其熟悉。
Windows 更新有着漫长而多彩的历史,偶尔会出现问题。有时系统会在最糟糕的时刻安装它们。有时驱动程序会出错。有时一个功能悄悄地停止工作,而你甚至不知道原因。恢复工具是存在的,但它们往往感觉缓慢、模糊,并且有点不可预测。另一方面,Linux 多年前就悄悄解决了这个问题。关键在于一个称为文件系统快照的技术,一旦你开始使用它们,更新就完全不会再让人觉得有风险了。
更新以前感觉像是一场赌博
普遍的“请不要弄坏任何东西”时刻
多年来,更新总是带有一点不确定性。你点击更新,本质上就是和你的电脑达成一种交易。也许一切都会改善,也许什么都没变,或者你的声音设备可能会消失在黄昏维度中。当然,大多数更新都没问题。但出现问题的可能性足以让有经验的用户保持谨慎。如果你曾因为那天确实需要电脑正常工作而推迟更新,恭喜你。你并不孤单。一旦你的系统有了一种可靠的方式来回退自身,这种犹豫就会消失。对我来说改变一切的功能是文件系统快照。Linux无需再寄希望于更新完美无缺,而是可以在任何变化发生之前冻结整个系统:每个文件、已安装的软件包和配置。
那个冻结状态就成为你系统在那个确切时刻的快照。然后更新运行。如果一切正常,很好。你继续使用你的电脑。如果出现问题,你只需恢复到更新前拍摄的快照。不会有侦查工作,不需要重新安装驱动程序,也不需要翻看2014年的论坛帖子去撤销某些神秘操作。你的系统只是简单地恢复到原来的状态。Windows 确实试图通过系统还原做类似的事情,但它很少让人觉得那么直观。还原点出现得不稳定,回滚可能涉及多次重启和长时间等待。快照采取了更简单的方法:如果出现问题,你只需回到没有问题的时候。
Linux 如何在几秒钟内冻结时间
现代文件系统使快照几乎是即时的
这种能力来自像 Btrfs 这样的现代文件系统。传统文件系统需要复制大量数据才能创建备份。Btrfs 使用一种称为写时复制(copy-on-write)的技术,它允许系统在不复制每个文件的情况下记录文件系统的当前状态。
当某些内容随后发生变化时,只有差异会被存储。这意味着快照几乎可以瞬间创建,并且占用的空间出乎意料地少。像 Snapper 这样的工具可以自动化整个过程。在系统安装更新之前,Snapper 会在后台悄悄创建一个快照。你点击更新,系统会先悄悄保存一个快照。然后更新才会运行。这个小小的设计选择彻底改变了更新的体验感。
Linux 更新不再让人害怕的那一刻
启动菜单成为你的安全网
真正的神奇发生在快照第一次出现在你的启动菜单中时。许多 Linux 系统使用启动加载程序 GRUB,有些发行版将快照直接集成到其中。你可能不会只看到一个启动选项,而是会看到类似这样的内容:
- 启动当前系统
- 系统更新前的快照
- 三天前的快照
如果更新造成问题,你只需选择之前的快照。几秒钟后,你的电脑就会完全按照更新之前的状态启动,无需修复工具、无需长时间的故障排除,也不会出现神秘的“正在尝试恢复你的系统”屏幕。
你只是回来了。从那里,将该快照恢复为活动系统只需一个命令:
sudo snapper rollback损坏的更新实际上会从历史记录中消失。说实话,第一次这样做的时候,感觉有点像作弊。
当更新真的导致某些东西出错时
一个快速的现实世界场景
想象一下安装显卡驱动更新后,你的桌面突然感觉……怪怪的。动画卡顿,窗口打开有延迟,一切在技术上都能工作,但系统现在感觉像在和自己争论。通常,这就是故障排除开始的地方:你开始搜索论坛,尝试降级软件包,并质疑最近的几个生活决策。有了快照,这个过程会大大缩短:重启,从更新前选择快照,然后继续工作。损坏的更新变成明天的问题,而不是今天的紧急情况。
一些 Linux 发行版已经自动执行此操作
快照驱动的更新正在变得普遍
已经有几个 Linux 发行版将快照视为更新过程的核心部分。例如,openSUSE Tumbleweed 会在每次系统更新前自动创建 Btrfs 快照。如果出现问题,您可以直接从 GRUB 菜单启动前一个快照并将系统回滚。
像 Garuda Linux 这样的发行版也严重依赖快照来使更新更加安全。即使是默认不使用 Btrfs 的发行版,通常也会通过类似 Timeshift 这样的工具提供类似的保护,Timeshift 可以创建恢复点,如果出现问题,你可以回到这些恢复点。
这一切背后的哲学很简单:更新绝不应该让你陷入一个破损的系统中。
为什么 Windows 绝对应该借鉴这个想法
Windows 确实包含恢复工具,例如系统还原和更新回滚。但它们通常更像是应急工具,而不是日常的安全网。当 Windows 更新失败时,用户通常需要浏览恢复界面,等待多次重启,并希望系统最终能自行修复。而快照则完全颠倒了这个过程。Linux 并不是试图修复损坏的系统,而是让你启动一个没有损坏的系统。这样更快、更清晰,并且大大减少了更新带来的压力。
大多数现代操作系统都会不断更新。安全补丁会定期发布。驱动程序在不断发展。软件变化比以往任何时候都快。
在那种环境下,立即撤销更改的能力变得异常宝贵。Linux 并不假装更新总是会完美进行。相反,它提供了一个安全网。按下更新,让它运行,如果需要则重启。如果一切正常,太好了。如果出现问题,再次重启并选择昨天的系统即可。Windows 将更新视为你希望能够成功的东西。
Linux 将它们视为可以撤销的东西。









