[已解决] timeshift 报错 E: ERROR: Could not destroy subvolume/snapshot: Directory not empty
问题描述
时间: 2024-10-24
系统环境:Arch 没有图形界面,通过pacman下载的timeshift
在删除timeshift创建的快照是,有一个快照无法删除,报错(类似于):
sudo timeshift --delete --snapshot 2021-06-04_20-35-13
/dev/nvme0n1p2 is mounted at: /run/timeshift/backup, options: rw,relatime,ssd,space_cache,subvolid=5,subvol=/
------------------------------------------------------------------------------
Removing snapshot: 2021-06-04_20-35-13
Deleting subvolume: @ (Id:256)
'E: ERROR: Could not destroy subvolume/snapshot: Directory not empty'
E: Failed to delete snapshot subvolume: /run/timeshift/backup/timeshift-btrfs/snapshots/2021-06-04_20-35-13/
E: Failed to remove snapshot: 2021-06-04_20-35-13
------------------------------------------------------------------------------
且无法找到对应的挂在的文件,通过btrfs子卷直接删除也不行
sudo btrfs subvolume list /
sudo btrfs subvolume delete /run/timeshift/backup/timeshift-btrfs/snapshots/2023-01-14_20-47-58/@/var/lib/portables
ERROR: Could not statfs: No such file or directory
解决方案
中间卡了很久,因为对btrfs和timeshift都不了解, 大模型在这个问题上就跟个二傻子似的
先将整个分区挂载到/mnt下,在删除对应的文件即可
sudo mount /dev/nvme0XXX /mnt //!将nvme0XXX改为你的btrfs所在的分区
sudo rm -rf /mnt/timeshift-btrfs
umount /mnt
再次查看,快照就已经被删除了
ashen@archLinux /> sudo btrfs subvolume list /
ID 257 gen 255 top level 5 path @home
ID 275 gen 255 top level 5 path @
ashen@archLinux /> sudo timeshift --list --snapshot-device /dev/nvme0n1p6
Mounted '/dev/nvme0n1p6' at '/run/timeshift/1478/backup'
Device : /dev/nvme0n1p6
UUID : 83cbb0aa-68f0-4899-9b4a-3a278a4428d9
Path : /run/timeshift/1478/backup
Mode : BTRFS
Status : No snapshots on this device
First snapshot requires: 0 B
No snapshots found
造成原因
推测 是因为我在尝试从快照恢复时,没有立刻重启,而是重复的恢复了一次。。。。