[已解决]timeshift删除报错 E: ERROR: Could not destroy subvolume/snapshot: Directory not

3 阅读2分钟

[已解决] 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

造成原因

推测 是因为我在尝试从快照恢复时,没有立刻重启,而是重复的恢复了一次。。。。