Чи безпечно видаляти 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% /

Можливо, потрібен більший жорсткий диск;)
seanlano

1
@seanlano У мене є SSD, який коштує дорожче для великих розмірів.
Варварюк

Команди apt-btrfs-snapshot не вдалося перерахувати підпункти після мого останнього оновлення, і ось так я видалив своє введення вручну. Дякую!
мчід
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.