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

ソースが示唆してスナップショットを削除します。候補者が1人見つかりました:

$ 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

私はこれらのスナップショットの1つにロールバックする方法についての多くのチュートリアルを見てきましたが、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>

たとえば、2日より古い日付でリストするには、次のコマンドを実行します。

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

たとえば、2日以上経過したすべてのスナップショットを削除するには、次のコマンドを実行します。

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

クールなことは、古いデフォルトが削除されないので、セットがある場合でも、そのデフォルトにロールバックできることです。

スナップショットの削除はすぐに有効になります。


起動後に「no space on device」エラーが発生した場合は、空のUSBペンドライブまたは外部ドライブを接続し、コマンドラインを使用してドライブを/ tmpにマウントできます。

ドライブを/ tmpにマウントした後、実行するのに十分なスペースが必要です。

sudo apt-btrfs-snapshot delete-older-than 

1

安全なようです。私はこれを行う他の 試みを見てきましたが、それはそれほど単純ではなくなりました。

まず、次のコマンドを実行して、btrfsパーティションがどれであるかを確認します(btrfsパーティションが1つしかない場合)。

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 '22

1
@seanlano私はSSDを持っていますが、これは大きなサイズでは高価です。
warvariuc 2016

apt-btrfs-snapshotコマンドは、最後のアップグレード後にサブボリュームのリストに失敗しました。これが、手動で膨張を削除した方法です。ありがとう!
mchid
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.