10.1.8. 选择用于分享数据的文件系统

当你通过可移动存储设备与其他系统分享数据的时候,你应该先把它格式化为被两种操作系统都支持的通用的 文件系统。下面是文件系统的列表。

表 10.3. 典型使用场景下可移动存储设备可选择的文件系统列表

文件系统典型使用场景描述
FAT12软盘(<32MiB)上跨平台的数据分享
FAT16在小硬盘(<2GiB)上的跨平台的数据分享
FAT32在大硬盘(<8TiB,被 MS Windows95 OSR2 以上的操作系统所支持) 上的跨平台的数据分享
NTFS在大硬盘类设备上的跨平台共享数据 (在 MS Windows NT 和后续版本原生支持;在 Linux 上,通过使用 FUSENTFS-3G 支持。)
ISO9660在 CD-R 和 DVD+/-R 上的跨平台的静态数据分享
UDFCD-R 和 DVD+/-R (新)上的增量数据写入
MINIX 文件系统软盘上磁盘空间高利用率的 unix 文件数据存储
ext2 文件系统在装有老旧 linux 系统的硬盘上的数据分享
ext3 文件系统在装有老旧 linux 系统的硬盘上的数据分享
ext4 文件系统在装有较新的 linux 系统的硬盘上的数据分享
[提示]提示

查看第 9.8.1 节 “使用 dm-crypt/LUKS 加密移动磁盘”来获得关于使用设备级加密的跨平台的数据共享的信息。

FAT 文件系统被绝大多数的现代操作系统支持,它对于通过可移动硬盘进行的数据交换是非常有用的。

当格式化像装有 FAT 文件系统的跨平台数据共享的可移动设备时,以下应该是保险的选择。

  • 用 fdisk(8),cfdisk(8) 或者 parted(8) 命令(参见第 9.5.2 节 “硬盘分区配置”)把它们格式化为单个的主分区并对把它做如下标记。

    • 标记小于 2GB 的 FAT 设备为 字符”6”。

    • 标记更大的 FAT32 设备为字符 “c”。

  • 如下所示是用 mkfs.vfat(8) 命令格式化主分区的。

    • 它的设备名字,例如 “/dev/sda1“ 用于 FAT16 设备

    • 明确的选项和它的设备名,例如 “-F 32 /dev/sda1“ 用于 FAT32 设备

当使用 FAT 或 ISO9660 文件系统分享数据时,如下是需要注意的安全事项。

  • 用 tar(1),或cpio(1)命令压缩文件,目地是为了保留文件名,符号链接,原始的文件权限和文件所有者信息。

  • 用 split(1) 命令把压缩文件分解成若干小于 2GiB的小文件,使其免受文件大小限制。

  • 加密压缩文件保护其内容免受未经授权的访问。

[注意]注意

因为 FAT 文件系统的设计,最大的文件大小为 (2^32 - 1) bytes = (4GiB -1 byte)。对于一些老旧的 32 位系统上的应用程序而言,最大的文件大小甚至更小(2^31 -1) bytes = (2GiB -1 byte)。Debian 没有遇到后者的问题。

[注意]注意

微软系统本身并不建议在超过 200MB 的分区或者驱动器上使用 FAT。他们的 “ Overview of FAT, HPFS, and NTFS File Systems 这篇文章突出显示了微软系统的缺点,例如低效的磁盘空间利用。当然了,我们在 Linux 系统上还是应该使用 ext4 文件系统。

[提示]提示

有关文件系统和访问文件系统的更多信息,请参考 “Filesystems HOWTO“。