3 Linux管理员手册--存贮介质(11)


对所有文件系统的其他工具
一些其他工具对管理文件系统有用 。df (Disk Free)显示一个或多个文件系统的空闲磁盘空间 。du (Disk Usage)显示一个目录和其内的所有文件使用了多少磁盘空间 。这用于发现磁盘空间浪费 。
sync 强制将磁盘缓冲的所有未写块写入磁盘(见 5.6) 。这一般无须手工完成,由守护进程update 自动完成 。这在有些情况下很有用,例如,如果update 或其辅助进程bdflush 死了,或你不能等运行update 必须马上 关闭电源 。
对ext2文件系统的其他工具
除了产生文件系统的mke2fs 和检查文件系统的e2fsck 直接或通过与文件系统类型无关的前端存取外,Ext2文件系统还有几个有用的工具 。
tune2fs 调整文件系统参数 。一些有趣的参数有:
最大mount数 。当文件系统被mount过多少次以后,即使标志是干净的,e2fsck 强制检查 。对用于开发或测试的系统,应该降低这个限制数 。
最大检查间隔 。到达这个间隔时间,即使标志是干净的,e2fsck 强制检查 。如果文件系统不是经常mount,可以不使能这个功能 。
保留给root的块数 。Ext2给root保留一些块,这样如果文件系统满了,还可能无须删除任何东西做系统管理 。保留量确省是5%,这在大多数磁盘上不会造成浪费 。当然,软盘没有理由保留块 。
参阅tune2fs 手册页
dumpe2fs 显示一个ext2文件系统的信息,大部分来源于超级块 。有些输出信息是技术性的,要求对文件系统工作的理解(见附录 ), 但许多即使是一般管理员是也易于理解的 。
debugfs 是一个文件系统调试器 。它允许直接存取磁盘上的文件系统数据结构,可用于修复fsck 不能自动修复的磁盘 。它也可用于恢复被删除的文件 。但是,debugfs 非常要求你理解你所干的事,错误的理解和操作将破坏你的所有数据 。
dump 和restore 可用于备份一个ext2文件系统 。它们是传统UNIX备份工具的ext2版 。关于更有关备份的信息见 9章 。
没有文件系统的磁盘
并非所有磁盘或分区都作为文件系统使用 。例如对换分区,就没有文件系统 。许多软盘作为磁带仿真使用,所以tar 或其他文件可以直接写到原始磁盘,而不是文件系统 。Linux启动软盘不包括文件系统,只是原始核心 。
不用文件系统的优点是有更多的磁盘可用空间,因为文件系统需要一些记录 。也更容易与其他系统兼容;例如tar 文件格式在所有系统上相同,而文件系统则在大多数系统上不同 。如果需要,你会很快使用没有文件系统的磁盘 。可启动的 Linux软盘无需文件系统,虽然有也可能 。
使用原始磁盘的一个原因是做映象拷贝 。比如,如果磁盘包含部分损坏的文件系统,那么在修复前做一个完全拷贝是个好主意,因为如果你修错了,可以重来 。做映象拷贝的一个方法是用 dd :
$ dd if=/dev/fd0H1440 of=floppy-image
2880 0 records in
2880 0 records out
$ dd if=floppy-image of=/dev/fd0H1440
2880 0 records in
2880 0 records out
$
第一个dd 给软盘做了一个完全映象到文件 floppy-image , 第二个把映象写到软盘 。(假设用户在第二个命令前换了软盘 。否则这个命令对可能没用 。)
分配磁盘空间
分区概要
用最好的方式给磁盘分区不容易,而且,没有一个通用的正确方法,这包括很多因素 。
传统的方法是有个(相对)小的根文件系统,包括 /bin , /etc , /dev , /lib , /tmp , 和其他系统启动和运行需要的东西 。这种方法,根文件系统(在它自己的分区或硬盘上)是所有系统启动需要的东西 。理由是如果根文件系统小而不常用,系统崩溃时它就不太容易损坏,而且崩溃时也易于修复 。然后给/usr 目录树、用户主目录(经常在/home )、对换空间产生单独的分区或使用单独的硬盘 。分离的用户主目录(存用户文件)在其自己的分区中易于备份,因为一般无须备份程序(/usr 中) 。网络环境中,这样可以使多台计算机共享/usr (例如使用NFS) 这样每台机器可以节约数十、数百兆的磁盘空间 。