您现在的位置: 无忧电子商务网 >> 信息学院 >> 应用技巧 >> linux >> 正文

Linux 管理员手册(3)

作者:佚名    信息学院来源:IT世界    点击数:    更新时间:2006-3-28 我要参与讨论

  .00%) reserved for the super user
First data block=1
Block size=1024 (log=0)
Fragment size=1024 (log=0)
1 block group
8192 blocks per group, 8192 fragments per group
360 inodes per group

Writing inode tables: done
Writing superblocks and filesystem accounting information: done
$
  首先,格式化软盘(-n选项不进行确认,即坏块检查)。然后用badblocks 查找坏块, 输出定向到文件bad-blocks。最后,产生文件系统,坏块列表由文件badblocks 初始化。
-c选项可以与mkfs 一起使用,而无须badblocks 和一个单独的文件。如下:

$ mkfs -t ext2 -c /dev/fd0H1440
mke2fs 0.5a, 5-Apr-94 for EXT2 FS 0.5, 94/03/10
360 inodes, 1440 blocks
72 blocks (5.00%) reserved for the super user
First data block=1
Block size=1024 (log=0)
Fragment size=1024 (log=0)
1 block group
8192 blocks per group, 8192 fragments per group
360 inodes per group

Checking for bad blocks (read-only test): done
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
$
  使用-c比用单独使用badblocks 更方便, 但建立文件系统后检查,badblocks 是必要的。
在硬盘或分区上准备文件系统的过程和软盘是一样的,除了无须格式化。

Mount和unmount

  一个文件系统可以使用之前,必须mount。操作系统然后做一些记录以确认正常。因为UNIX所有的文件在一个目录树中, mount操作的结果使新的文件系统的内容好象在某个已经mount的文件系统的一个已经存在的子目录中。

  上面的mount可能使用如下命令:

$ mount /dev/hda2 /home
$ mount /dev/hda3 /usr
$
  mount 命令使用2个参数。第一个是与包括文件系统的磁盘或分区相关的设备文件。第二个是要mount到的目录。 mount以后,这2个文件系统的内容好象是/home 和/usr 目录。这样就可以说:/dev/hda2 被mount到 /home , /usr 也同样。要看每个文件系统,就看其被安装的目录,好象它就是在那里。注意设备文件的区别,/dev/hda2 , 和安装到的目录/home 。设备文件给出硬盘原始内容的存取,安装到的目录给出磁盘上文件的存取。安装到的目录叫安装点。

  Linux支持许多文件系统。mount 会试着猜测文件系统种类。也可以使用-t fstype 选项直接定义种类;这有时是必要的,因为自检测mount 并非总能成功。例如要mount一个MSDOS软盘,可以用如下命令:

$ mount -t msdos /dev/fd0 /floppy
$

  安装点目录不必是空的,但必须存在。其中的所有文件当文件系统mount后将不可用名字存取(已经打开的文件将继续可存取。有其他目录硬连接的文件可以通过那些名字存取)。这没有坏处,反而可能更有用。例如,有人喜欢将/tmp 和/var/tmp 作为同义,将/tmp 作为/var/tmp 的符号连接。系统启动时,在/usr 文件系统被mount之前,使用驻留在根文件系统的 /var/tmp 目录。当/usr 被mount上以后,根文件系统上的/var/tmp 将不可用,如果根文件系统上不存在 /var/tmp ,那么在mount上/var 之前将不可能使用暂存文件。

  如果不打算在一个文件系统上写任何东西,可以使用mount 的-r开关做一个只读mount。这将使核心停止任何对此文件系统的写要求,也将停止核心的对i节点的文件存取时间的更新。只读mount对不可写介质是必要的,例如CDROM。

  细心的读者可能已经注意到一个小的逻辑问题。第一个文件系统(叫根文件系统,因为它包含根目录)如何mount,因为很明显,它不能mount到另一个文件系统? Well, the answer is that it is done by magic. The root filesystem is magically mounted at boot time, and one can rely on it to always be mounted-- 如果根文件系统不能mount,系统将不能启动。 The name of the filesystem that is magically mounted as root 被编译进核心,或用LILO或rdev 设置。

  根文件系统通常先被只读mount。然后启动手稿运行fsck 校验它的有效性,如果没有问题,将re-mount它,使之可写。fsck 不能运行于一个已mount的文件系统,因为fsck 运行时,任何文件系统的改变将导致错误。因为根文件系统在被检查时是只读,fsck 可以无虑地修复任何问题,因为re-mount 操作将刷新文件系统在内存中的所有数据。

  在有其他文件系统的许多系统中,启动时要自动mount,可以在/etc/fstab 文件中定义:文件格式细节请参考fstab 的手册页。 mount特别的文件系统的特别细节依赖于许多因素,可以根据需要由每个管理员设置。 When the chapter on booting is finished, you may read all about it there.

  当一个文件系统不需要再mount着,可以用umount . umount 加一个参数unmount它,参数可以是设备文件或安装点。例如,要unmount上面例子中的目录,可以用:

$ umount /dev/hda2
$ umount /usr
$

  要了解使用这个命令的更多的说明,参阅手册。注意:记住unmount已经mount的软盘, 而不能仅仅将软盘弹出软驱!由于磁盘缓冲,在你unmount软盘之前无须回写,因此过早取出软盘将导致内容不正确。只从软盘上读还不要紧,如果写,就可能发生灾难性的损失。

  mount和umount需要超级拥护特权,即只有root 用户可以做。原因是:如果任何用户都可以mount软盘到任何目录,那么很容易用软盘做,比如,用特洛伊木马替换/bin/sh , 或者其他常用的程序。但是允许用户使用软盘经常又是必要的,有几种方法:

  给用户root 口令,很明显这对安全不利,但是最简单的方法。如果没有安全要求,这个方法很好,比如在非网络的、个人系统上。

  使用一个程序比如sudo 允许拥护使用mount。这同样对安全不利,但没有直接给任何人超级用户特权。

  让用户使用mtools , 这是一个利用MSDOS文件系统的软件包,无须mount。如果是MSDOS软盘这样做很好,否则不好。

  在/etc/fstab 中用合适的选项列出软驱设备和允许的安装点。

  最后一个选择可以在/etc/fstab 文件中加类似下面的一行来完成:

  /dev/fd0 /floppy msdos user,noauto 0 0

  各列分别是:要mount的设备文件,要安装到的目录,文件系统类型,选项,备份频率(用于dump ) 和fsck 次序(定义启动时文件系统被检查的次序,0表示不检查)。

noauto选项使系统启动是不自动mount(即, it stops mount -a from mounting it)。 user允许任何用户mount这个文件系统,并且,由于安全原因,不允许执行程序(normal or setuid) and interpretation of device files from the mounted filesystem。这样,任何用户都可以用如下命令mount一个msdos文件系统的软盘:

$ mount /floppy
$

  软盘可以用相关的umount 被unmount。

  如果想提供多种软盘的存取,需要给出多个安装点。对每个安装点的设置可以不同。例如,提供MSDOS和ext2文件系统的存取,可以在/etc/fstab 文件中加如下行:

/dev/fd0 /dosfloppy msdos user,noauto 0 0
/dev/fd0 /ext2floppy ext2 user,noauto 0 0

  对于MSDOS文件系统(不仅是软盘),可能需要用uid, gid,和umask 文件系统选项来限制存取权限,请看mount 手册页。如果不小心,mount一个MS-DOS文件系统将给予任何用户至少是读权限,这可不是一个好主意。

    用fsck检查文件系统完整性

  文件系统很复杂,因此易于发生错误。可以用fsck 命令检查文件系统是否正确和有效。它可以根据指令修复找到的小错误,并将未修复错误报告用户。幸运的是,文件系统的代码非常有效,所以根本极少出现问题,并且问题通常原因是电源失败、硬件失败、或操作错误,例如没有正常关闭系统。

  大多数系统设置为启动时自动运行fsck ,因此任何错误将在系统使用前被检测到(并根据希望修正)。使用有错误的文件系统可能使问题变得更坏:如果数据结构有问题,使用这个文件系统可能使之更糟,导致更多的数据丢失。当然,在大的文件系统上运行fsck 会花一定的时间,如果系统正常关闭,几乎从不发生错误,因此有一些方法可以不进行检查。如果文件/etc/fastboot 存在,就不检查。另外,如果ext2文件系统在超级快中有一个特定的标记告知该文件系统在上次mount后没有正常unmount. 如果标记指出unmount正常完成(假设正常unmount指出没问题),e2fsck (fsck 的ext2文件系统版) 就不检查系统。/etc/fastboot 是否影响系统依赖于你的启动手稿,但ext2标记则在你使用e2fsck 时发生作用--基于一个e2fsck 选项(

上一页  [1] [2] [3] [4] [5] [6] 下一页

在google里搜索更多Linux 管理员手册(3)

Google
Web www.51ec.org
  • 上一篇信息学院:

  • 下一篇信息学院:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    我来说两句 对此文章发表了评论
      昵 称: *必填    ·注册用户·
      评 分: 1分 2分 3分 4分 5分     严禁发表危害国家安全、政治、黄色淫秽等内容的评论,用户需对自己在使用本网站服务过程中的行为承担法律责任。本站管理员有权保留或删除评论内容,评论内容只代表机友个人观点,与本网站立场无关。  
    评 论
    内 容

     
    评论列表 (最新 评论仅限网友观点!)

    热门文章
  • 此栏目下没有热点信息学院
  • 供求信息




    | 设为首页 | 加入收藏 | 关于我们 | 广告服务 | 联系方式 | 友情链接 | 版权申明