一些程序用 /etc/fstab
文件来确定文件系统默认挂载的位置和挂载顺序,以及哪些必须在挂载前校验(完整性错误校验)。创建一个新的文件系统表如下:
cat > /etc/fstab << "EOF"
# Begin /etc/fstab
# file system mount-point type options dump fsck
# order
/dev/<xxx>
/ <fff>
defaults 1 1
/dev/<yyy>
swap swap pri=1 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
devpts /dev/pts devpts gid=4,mode=620 0 0
tmpfs /dev/shm tmpfs defaults 0 0
# End /etc/fstab
EOF
在你的系统上替换 <xxx>
,
<yyy>
,和 <fff>
为适当的值, 例如,hda2
, hda5
,和
ext3
。 有关文件中六行字段的详细信息,请查看 man 5 fstab。
这个tmpfs
(虚拟内存文件系统)上的 /dev/shm
挂载点包括了允许启用 POSIX
共享内存。对此必须在内核上构建起所需的支持才能运作(更多相关信息在下一个章节)。请注意目前很少有软件使用 POSIX
共享内存。因此,可以认为 /dev/shm
挂载点是非必须的。更多信息请查看内核源码树里的 Documentation/filesystems/tmpfs.txt
。
文件系统中有 MS-DOS 或者 Windows 血统(i.e.:
vfat,ntfs,smbfs,cifs,iso9660,udf)需要有 "iocharset" 加载选项来恰当说明文件名中的非
ASCII 字符。这个选项的值应当和你本地的 codepage 字符集一样,这样调整内核就能读懂它了。如果相关的字符集定义(在 File
systems -> Native Language
Support下可找到)已经被编译进了内核或组建成了模块,那么就是可行的。vfat 和 smbfs 文件系统还需要 "codepage"
选项。 它应该被设置为 MS-DOS 在你的国家使用的内码编号。例如,为了挂载 USB flash 设备驱动,ru_RU.KOI8-R
的用户需要在 /etc/fstab
里挂载行的选项部分运行以下行:
noauto,user,quiet,showexec,iocharset=koi8r,codepage=866
ru_RU.UTF-8 使用者选项的相应行是:
noauto,user,quiet,showexec,iocharset=utf8,codepage=866
在后面的情况中,内核发出如下信息:
FAT: utf8 is not a recommended IO charset for FAT filesystems,
filesystem will be case sensitive!
这个否定的建议可以忽略,因为 "iocharset" 选项的其他所有值在本地 UTF-8 中都会导致错误的文件名显示。
在内核配置的时候还可能指定一些文件系统默认的 codepage 和 iocharset 的值。 相关参数为 "默认 NLS
选项"(CONFIG_NLS_DEFAULT)
),"默认远程 NLS
选项"(CONFIG_SMB_NLS_DEFAULT
),"默认 FAT 的
codepage 字符集"(CONFIG_FAT_DEFAULT_CODEPAGE
)和 "默认 FAT 的 iocharset
字符集"(CONFIG_FAT_DEFAULT_IOCHARSET
)。在内核编译时无法具体指明这些 ntfs
文件系统设置。