8.2. 创建 /etc/fstab 文件
最后更新于:2022-04-01 22:51:51
# 8.2\. 创建 /etc/fstab 文件
一些程序用 `/etc/fstab` 文件来确定哪一些文件系统是默认被加载了,加载顺序情况,哪些必须被检查的(完整性错误校验)。创建一个新的文件系统表大致如下所示:
```
cat > /etc/fstab << "EOF"
# Begin /etc/fstab
# file system mount-point type options dump fsck
# order
/dev/ / defaults 1 1
/dev/ 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
shm /dev/shm tmpfs defaults 0 0
# End /etc/fstab
EOF
```
在你的系统上替换 _``_,_``_,和 _``_ 为适当的值,例如, `hda2`, `hda5`,and `ext3`。 关于文件中六个字段的详细信息,可通过`man 5 fstab`获取。
这个 `/dev/shm` 挂载点是为 `tmpfs` (虚拟内存文件系统)能包括启用POSIX共享内存。这需要内核必须在构建的时候支持这个选项才能起作用(更多相关信息在下一个章节)。请注意,目前很少软件使用POSIX共享内存。 所以,认为 `/dev/shm` mount 挂载点选项是可选择的,更多信息请查看内核源码树里的 `Documentation/filesystems/tmpfs.txt`。
文件系统有 MS-DOS 或 Windows 血统(i.e.: vfat,ntfs,smbfs, cifs,iso9660,udf)需要有"iocharset" 加载选项载,以使文件名称的非ASCII(美国信息交换标准代码)特征被适当解释。这个选项和你的所处位置特征是一样的,用这个方式调整内核支持它。如果需要操作相关的特征定义(在 File systems -> Native Language Support下可找到),可以编译进内核里或编译成模块。 "codepage" 选项同样也是为 vfat 和 smbfs 文件系统所需要. 它应该被设置为 MS-DOS 在你的国家里使用的 codepage 数字号。举个例子,为了挂在 USB flash 设备,ru_RU.KOI8-R 的使用者需要在 `/etc/fstab` 里的以下行:
```
/dev/sda1 /media/flash vfat
noauto,user,quiet,showexec,iocharset=koi8r,codepage=866 0 0
```
ru_RU.UTF-8 使用者的相应行:
```
/dev/sda1 /media/flash vfat
noauto,user,quiet,showexec,iocharset=utf8,codepage=866 0 0
```
### 注意
在后面的例子里,内核发出如下信息:
```
FAT: utf8 is not a recommended IO charset for FAT filesystems,
filesystem will be case sensitive!
```
这个否定的建议应该可以被忽略,因为所有的其他"iocharset" 值选项造成UTF-8 locales文件名的错误显示。
它也可能是在内核构造的时候为一些文件系统指定默认的 codepage 和 iocharset。相关的参数是指定的 "默认NLS选项" (CONFIG_NLS_DEFAULT),"默认远程NLS选项" (CONFIG_SMB_NLS_DEFAULT),"默认的FAT的codepage " (CONFIG_FAT_DEFAULT_CODEPAGE),和 "默认FAT的iocharset" (CONFIG_FAT_DEFAULT_IOCHARSET)。在这里不叙述在内核编译时为 ntfs 文件的系统设置。
';