UFS文件系统几乎是所有UNIX系统的基本文件系统,Solaris当然也不例外。
除此之外Solaris 10支持三种类型的文件系统,它们分别是:
(1)基于网络的文件系统;基于网络的文件系统就是网络文件系统,简称NFS文件系统。网络文件系统(NFS)版本从3升级到4。
(2)虚拟文件系统(也叫伪文件系统)。虚拟文件系统大多数是基于内存的文件系统,
但是也有部分文件系统是基于硬盘上的包括:
TMPFS文件系统: 使用本地内存进行读写的文件系统。在Solaris中的默认应用为/tmp目录
LOFS文件系统: 循环文件系统(lofs)可创建一个新的虚拟的原文件系统,然后用另一个路径名来存取文件
PROCFS文件系统: 进程文件系统(procfs)驻留在内存中,表现为/proc目录。在此目录中活动进程号的清单,ps等命令会用到/proc目录中的信息,调试器或其他开发工具也可能通过文件系统调用来访问这些过程的地址和空间
CacheFS文件系统: 用来改善远程文件系统(NFS)和CD-ROM的读取速度,将读得数据缓存在CacheFS文件系统中
SWAPFS文件系统: 用mkfile和swap命令建立附加的交换区时,系统核心所用的文件系统
(3) 基于磁盘的文件系统;包括:
UFS文件系统: Solaris的默认文件系统。
HSFS文件系统: 用于CD-ROM的只读文件系统
PCFS文件系统: PC文件系统,可以读写DOS型式磁盘的数据,如FAT32
UDF文件系统: DVD文件系统
Solaris UFS
在Solaris 10上,UFS文件系统驻留在硬盘上,这些硬盘同时具有原始设备接口和块设备接口,这两个接口分别位于/dev/rdsk目录和/dev/dsk目录中。 Solaris 10文件系统所创建的每一个分区都在/dev/dsk和/dev/rdsk中有其自己的对应项。一个UFS文件系统的组成包括如下几部分。
引导块(boot block):在文件系统可引导的情况下,引导块中包含有引导数据。
超级块(super block):超级块中包含有关i节点的位置、文件系统大小、块数目,以及状态等信息。
i节点(inode):存储文件系统的文件细节信息。
数据块(data block):实际存储的文件。
1. 建立UFS文件系统
使用命令创建 UFS 文件系统,命令如下:
# newfs [-N] [-b size] [-i bytes] /dev/rdsk/device-name
命令实例:在 /dev/rdsk/c0t1d0s4 中创建 UFS 文件系统。
# newfs /dev/rdsk/c0t1d0s4
验证是否创建了 UFS 文件系统,请检查新文件系统。命令如下:
#fsck /dev/rdsk/c0t1d0s4
挂载 UFS 文件系统使用mount 命令
将/dev/dsk/c0t3d0s4 挂载到 /export/home目录上。
# mount/dev/rdsk/c0t1d0s4 /export/home
单独运行不带参数的mount命令将显示当前已挂接的文件资源。也可以使用/etc/vfstab文件管理UFS文件系统。
2. 修复整理UFS文件系统
由于以下情况导致操作系统突然终止,文件系统可能会不一致:
电源故障
意外关闭系统电源
没有按正确的关闭过程关闭系统
内核中出现软件错误
文件系统不一致性问题尽管严重,但并不常见。引导系统时,会自动执行对文件系统一致性的检查(使用 fsck 命令)。
fsck 命令和选项, 说明
fsck –m 检查是否可以挂载文件系统
fsck –y 接受所有修复
fsck –n 拒绝所有修复
fsck -o p 以非交互方式整理文件系统,解决所有预期的(无害的)不一致性问题,但是在遇到严重问题时退出
修复文件系统的步骤:
(1)进入超级用户;
(2)拆卸(umount)有问题的文件系统;
(3)键入fsck命令进行修复。
例:取消挂载 UFS 文件系统。
# umount /mount-point
# fsck -o p /dev/rdsk/device-name
以下示例说明如何整理 /export/home 文件系统。
# fsck -o p /export/home