天天看点

[RHEL5系统管理攻略]--第3章 ext与swap文件系统(1)

<b>对于</b><b>IT</b><b>的学习来说,把握</b><b>“</b><b>心法与招式</b><b>”</b><b>的平衡,是至关重要的!要想成为高手!</b><b>“</b><b>心法与招式</b><b>”</b><b>必须兼修!</b>

<b>所谓心法,就是理论基础知识,是底层的原理性知识,是那些跟特定的厂家无关的跨平台共性知识;</b>

<b>所谓招式,就是应用层面的技能,配置、操作和调试的步骤,跟具体的软件或者硬件紧密关联的特殊知识。</b>

<b></b>

<b><b>      ext</b><b>与</b><b>swap</b><b>文件系统是</b><b>Red Hat Enterprise Linux</b><b>系统中是最重要的文件系统,本章将深入介绍这</b><b>3</b><b>个文件系统的功能,以及如何管理这</b><b>3</b><b>个文件系统。</b></b>

<b><b>3.1 </b>ext2文件系统</b>

<b>ext2文件系统是全名为第二代延伸式文件系统(2nd extended filesytem),是针对Linux特性特别开发的,所以几乎是为Linux量身打造的文件系统。因此,ext2最后成为各种Linux产品内置的文件系统。当然Red Hat Enterprise Linux也提供ext2文件系统。本节将介绍ext2文件系统的特色与功能。</b>

<b>   ext2文件系统究竟提供了什么魅力,深得所有Linux厂商的推崇?ext2提供的功能整理为以下几点:</b>

<b>⑴ 支持255个字符的文件名称。</b>

<b>⑵ 支持各种类型的文件。</b>

<b>⑶ 单一文件系统最大为8TB 。</b>

<b>⑷ 单一文件最大为8TB 。</b>

<b>⑸ 提供文件的特殊属性。</b>

<b>⑹ 可以为ext2文件系统设置卷标名称。</b>

<b>⑺ 可以调校ext2文件系统。</b>

<b>⑻ 通过cache/buffer提高ext2文件系统的效率。</b>

<b>下面将详细介绍上述各项特色与功能,并且介绍如何在Red Hat Enterprise Linux系统中操作ext2的特殊功能。</b>

<b>3.1.1 ext2文件系统名称与支持的文件类型</b>

<b>支持255个字符的文件名称。</b>

<b>       在以前最多只能存储255个字元或者127个中文的文件名:不过,现在的RHEL的ext2文件系统已经支持万国码(Unicode),因此,最多可以存储255个英文或者中文的文件名称。而文件名称中可以使用除了“/”外的任何字符。但是,强烈建议避免使用以下的特殊符号作为文件名称。</b>

<b>⑴ 特殊符号:eg: “,” 、“;” 、“-” “~” 、“空白”等。</b>

<b>⑵ 无法显示的字符:eg: ASCⅡ的007字符。</b>

<b>⑶ 此外,ext2文件系统也建立、存储下列几种类型的文件。</b>

<b>⑷ 常规文件(Regular File):包含文字文件、二进制文件(Binary File)、执行文件、链接库……</b>

<b>⑸ 目录(Directory)。</b>

<b>⑹ 连接文件(Link File): 包含硬性连接文件(Hard-Link File)、软性连接文件(Soft-Link File)。</b>

<b>⑺ 设备文件(Device File): eg: 区块设备(Block Device)、字符设备(Character File)。</b>

<b>⑻ 跨进程通信文件(Inter-Process Communcation File,IPC File): 例如:Socket文件、FIFO文件。</b>

<b>3.1.2 制作ext2文件系统</b>

<b>   制作ext2文件系统,则可用mkfs或者mkfs.ext2命令:</b>

<b>       mkfs [-t  ext2] [options…] device [size]</b>

<b>       mkfs.ext2  [options…] device [size]</b>

<b>⑴ device :  文件系统的设备文件名称。</b>

<b>⑵ size   :  新建的文件系统大小。若未指定,则为默认值。</b>

<b>⑶ options:  参数。常用参数如下表所示。</b>

<b>mkfs与mkfs.ext2常用参数表</b>

<b><b>参数</b></b>

<b><b>说明</b></b>

<b><b>-c</b></b>

<b><b>在制作文件系统前,先检查磁盘是否有坏轨(</b><b>Bad Block</b><b>)</b></b>

<b><b>-l file</b></b>

<b><b>从</b><b>file</b><b>读入坏轨扇区数据</b></b>

<b><b>-b size</b></b>

<b><b>指定</b><b>ext2</b><b>文件系统的区块大小</b></b>

<b><b>-i size</b></b>

<b><b>指定每隔多少</b><b>size</b><b>字节建立一个索引节点</b></b>

<b><b>-N count</b></b>

<b><b>指定建立几个索引节点</b></b>

<b><b>-L lable</b></b>

<b><b>指定</b><b>ext2</b><b>文件系统的卷标名称</b></b>

<b><b>-m reserved_percent</b></b>

<b><b>设置保留区块的百分比</b></b>

<b><b> </b><b>下面我们来看建立</b><b>ext2</b><b>文件系统:</b></b>

<b><b></b></b>

<b><b>① </b><b>mkfs</b><b>没有加任何参数,则采用默认值,即把</b><b>/dev/hda8</b><b>的所有磁盘空间制作成  为</b><b>ext2</b><b>文件系统。</b></b>

<b><b>       </b><b>温馨提醒:在制作文件系统时,会清除掉磁盘空间上原来的所有文件数据,故在建立文件系统前,一定要仔细思量。</b></b>

<b><b>3.1.3</b><b> ext2</b><b>文件特殊属性</b></b>

<b><b>       </b><b>在</b><b>ext2</b><b>文件系统建立一个文件时,</b><b>ext2</b><b>除了会记录文件的权限、拥有者、异动时时间等信息外,还会存储</b><b>ext2</b><b>文件系统的属性数据。通过</b><b>ext2</b><b>文件系统的属性,可以对</b><b>ext2</b><b>的文件提供更细致的管理,赋予</b><b>ext2</b><b>上的文件更多的功能。</b></b>

<b><b>       </b><b>常用的</b><b>ext2</b><b>文件系统特殊属性如下表:</b></b>

<b><b>ext2</b><b>文件系统的文件特殊属性</b></b>

<b><b>属性</b></b>

<b><b>a</b></b>

<b><b>只能附加,意即不能删除,也不能覆盖</b></b>

<b><b>c</b></b>

<b><b>允许由内核自动压缩</b></b>

<b><b>d</b></b>

<b><b>通过</b><b>dump</b><b>工具进行备份时,要跳过这个文件</b></b>

<b><b>i</b></b>

<b><b>恒久不变的,意即不能删除,不能覆盖,也不能附加</b></b>

<b><b>j</b></b>

<b><b>挂载参数是</b><b>data=ordered</b><b>或</b><b>data=writeback</b><b>时,将所有数据写入日志区块</b></b>

<b><b>s</b></b>

<b><b>安全地删除</b></b>

<b><b>u</b></b>

<b><b>可以进行反删除</b></b>

<b><b>A</b></b>

<b><b>读取该文件时,不需要更新读取时间戳记录,启用这个属性时,可以提高文件的读取效率</b></b>

<b><b>D</b></b>

<b><b>当目录被异动时,立即写回磁盘</b></b>

<b><b>S</b></b>

<b><b>文件一经修改,立即存回磁盘</b></b>

<b><b> </b></b>

<b><b>  查看文件的特殊属性:</b></b>

<b><b>              lsattr  files</b><b>...</b></b>

<b><b>  配置文件的特殊属性:</b></b>

<b><b>              chattr  </b><b>+-</b><b>  attributes</b><b>... </b><b>files</b><b>...</b></b>

<b><b>⑴ </b><b>attributes </b><b>:就是要设置的特殊属性代号(如:</b><b> i </b><b>、</b><b>a </b><b>)。</b></b>

<b><b>⑵ </b><b>+</b><b> attributes </b><b>:</b><b> </b><b>表示启用这项属性(如:+</b><b>i </b><b>)</b></b>

<b><b>⑶ </b><b>-</b><b> attributes </b><b>:</b><b> </b><b>表示停用它个属性</b><b> (</b><b>如:-</b><b>i )</b></b>

<b><b>好啦,我们一起来看看如何设置</b><b>ext2</b><b>文件系统特殊属性:</b></b>

<b><b>为了方便初学者,故从初步开始……</b></b>

<b><b>② </b><b>创建</b><b>tmp</b><b>目录,在</b><b>/mnt/</b><b>下。</b></b>

<b><b>③ </b><b>再次查看</b><b>/mnt/</b><b>目录下是否有</b><b>tmp</b><b>目录,显然有。</b></b>

<b><b>④ </b><b>查看</b><b>/mnt/tmp</b><b>目录下是否有文件,显然没有。</b></b>

<b><b>⑤ </b><b>建立一个文件</b><b>file1.</b></b>

<b><b>⑥ </b><b>再次查看</b><b>/mnt/tmp/</b><b>目录下是否有文件</b><b>file1</b><b>,显然有。</b></b>

<b><b>⑦ </b><b>查看</b><b>/mnt/tmp/file1</b><b>中是否有内容,明显没有。</b></b>

<b><b>⑧ </b><b>把</b><b>/dev/hda8</b><b>分区的文件系统挂载到</b><b>/mnt/tmp/</b></b>

<b><b>⑨ </b><b>/dev/hda8</b><b>被制作成为</b><b>ext2</b><b>文件系统,已挂载到</b><b>/mnt/tmp/</b><b>目录。</b><b></b></b>

<b><b>①    </b><b>先查看</b><b>/mnt/tmp/file1</b><b>文件的特殊属性,根据</b><b>lsattr</b><b>显示结果可知,</b><b>file1</b><b>目前没有设置任何的特殊属性。</b></b>

<b><b>②    </b><b>因没有任何特殊属性,故可直接覆盖</b><b>/mnt/tmp/file1</b><b>文件的内容。</b></b>

<b><b>③    </b><b>查看</b><b>/mnt/tmp/file1</b><b>文件的内容仅有“</b><b>Linux</b><b>”了。</b></b>

<b><b>④    </b><b>用</b><b>chattr</b><b>命令开启</b><b>/mnt/tmp/file1</b><b>文件的永恒不变特殊属性(即:+</b><b>i</b><b>参数!</b><b> </b><b>)。</b></b>

<b><b>⑤    </b><b>再次用</b><b>lsattr</b><b>查看</b><b>/mnt/tmp/file1</b><b>的特殊属性,当前的确开启了</b><b>i</b><b>的特殊属性。</b></b>

<b><b>⑥    </b><b>开启了</b><b>/mnt/tmp/file1</b><b>的</b><b>i</b><b>特殊属性,故</b><b>RHEL</b><b>会显示“</b><b>permission denied(</b><b>拒绝不符权限的操作</b><b>)</b><b>”的错误信息。即无法覆盖</b><b>/mnt/tmp/file1</b><b>文件的内容。</b></b>

<b><b>⑦    </b><b>用</b><b>cat</b><b>命令查看只有“</b><b>Linux</b><b>”。</b></b>

<b><b>3.1.4</b><b> </b><b>多重读取控制清单</b></b>

<b><b>       </b><b>以往,每一个文件只能设置一条权限,而</b><b>UNIX</b><b>系统的权限只有</b><b>3</b><b>组:拥有者、拥有群组和其他人,意即只能针对文件的拥有者、拥有群组或者其他人设置权限,这就限制</b><b>RHEL</b><b>的功能。</b></b>

<b><b>       eg </b><b>:</b><b>Boss</b><b>希望只有</b><b>koma</b><b>与</b><b>paul</b><b>两个人可以读取、写入</b><b>/data/file1</b><b>,而</b><b>users</b><b>群组的成员只能读取,其他人无法读取。作为系统管理员的你,此时,只能告诉你的老板:对不起,</b><b>RHEL</b><b>无法满足你的要求。(你想想,你的老板此时如何想???哈……哈……)</b></b>

<b><b>       </b><b>没事!下面接着看看,为了解决上述问题,</b><b>RHEL</b><b>在</b><b>ext2</b><b>中操作</b><b>POSIX</b><b>的多重读取控制清单(</b><b>MACL</b><b>)能力,这样就能为</b><b>ext2</b><b>文件系统中的每一个文件设置一条以上的权限数据,以加强</b><b>RHEL</b><b>权限主功能。</b></b>

<b><b>本文转自 </b></b>

<b><b>beyondhedefang</b></b>

<b><b><b></b> 51CTO博客,原文链接:http://blog.51cto.com/beyondhdf/258698 ,如需转载请自行联系原作者</b></b>

继续阅读