Linux系统下的分区和文件系统详解(5)
时间:2010-09-04 来源:mydear
创建文件系统
Linux 使用 mkfs 命令来创建文件系统,用 mkswap 命令来创建交换空间。mkfs 命令实际上是几个特定于文件系统的命令的前端,这些命令包括针对 ext3 的 mkfs.ext3 和针对 ReiserFS 的 mkfs.reiserfs。
您的文件系统上安装的是什么文件系统支持?使用 ls /sbin/mk* 命令来找到答案。清单 11 展示了一个示例。
清单 11. 文件系统创建命令
[ian@echidna ~]$ ls /sbin/mk* |
您将注意到一些命令的各种形式。例如,您通常会发现,文件 mke2fs、mkfs.ext2 和 mkfs.ext3 是一样的,文件 mkreiserfs 和 mkfs.reiserfs 也一样。启动系统可能需要的文件系统将使用多个名称不同的相同文件。不能用于 Linux 中的 / 文件系统的那些文件系统(比如 vfat 或 msdos)可能会使用符号链接代替。
所有 mkfs 命令都有几个公共选项。根据在 -type 选项中指定的文件系统类型,特定于正在创建的文件系统类型的选项将被传递到适当的创建命令。我们的示例使用 mkfs -type,但您也可以直接使用其他类型,效果一样。例如,您可以使用 mkfs -type ext2、mk2fs 或 mkfs.ext2。要获取一个特定文件系统的手册页,使用适当的 mkfs 命令作为名称,比如 man mkfs.ext3。下面的输出示例中显示的许多值都能通过 mkfs 的选项控制。
既然我们已经创建了所有分区,我们将重新启动 Fedora 12 系统(而不是有点缓慢的实时 Knoppix DVD)并格式化文件系统。当然,如果愿意,您也可以继续使用 Knoppix 系统。注意,创建文件系统需要根权限。
创建一个 ext3 文件系统
我们使用 mkfs 命令将 /dev/sda8 分区格式化为 ext3,如清单 12 所示。
清单 12. 创建一个 ext3 文件系统
[root@echidna ~]# mkfs -t ext3 /dev/sda8 |
注意,一个日志与 ext3 一同创建。如果您想向一个现有 ext2 系统添加一个日志,使用 tune2fs 命令和 -j 选项。
针对 ext2 和 ext3 文件系统的一个有用选项是带有一个名称的 -L 选项,该选项为分区指定一个标签。这个标签可用于在挂载文件系统时代替设备名称;它针对可能需要在各种控制文件中反映的更改提供某种级别的隔离。要为一个现有 ext2 或 ext3 文件系统显示或设置标签,使用 e2label 命令。标签的最大大小限制为 16 个字符。
最近的一个进展是使用 Universally Unique Identifier(或 UUID)而不是标签。UUID 是一个 128 位标识符,通常显示为 32 位 16 进制数字和 4 个连词号。大多数 Linux 文件系统在被格式化时自动生成一个 UUID。使用 blkid 命令(不需要根权限)来查看我们刚刚格式化的分区的 UUID,如清单 13 所示。与标签相比,UUID 更可能具备惟一性,对 USB 驱动器这样的热插拔设备尤其有用。
清单 13. 使用 blkid 命令显示一个 UUID
[ian@echidna ~]$ blkid /dev/sda8 |
创建一个 XFS 文件系统
现在我们将刚才格式化为 ext3 的分区重新格式化为 XFS 文件系统。我们的 Fedora 12 系统使用 SELinux(Security Enhanced Linux),因此我们应该使用 -i 参数指定比默认值 256 更大的索引节点。推荐值是 512。注意,如果 XFS 格式化程序发现分区上已有一个公认的文件系统,那么它将会通知您。还要注意一点,XFS 格式重新指定了 UUID。
清单 14. 创建一个 XFS 文件系统
[root@echidna ~]# mkfs -t xfs -i size=512 /dev/sda8 |
您可以使用带有一个名称的 -L 选项来设置 XFS 系统的标签。还可以使用 xfs_admin 命令和 -L 选项来为一个现有 XFS 文件系统添加一个标签。使用带 -l 选项的 xfs_admin 命令来显示一个标签。与 ext2、ext3 和 ReiserFS 不同,XFS 标签的最大长度为 12 个字符。
创建一个 ReiserFS 文件系统
可以使用带 -t reiserfs 选项的 mkfs 命令或 mkreiserfs 命令创建 ReiserFS 文件系统。ReiserFS 不支持 SELinux,正在被 Resier4 替代。
可以使用 -l 选项(或带有一个名称的 --label 选项)为一个 ReiserFS 系统设置标签。可以使用 reiserfstune 命令添加标签或显示现有 ReiserFS 文件系统上的标签。标签的最大长度限制为 16 个字符。
您可能需要在您的系统上安装 ReiserFS 包才能使用 ReiserFS ,因为它可能不包含在默认安装内。参见手册页或信息页了解更多细节。
创建一个 vfat 文件系统
现在,我们将在 /dev/sda9 上创建 FAT32(vfat)文件系统。
清单 15. 创建一个 vfat 文件系统
[root@echidna ~]# mkfs -t vfat /dev/sda9 |
vfat 文件系统的 UUIDs 比标准 UUIDs 短,因此不惟一的几率要大一些。如果想用一个标签代替,可以使用 dosfslabel 命令。DOS 分区的标签的最大长度限制为 11 个字符。