哪种类 Unix 文件系统可以轻松且安全地安装在 Mac 和 Linux 上?

哪种类 Unix 文件系统可以轻松且安全地安装在 Mac 和 Linux 上?

对于 USB 驱动器,我正在寻找一个文件系统(和/或 fs 创建选项),

  • 可以在当前 OS X(>= 10.7.x)和最新的 Linux 内核(例如原版 Ubuntu 12.10)上安装,无需第三方驱动程序
  • 具有写支持
  • 尽可能支持 Unix 语义和元数据(符号链接、硬链接、时间戳、Unix 权限、所有权)

这可行吗?从兼容性方面看,FAT 似乎是最安全的选择,但它当然不支持 Unix 权限。NTFS 似乎在 OS X 上是只读的,不支持 Unix 权限(我担心 NTFS 的两个反向工程解释会发生冲突)。Linux ext* 文件系统仅适用于 OS X 上的额外驱动程序。Linux 中的 HFS+ 支持似乎不太稳定(或者关闭日志功能后是否完全稳定?)由于 Mac 是基于 BSD 的,我猜 UFS 的某些变体应该可以在两个平台上运行?

澄清:我不打算同时在两台计算机上安装 USB 驱动器(无论如何,通过 USB 接口实现这一点有点困难,不是吗?)

答案1

你有没有考虑过自定义函数,因为它符合 POSIX 标准,并且几乎受所有设备支持?还有很多帮助信息,例如在 USB 闪存驱动器上使用 UDF

或者你可以看看虚拟文件系统,因为两者都有带 RW 支持的内核模块操作系统和 Linux?

答案2

除非您使用的文件系统类型是为多系统访问而设计的,否则您的努力将导致文件系统被破坏且无法恢复。本地安装的文件系统(如 NTFS、ext[234] 等)要求并假设只有一个系统正在使用它(读取或写入)。主要原因是本地主机缓存了一些必要的项目,而您的其他系统将无法同步获取这些更改。例如,对分配表的更改,非常重要的一点是不要让两个系统分配相同的块。

允许共享访问的唯一文件系统类型是 NFS 和可能的 CIFS,它们属于客户端/服务器类型的操作。

我确信其他文件系统也许能够完成您所要求的事情,但这不是您通常会看到的事情,并且需要一些中等程度的配置和测试来验证操作。

答案3

如果你考虑自定义函数,请注意,在 Linux 上格式化它有点棘手,并且让 Windows 识别 UDF 格式的驱动器可能非常困难。Mac 显然可以很好地识别 UDF。

最好将整个驱动器用作 UDF,而不是对其进行分区。实际上,UDF 不使用分区。使用以下命令将 MBR 清零,创建 UDF 文件系统并挂载它:

 dd if=/dev/zero of=/dev/sdx bs=512 count=1
 mkudffs --media-type=hd --blocksize=512 /dev/sdx
 mount -t udf -o bs=512 /dev/sde /media/udf

这个问题了解更多详情。

相关内容