すべてのSnapperスナップショットをクリア

すべてのSnapperスナップショットをクリア

OpenSUSE(およびその他のディストリビューション)の使用ドミスナップショットを撮るBTFS分割。一部の人々は、基本的なスナップショット間隔があまりにも早くあまりにも多くのスペースを占めていると思うかもしれませんが、信じられないかもしれないし、時にはファイルシステムのスペースを整理したいと思うことがよくあります。BTFSスナップショットは多くのスペースを占めます。あるいは、ファイルシステムを仮想マシンの内外に移動したり、ストレージメディアを変更したり、同様の操作を実行する前に、ファイルシステムから余分なデータをすべて消去することもできます。

しかし、すべてのスナップショットをすばやく消去するコマンドが見つからないようです。ドミスナッパーやその他のツールで入手してください。どうすればいいですか?

答え1

最新バージョンのsnapperにあるコマンドは次のとおりです(いつ導入されたかは覚えていませんが、たとえばopenSUSE 13.2バージョンではこれをサポートしています)。

snapper delete number1-number2

したがって、すべてのスナップショットを削除するには(スナップショットが100,000以下であると仮定)、次の手順を実行する必要があります。

snapper delete 1-100000

明らかに、これはデフォルトのルート構成のスナップショットのみを削除するため、他の構成の場合は次のようになります。

snapper -c configname delete number1-number2

答え2

forループを使用して、範囲内のすべてのスナップショットを削除できます(次に実行)。)。

# for i in `seq 1 999`; do snapper delete $i; done

これにより、一部の無効なエントリ(数値がスナップショットIDと一致しない場合)が発生し、無害なエラーログが生成されます。

ループが不必要に長時間実行されないようにスナップショットIDの範囲(下限と上限)を決定するには、次のようにします。

snapper list

このソリューションも見つかりました。スナッパ間隔と保存設定を減らす方法の議論

答え3

消息筋:

sudo snapper -c root delete $(sudo snapper -c root list --columns number | tail +4)
  • sudo snapper -c root list --columns number- スナップショット番号のリスト
  • tail +4- 2行のヘッダー行とスナップショット番号0をスキップします。これはスナップショットではなくサブボリュームです。
  • sudo snapper -c root delete- 1つ以上のスナップショットを削除します。このコマンドは無制限の引数を受け入れます。

答え4

以前のバージョンのスナッパー(Debian jessieなど)を使用している場合は、bash-expansionを使用できます。

snapper delete {1..999}

関連情報