ユーザ用ツール

サイト用ツール


サイドバー

最新の10件
一覧
linux:filesystem:btrfs

Btrfs

圧縮

mount時にcompressオプションを指定することでそのマウント時に作られたファイルは圧縮される. 圧縮形式は,zlib, lzo, zstd(v4.14〜)で,既定値はzlib, 圧縮レベルも指定できる.zlibで圧縮レベル1の場合は, compress=zlib:1

既存のファイルを圧縮

特定のファイルをあっ週したい場合は, chattr +c する.

特定のディレクトリ以下の場合は,

$ sudo btrfs filesystem defragment -r -v -czstd $PATH

実行中はマシンがとても重くなるので空き時間に

subvolume

サブボリュームの一覧を表示(snapshotも表示されるのでgrep -v snapshotとか付けるといい)

$ sudo btrfs subvolume list -p .

サブボリュームの作成

$ sudo btrfs subvolume create /tmp/hoge
Create subvolume '/tmp/hoge'

サブボリュームの削除

$ sudo btrfs subvolume delete /tmp/hoge
Delete subvolume (no-commit): '/tmp/hoge'

既にあるディレクトリをサブボリュームには出来ない.一旦退避して作成してデータを移すなどする必要がありそう.

$ sudo btrfs subvolume create /home
ERROR: target path already exists: /home

スナップショット

snapper

apt upgrade時のスナップショットを減らす

/etc/apt/apt.conf.d/80snapper でスナップショットを取得しているよう.

$ cat /etc/apt/apt.conf.d/80snapper
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=770938
  DPkg::Pre-Invoke  { "if [ -e /etc/default/snapper ]; then . /etc/default/snapper; fi; if [ -x /usr/bin/snapper ] && [ ! x$DISABLE_APT_SNAPSHOT = 'xyes' ] && [ -e /etc/snapper/configs/root ]; then rm -f /var/tmp/snapper-apt || true ; snapper create -d apt -c number -t pre -p > /var/tmp/snapper-apt || true ; snapper cleanup number || true ; fi"; };
  DPkg::Post-Invoke { "if [ -e /etc/default/snapper ]; then . /etc/default/snapper; fi; if [ -x /usr/bin/snapper ] && [ ! x$DISABLE_APT_SNAPSHOT = 'xyes' ] && [ -e /var/tmp/snapper-apt ]; then snapper create -d apt -c number -t post --pre-number=`cat /var/tmp/snapper-apt` || true ; snapper cleanup number || true ; fi"; };

こんな感じでCleanupはnumberになっている

$ sudo snapper list | grep apt | tail -1
2358  | post   |  2357 | Fri 13 Nov 2020 12:18:27 AM JST | root | number   | apt         |         

NUMBER_LIMIT を確認すると25で$ sudo snapper list | grep apt | wc -lも25だった.

NUMBER_LIMIT を減らして,

$ sudo git -C /etc diff /etc/snapper/configs/root
diff --git a/snapper/configs/root b/snapper/configs/root
index df673bc..b2f41dd 100644
--- a/snapper/configs/root
+++ b/snapper/configs/root
@@ -36,7 +36,7 @@ NUMBER_CLEANUP="yes"
 
 # limit for number cleanup
 NUMBER_MIN_AGE="1800"
-NUMBER_LIMIT="25"
+NUMBER_LIMIT="5"
 NUMBER_LIMIT_IMPORTANT="10"
 
 

cleanupが反映された

$ sudo service snapper-cleanup restart
$ sudo snapper list | grep apt | wc -l
5

snapper-gui

コメント

コメントを入力. Wiki文法が有効です:
   ___    ___    ___   _____  __  __
  / _ \  / _ \  / _ ) / ___/ / / / /
 / , _/ / ___/ / _  |/ (_ / / /_/ / 
/_/|_| /_/    /____/ \___/  \____/
 
linux/filesystem/btrfs.txt · 最終更新: 2020/11/13 05:25 by matoken