在 Ubuntu 上,如果您使用此文件系统,运行时apt upgrade
它会创建一个 btrfs 快照。这样做的问题是,一段时间后,您最终会遇到写入磁盘的问题,因为快照太多会耗尽文件系统可以拥有的最大 Inode 数量。
因此,有一个工具可以管理并最重要的是删除旧快照。但是,当我尝试列出快照( )apt-btrfs-snapshot
时,出现了以下异常:apt-btrfs-snapshot list
Available snapshots:
Traceback (most recent call last):
File "/usr/bin/apt-btrfs-snapshot", line 103, in <module>
res = apt_btrfs.print_btrfs_root_snapshots()
File "/usr/lib/python3/dist-packages/apt_btrfs_snapshot.py", line 212, in print_btrfs_root_snapshots
print(" \n".join(self.get_btrfs_root_snapshots_list()))
File "/usr/lib/python3/dist-packages/apt_btrfs_snapshot.py", line 204, in get_btrfs_root_snapshots_list
atime = os.path.getatime(os.path.join(mp, e, "etc", "fstab"))
File "/usr/lib/python3.6/genericpath.py", line 60, in getatime
return os.stat(filename).st_atime
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/apt-btrfs-snapshot-mp-4uisiasm/@apt-snapshot-release-upgrade-bionic-2018-02-26_14:51:59/etc/fstab'
是否有人知道如何解决此错误,以便我可以正确管理我的快照并再次避免灾难(耗尽 Inode)?
答案1
我终于找到了一个简单的答案!尽管出现了上述错误报告,我还是尝试直接删除有问题的快照:
sudo apt-btrfs-snapshot delete @apt-snapshot-release-upgrade-bionic-2018-02-26_14:51:59
并且成功了!之后,我运行了以下命令来删除剩余的:
sudo apt-btrfs-snapshot delete-older-than 1d
然后它删除了所有剩余的快照!