删除apt-snapshot- *是否安全?


8

当我决定使用Btrfs时,我认为我做错了。我没有使用它的任何功能,但是现在空间不足却遇到了麻烦。我做了

sudo btrfs balance start / -v

正如某些资料中所建议的那样,但可用空间仍然很小:

$ sudo btrfs fi df /    
Data, single: total=102.00GiB, used=99.55GiB
System, single: total=32.00MiB, used=16.00KiB
Metadata, single: total=2.00GiB, used=762.44MiB
unknown, single: total=256.00MiB, used=0.00

消息来源建议删除快照。我找到了一个候选人:

$ sudo btrfs subvolume list /
ID 257 gen 390597 top level 5 path @
ID 258 gen 390597 top level 5 path @home
ID 317 gen 390480 top level 5 path @apt-snapshot-release-upgrade-utopic-2014-10-23_20:38:40

删除@apt-snapshot-release-upgrade-utopic-*快照安全吗?

注意:我正在使用eCryptFS(不确定在这种情况下是否重要)。

Answers:


5

我已经看过很多关于如何回滚到其中一个快照的教程,但是,在较新版本的ubuntu(在15.04上测试)上,您不再需要挂载文件系统以回滚到通过创建的快照apt-btrfs-snapshot

再次,从运行的系统而不是在管理btrfs快照时通常要安装的分区上运行这些命令。

赶紧跑:

sudo apt-btrfs-snapshot list

列出可用快照,然后运行以下命令还原为较旧的快照:

sudo apt-btrfs-snapshot set-default @<name-of-snapshot>

对于这种情况,您可能需要将默认设置为现有快照。

重新启动以使更改生效。

而且,删除快照现在更加可靠和简单。同样,要列出快照,请运行:

sudo apt-btrfs-snapshot list

然后,要删除快照,请运行:

sudo apt-btrfs-snapshot delete @<name-of-snapshot>

例如,要按两天前的日期列出,请运行:

sudo apt-btrfs-snapshot list-older-than 2d

例如,要删除所有早于两天的快照,请运行:

sudo apt-btrfs-snapshot delete-older-than 2d

很棒的事情是您的旧默认设置不会被删除,因此如果您有一套默认设置,您仍然可以回滚到该默认设置。

删除快照应立即生效。


如果在启动后出现“设备上没有空间”错误,则可以连接空白的USB Pendrive或外部驱动器,并使用命令行将驱动器安装在/ tmp上。

将驱动器安装到/ tmp之后,您应该有足够的可用空间来运行:

sudo apt-btrfs-snapshot delete-older-than 

1

看起来很安全。我已经看到其他 尝试执行此操作的方法,但事实并非如此简单。

首先,运行以下命令以查看哪个分区是您的btrfs分区(假设您只有一个btrfs分区):

lsblk -o NAME,FSTYPE | grep btrfs| grep -o sda.

下面/dev/sda3以一个例子为例。

这是我的做法:

# mkdir /mnt/tmp
# mount /dev/sda3 /mnt/tmp
# ls /mnt/tmp         
@  
@apt-snapshot-release-upgrade-utopic-2014-10-23_20:38:40  
@home

这是正确的分区:

# btrfs subvol delete /mnt/tmp/@apt-snapshot-release-upgrade-utopic-2014-10-23_20:38:40 
Transaction commit: none (default)
Delete subvolume '/mnt/tmp/@apt-snapshot-release-upgrade-utopic-2014-10-23_20:38:40'

# btrfs subvol list /
ID 257 gen 397869 top level 5 path @
ID 258 gen 397869 top level 5 path @home

没有多少空间被释放:

vic-UX32VD# df
Filesystem         1K-blocks      Used Available Use% Mounted on
/dev/sda3          120729076 117384216   1996232  99% /

重新启动有助于:

Filesystem         1K-blocks      Used Available Use% Mounted on
/dev/sda3          120729076 109894736   9187296  93% /

可能只需要一个更大的硬盘即可;)
seanlano

1
@seanlano我有SSD,大尺寸的硬盘价格昂贵。
warvariuc '16

上一次升级后,apt-btrfs-snapshot命令无法列出子卷,这就是我手动删除膨胀的方式。谢谢!
mchid
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.