更改

添加1,427字节 、 2021年4月14日 (三) 05:52
创建页面,内容为“== 相关程序 == 以下是一些好用的 Btrfs 相关的程序。 === [https://github.com/kilobyte/compsize compsize] === 查看 <code>/</code> 的压缩类型…”
== 相关程序 ==

以下是一些好用的 Btrfs 相关的程序。

=== [https://github.com/kilobyte/compsize compsize] ===

查看 <code>/</code> 的压缩类型和压缩前后的大小

sudo compsize /

=== [https://github.com/knorrie/btrfs-heatmap btrfs-heatmap] ===

查看 <code>/mountpoint</code> 的 heatmap

sudo btrfs-heatmap /mountpoint

=== [https://github.com/speed47/btrfs-list btrfs-list] ===

查看树形的 snapshot 列表

<syntaxhighlight lang=bash>
sudo btrfs quota enable /
# 等待 quota rescan
sudo btrfs-list
sudo btrfs quota disable /
</syntaxhighlight>

=== btrfs-diff ===

查看第二个 subvolume 相对于第一个改变的文件

sudo btrfs-diff /mnt/_snapshots/%home/snap /mnt/@home

脚本如下(拷贝自 https://serverfault.com/a/580264<nowiki/>)

<syntaxhighlight lang=bash>
set -eu

usage() {
echo "Usage: $0 <older-snapshot> <newer-snapshot>" >&2
exit 1
}

[ $# -eq 2 ] || usage "Incorrect invocation"
snapshot_old=$1
snapshot_new=$2

[ -d "$snapshot_old" ] || usage "$snapshot_old does not exist"
[ -d "$snapshot_new" ] || usage "$snapshot_new does not exist"

old_transid=$(btrfs subvolume find-new "$snapshot_old" 9999999)
old_transid=${old_transid#transid marker was }
[ "$old_transid" -gt 0 ] || usage "Failed to find generation for $snapshot_new"

btrfs subvolume find-new "$snapshot_new" "$old_transid" | sed '$d' | cut -f17- -d' ' | sort | uniq
</syntaxhighlight>