我在网上阅读了一些关于BtrFS的文章。有时候我看到这样的陈述:
“不要使用早于0.20rc1版本的BtrFS。”
我该如何查找我的内核中使用的版本?
“不要使用早于0.20rc1版本的BtrFS。”
我该如何查找我的内核中使用的版本?
从Linux内核v2.6.32(2009年12月)开始,BTRFS模块放弃了自己独立的版本控制方案。在那个时刻之前的最后一个版本是v0.19,根据官方变更日志。
在Linux中,有两种实现文件系统的方式:
一种是将代码合并到内核中,另一种是使用“用户空间文件系统”框架(FUSE)构建为用户空间应用程序。
在内核中实现的文件系统比基于FUSE的文件系统效率更高(但随着时间推移,这种差异逐渐减小,因为FUSE变得越来越成熟)。
BTRFS仅作为名为btrfs
的内核模块实现,因此其版本与内核版本紧密相关。在实现他们的文件系统过程中,BTRFS内核团队向内核贡献了大量通用代码。通常,您可以使用命令modinfo btrfs | grep -i ver
获取btrfs
内核模块的版本信息,但在我的情况下(Ubuntu 14.04),btrfs
没有该字段。
不是真的,btrfs模块版本与btrfs-tools并不相同。它们通常是一致的,但不一定要求如此。(曾经有一段时间,Ubuntu附带的btrfs-tools版本比与内核兼容的最新版本晚了一年)。Btrfs-tools旨在向后兼容,因此较新的版本可以在较旧的内核上运行,但可能会降低某些btrfs功能的可用性,如果内核中尚未支持某些btrfs特性。
再次强调,在开发阶段,BTRFS版本与内核版本紧密耦合。实际上,除了在kernel.btrfs git源代码提交中以外,不存在“btrfs驱动程序版本”这样的东西。或者除了基于FUSE的文件系统之外的任何其他文件系统版本。
uname -r
命令获取内核版本。
toolsuit
和btrfs-tools
是同一样东西吗? - koloman