17 FreeBSD连载:安装文件系统( 三 )


同样安装一个DOS格式的软盘应该使用:
# mount -t msdos /dev/fd0 /floopy如果安装顺利,则就可以访问这个软盘上的DOS文件了 。同样也可以访问硬盘上FAT格式的文件系统,包括DOS基本分区和扩展分区上的逻辑盘(逻辑盘在FreeBSD下的设备文件从5开始,例如wd1扩展分区上的第一个逻辑盘为wd1s5) 。
安装一个其他计算机通过NFS共享出的文件系统应该使用:
# mount -t nfs remote:/Directory /mnt与安装其他文件系统的不同在于,本地硬盘上的文件系统使用设备文件,但NFS使用远程主机的名字和目录来确定文件系统的位置,其格式为主机名与该主机上目录名,中间使用 “:” 分隔开 。
将文件系统安装到目录上之后,使用这个介质上的文件就非常简单了 。FreeBSD将假定存储设备将一直停留在这个安装位置上由系统使用,因此FreeBSD使用内存来为这些文件系统建立缓冲区,以最高效的使用文件系统,这种方式为异步模式的文件安装方式(async) 。这样磁盘上的内容与内存中是非同步的,系统定期或在需要的时候,才去更新磁盘上的物理信息 。(sync命令将强迫系统更新磁盘)这种非同步的方式就使得管理员要移去文件系统必须通过系统来完成卸载,而不应该直接取出(如软盘等可移动介质) 。如果直接移去软盘,或者因为系统突然掉电而造成没有正确卸载文件系统,就会直接造成磁盘上的数据不正确,从而不得不使用fsck来检查和修复这些文件系统 。也可以在执行mount命令的时候使用sync的安装选项,使硬盘数据和内存缓冲区保持同步,这样虽然降低了存取效率,但更适合对数据的完整性提出较高要求的系统 。
即使对于一个只读类型的介质,FreeBSD仍然使用这种控制机制,直到卸载才释放对文件系统的控制权 。因此在FreeBSD下使用mount命令安装了光盘之后,光驱前面板上的eject键将不再起作用,直到将这个文件系统卸载下来 。
使用命令umount可以卸载一个安装到确定目录下的文件系统 。
# umount /cdrom执行这个命令将文件系统与其安装到的目录相脱离,对于异步模式安装的文件系统还将同步缓冲区和磁盘上的数据 。以后该目录就能用来安装另一个文件系统了 。而直到此时才能使用eject键退出光盘,更换或拿开盘片 。
# cd /cdrom
# umount /cdrom
umount: /cdrom : Device busy
# cd /
# umount /cdrom在执行这个命令时如果系统报告 “Device busy” 错误信息,说明有其他程序仍然正在使用这个文件系统中的文件,很可能是某个shell的当前路径仍然位于这个文件系统的目录中,造成这个文件系统的目录文件没有关闭 。检查所有的登录界面,保证没有shell的当前目录在/cdrom的目录下 。
设置fstab文件
在系统启动时,系统将自动安装上必需的文件系统 。而管理员所要做的是告诉FreeBSD应该安装那个文件系统、安装到那个目录上和有关安装参数选项 。所有的这些信息都必须写入文件/etc/fstab中 。在安装FreeBSD时,这个文件已经具有必要的文件系统了,此后所需要作的只是这个文件中再增加其他的文件系统 。
# Device MountpointFStypeOptionsDumpPass#
/dev/wd0s3bnone swapsw00
/dev/wd0s3a/ufsrw11
/dev/wd0s3f/usr ufsrw22
/dev/wd0s3e/var ufsrw22
proc/procprocfsrw00
/dev/wcd0c/cdromcd9660ro,noauto00
/dev/wd0s1/dos msdosrw,noauto01这个文件中的每一行为一种文件系统或交换设备定义对应的设备文件及安装选项 。其中根文件系统具备一定的特殊之处,因为这个文件/etc/fstab以及FreeBSD的内核文件,其实是在根文件系统中的,因此系统必须首先安装了根文件系统,才能正常访问这些文件 。事实上根文件系统在FreeBSD内核中已经有了设置,启动时先以只读方式安装根文件系统,并读取根文件系统中相关文件的内容,然后再根据文件内容装载各个文件系统 。

推荐阅读