如何启用Btrfs Zstd压缩?内核升级后为何无法识别该算法?
解决btrfs无法识别内核4.15的Zstd压缩支持问题
我之前折腾btrfs压缩的时候也踩过这个坑!内核支持了但用户工具没跟上是最常见的原因,咱们一步步排查:
先确认用户空间的btrfs工具版本
内核支持Zstd是底层能力,但你用的btrfs命令属于用户空间工具(来自btrfs-progs包),旧版本的btrfs-progs根本不知道内核新增了Zstd压缩算法。先跑这个命令看版本:btrfs --version一般来说,需要btrfs-progs 4.14及以上版本才能支持Zstd。如果你的版本低于这个,赶紧升级:
sudo apt update && sudo apt install --only-upgrade btrfs-progs要是官方源里的版本还是不够,你可以试试添加第三方PPA或者手动编译最新版的btrfs-progs。
检查内核是否真的开启了Zstd支持
有些定制内核可能默认没开Zstd的btrfs支持,你可以查看当前内核的配置:grep CONFIG_BTRFS_ZSTD /boot/config-$(uname -r)如果输出是
CONFIG_BTRFS_ZSTD=y或者CONFIG_BTRFS_ZSTD=m,说明内核确实支持;如果是# CONFIG_BTRFS_ZSTD is not set,那你得换一个带Zstd支持的内核包,或者自己编译内核时开启这个选项。确认当前运行的是新内核
别笑,有时候升级内核后没重启,系统还在旧内核里跑!用这个命令验证:uname -r确保输出是4.15开头的版本号,要是不对,重启系统在GRUB里选对新内核。
关于man手册不识别的问题
man手册是跟着btrfs-progs包走的,不是内核文档。只要你升级到了支持Zstd的btrfs-progs版本,重新跑man btrfs就能看到Zstd相关的说明啦。
内容的提问来源于stack exchange,提问作者velis
相关产品推荐
相关产品推荐

