Czy bezpiecznie jest usunąć apt-snapshot- *?

8

Myślę, że popełniłem błąd, kiedy zdecydowałem się użyć Btrfs. Nie korzystam z żadnej z jego funkcji, ale mam teraz problemy z niewystarczającą ilością miejsca. Zrobiłem

sudo btrfs balance start / -v

jak sugerowano w niektórych źródłach, ale wciąż ma mało wolnego miejsca:

$ 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

Źródło sugeruje do migawek usunąć. Znalazłem jednego kandydata:

$ 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

Czy bezpiecznie jest usunąć @apt-snapshot-release-upgrade-utopic-*migawkę?

Uwaga: używam eCryptFS (nie jestem pewien, czy to ma znaczenie w tym przypadku).

warvariuc
źródło

Odpowiedzi:

5

Widziałem wiele samouczków na temat przywracania do jednej z tych migawek, jednak w nowszych wersjach ubuntu (testowanych 15.04), nie musisz już montować systemu plików, aby przywrócić utworzoną migawkę apt-btrfs-snapshot.

Ponownie uruchom te polecenia z działającego systemu, a nie z zamontowanej partycji, jak zwykle podczas zarządzania migawkami btrfs.

Po prostu biegnij:

sudo apt-btrfs-snapshot list

, aby wyświetlić listę dostępnych migawek, a następnie uruchom następujące czynności, aby przywrócić starszą migawkę:

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

W takim przypadku możesz ustawić domyślną wartość dla istniejącej migawki.

Uruchom ponownie, aby zmiany odniosły skutek.

Ponadto usuwanie migawek jest teraz o wiele bardziej niezawodne i proste. Ponownie, aby wyświetlić migawki, uruchom:

sudo apt-btrfs-snapshot list

Następnie, aby usunąć migawkę, uruchom:

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

Aby na przykład wyświetlić listę według daty starszej niż dwa dni, uruchom:

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

Aby na przykład usunąć wszystkie migawki starsze niż dwa dni, uruchom:

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

Fajną rzeczą jest to, że stare ustawienia domyślne nie zostaną usunięte, więc nadal możesz przywrócić je do tego, jeśli masz jeden zestaw.

Usuwanie migawek powinno zacząć obowiązywać natychmiast.


Jeśli po uruchomieniu pojawi się błąd „brak miejsca na urządzeniu”, możesz podłączyć pusty pendrive USB lub dysk zewnętrzny i użyć linii poleceń, aby zamontować dysk na / tmp.

Po zamontowaniu napędu w / tmp powinieneś mieć wystarczająco dużo wolnego miejsca do uruchomienia:

sudo apt-btrfs-snapshot delete-older-than 
mchid
źródło
1

Wygląda na to, że jest bezpieczny. Widziałem inne próby tego i okazało się, że nie jest to takie proste.

Najpierw uruchom następującą komendę, aby zobaczyć, która partycja jest twoją partycją btrfs (zakładając, że masz tylko jedną partycję btrfs):

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

Poniższe zastosowania /dev/sda3stanowią przykład.

Oto jak to zrobiłem:

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

Oto poprawna partycja:

# 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

Zwolniono niewiele miejsca:

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

Ponowne uruchomienie pomogło:

Filesystem         1K-blocks      Used Available Use% Mounted on
/dev/sda3          120729076 109894736   9187296  93% /
warvariuc
źródło
Może potrzebuję tylko większego dysku twardego;)
seanlano
1
@seanlano Mam dysk SSD, który jest drogi w przypadku większych rozmiarów.
warvariuc
Komendy apt-btrfs-snapshot nie pokazały podobjętości po mojej ostatniej aktualizacji i w ten sposób ręcznie usunąłem swój wzdęcie. Dzięki!
mchid