导读 当软件和操作系统巨头微软 在 8 月份宣布支持将 exFAT 文件系统直接纳入 Linux 内核时,它并没有得到大量新闻报道。但是,文件系统

当软件和操作系统巨头微软 在 8 月份宣布支持将 exFAT 文件系统直接纳入 Linux 内核时,它并没有得到大量新闻报道。但是,文件系统供应商的Paragon软件显然注意到了这个的exFAT的的微软认证,主要是三星撰写版一个月的融入VFS FOR-NEXT 库,这将反过来合并进入Linux 5.7和Paragon似乎并不感到高兴。

昨天,Paragon 发布了一份关于欧洲网关调制解调器供应商 Sagemcom 将其 exFAT 版本应用于即将推出的基于 Linux 的路由器系列的新闻稿。不幸的是,它选择以一连串的FUD(恐惧、不确定性和怀疑)作为声明的开头,这在 1990 年代史蒂夫鲍尔默的信笺上不会显得格格不入。

打破 FUD

Paragon 将其反对开源软件的论点(直接出现在我的收件箱中)描述为“一篇文章(可以以任何形式发表),解释了为什么开源模型在 3 种情况下不起作用。”

Paragon 提供的所有三个案例充其量都是奇怪的例子。

案例一:安卓

让我们首先看看在 Unix 衍生产品中支持类似于 exFAT 的文件系统的一些情况,以及从开源的角度来看它是如何工作的。

最可靠的案例是 Android,它创建了一个原生 Linux ext4FS 容器来运行来自 FAT 格式闪存卡的应用程序 ( 3 )。这表明软件巨头谷歌无法(或不愿意基于对所需工作的实际估计)在 Android 内核中自行实现更简单的 FAT。

脚注将读者引向一篇冗长的 XDA 开发人员文章 ,该文章解释了 Android 操作系统中 SD 卡文件系统的悠久历史。一个非常简短的总结:最初,Android 使用了 Windows FAT32 文件系统的高度兼容的VFAT实现。这导致了几个问题——包括由于缺乏多用户安全元数据而导致的安全问题。

这些问题导致 Google 用主要由三星开发的FUSE(用户空间文件系统)实现来替换 VFAT 。这两次解决了安全问题——不仅现在支持 ACL,甚至可以为个人用户挂载 FUSE 文件系统。不幸的是,这导致了性能问题——尽管 FUSE 可能很方便,但用户空间文件系统的性能不如内核文件系统。

广告

到目前为止还和我们在一起吗?伟大的。这个特殊故事的最后一步是谷歌用 SDCardFS 替换 exFAT-FUSE,这是另一个三星开发的项目——令人困惑的是——根本不是一个真正的文件系统。相反,它是一个内核包装器,将 API 调用传递到较低级别的文件系统。SDCardFS 取代了 FUSE,而不是文件系统,从而允许模拟文件系统在内核空间中运行。

如果您想知道专有软件在哪里可以挽救这一天,答案很简单:不是。这是一个关于世界上最大的智能手机操作系统始终如一地成功使用开源软件,并在此过程中提高性能和安全性的故事。

目前尚不清楚的是,谷歌是否会专门在 Android 5.7 中使用新的内核 exFAT 登陆,还是会继续使用三星的 SDCardFS 文件系统包装器。SDCardFS 解决了 Android 的辅助存储性能问题,并且它可以提供额外的安全优势,而仅使用内核中的 exFAT 则不会。

案例二:MacOS

另一种情况是 Mac OS——另一个仍然没有对 NTFS 写入模式的商业支持的 Unix 衍生产品——它只支持只读模式的 NTFS。考虑到 Linux 的 NTFS-3G 的存在,这看起来很奇怪。可以激活写入支持——但不能保证 NTFS 卷在写入操作期间不会损坏。

使用 MacOS 的不确定 NTFS 支持作为反对开源软件的案例存在几个问题。首先,NTFS 支持似乎并不是 Apple 的真正优先事项。MacOS Classic 根本不支持 NTFS。Mac OS X 10.3 "Panther" 之后出现的 NTFS 支持实际上是免费赠品——它已经存在于 FreeBSD 派生的 VFS(虚拟文件系统)和网络堆栈中。

这种比较的另一个问题是 NTFS 是一个功能齐全、完全现代的文件系统,没有任何缺失的部分。相比之下,exFAT——其 Linux 内核实现 Paragon 正在抛出 FUD 的文件系统——是一个极其简单的、轻量级的文件系统,专为在嵌入式设备中使用而设计。

这个特殊棺材的最后一个钉子是 MacOS 使用的开源 NTFS 实现不是微软认可的。这是专有文件系统的洁净室逆向工程解决方法。更糟糕的是,它是在微软积极想要关闭开源社区的时候实现的——它甚至不是现代版本。

广告

正如 Paragon 所指出的,NTFS-3G是NTFS的现代开源实现。NTFS-3G 是双重许可的专有/GPL,不会受到潜在的写损坏问题的影响——它在 MacOS 和 Linux 上都可用。

不需要最高性能的 Mac 用户可以使用Homebrew免费安装 NTFS-3G 的 FUSE 实现,而那些想要本机或接近本机性能的用户可以 直接从 Tuxera购买终身许可证。每个 15 美元的许可证包括在最多三台个人计算机上的永久免费升级和安装。

可能值得注意的是,Paragon 除了销售 exFAT 的专有实现之外,还销售适用于 Mac 的 NTFS 专有实现。