在日常使用 Timeshift 管理 Linux 系统备份的过程中,可能会遇到某次快照因中断或系统异常而未能正常完成,导致该快照在软件界面中无法显示,但在文件系统中依然占据空间。这种情况下,如何安全地手动删除该快照,并确认不会影响其他快照,是很多用户关心的问题。


Timeshift 快照原理简介

Timeshift 的 RSYNC 模式使用硬链接机制来存储多个快照之间相同的文件。这意味着:

  • 同一个文件可能被多个快照通过硬链接引用。
  • 删除其中一个快照目录时,只会减少 inode 的引用计数。
  • 只要其他快照仍在引用这些文件,数据就不会被真正删除。

硬链接的一个核心特点是:没有“原始文件”和“链接文件”的区分,所有链接对等。因此,删除某个快照中的文件,不会影响其他快照中的相同文件。


删除未完成快照的实际操作

通过命令行查看 Timeshift 快照目录:

sudo ls /timeshift/snapshots/

若发现某些目录未出现在 Timeshift GUI 中,如:

2025-08-05_21-11-59
2025-08-05_21-12-45
2025-08-05_21-29-32

可以判断这些为未完成或异常的快照。此时,可以安全地使用以下命令手动删除它们:

sudo rm -rf /timeshift/snapshots/2025-08-05_21-11-59
sudo rm -rf /timeshift/snapshots/2025-08-05_21-12-45
sudo rm -rf /timeshift/snapshots/2025-08-05_21-29-32

虽然其中大部分是硬链接文件,系统仍需处理所有目录项,因此删除过程可能较慢。尤其在文件数量极多(如含 Flatpak 或 Python 包)时,即使数据不大,系统也要逐个清理路径与 inode 引用,导致删除过程可能持续几分钟。


删除过程中断的情况分析

若删除过程中重启了系统,有可能终端未显示删除完成,但重启后快照目录已经消失。这种情况通常有两个可能:

  1. 删除操作已在后台接近完成,系统在关机时完成了写操作。
  2. 删除被中断,部分数据已被删除,剩余部分在重启后未被挂载或已被清理。

此时,只需检查 /timeshift/snapshots/ 目录,确认目标目录是否确实已消失。若目录不在,说明已删除干净,无需额外操作。


小结

  • 手动使用 rm -rf 删除 Timeshift 快照目录,在 RSYNC 模式下是安全的。
  • 删除的是目录引用,不会影响其他快照中的共用文件。
  • 删除过程可能缓慢,取决于文件数量而非体积。
  • 即使中途中断,只要目录最终消失,通常不影响系统与其他快照。

如需进一步优化批量清理或自动化处理,可以编写简单脚本实现更高效的快照管理。

Leave a Reply

Your email address will not be published. Required fields are marked *