Безопасно ли удалять 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 (не уверен, имеет ли это значение в данном случае).

Ответы:


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-накопитель или внешний диск и использовать командную строку для монтирования диска в / 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% /

Может быть, просто нужен больший HDD;)
seanlano

1
@seanlano У меня есть SSD, который дорог для больших размеров.
warvariuc

Команды apt-btrfs-snapshot не смогли вывести подобъемы после моего последнего обновления, и именно так я вручную удалил свое содержимое. Спасибо!
Mchid
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.