网站整合推广,外贸新手怎么找客户,赤峰中国建设招标网站,做贵网站多少钱RH133—Unit4 文件系统的管理 一、系统在初始化时如何识别硬盘 1、系统初始时根据MBR的信息来识别硬盘#xff0c;其中包括了一些执行文件就来载入系统#xff0c;这些执行文件就是MBR里前面446bytes里的boot loader 程式#xff0c;而后面的16X4的空间就是存储分区表信息的… RH133—Unit4 文件系统的管理 一、系统在初始化时如何识别硬盘 1、系统初始时根据MBR的信息来识别硬盘其中包括了一些执行文件就来载入系统这些执行文件就是MBR里前面446bytes里的boot loader 程式而后面的16X4的空间就是存储分区表信息的位置如下图 2、在分区表中主要储存了以下信息 1分区号常见的分区号有以下几种其它编号可以使用fdisk指令再执行 l (小写L 查看 0x5 (or 0xf)扩展分区0x82Linux swap0x83Linux0x8eLinux LVM0xfdLinux RAID auto2分区的起始磁柱 3磁柱的总数 所以在系统初始化时就根据分区表中的这三项信息来识别硬盘。 二、介绍硬盘分区的相关事项1、当主分区都用完时可以使用扩展分区来增加额外的分区这已在前面介绍过了但是在Linux的kernel里 ·IDE的硬盘最多可以支持到16个分区 ·SCSI硬盘最多支持15个分区 2、硬盘做多分区的好处如下 1从控制方面的考虑 将硬盘分成多个分区就可以把应用程序、使用者的资料、或是一些需要有安全性的资料分别放入不同分区中方便管理 2从效率方面的考虑 因为硬盘在使用一段时间后都分有区块不连续的情况如果一块大容量的硬盘没有划分成多个小分区那么硬盘在搜索信息时因为搜索的范围非常大所以会比较久如果将大容量的硬盘划分多个小分区在搜索的时候相对就会快一些 3为为使用磁盘配额的功能 因为配额只能对分区做设定所以我们可以将/home目录单独做一个分区然后可以对这个分区做配额 4从资料备份和恢复考虑 例如/home这个目录是专门用于存放用户信息的目录将这个目录单独设定一个分区就可以定期就是个分区作备份工作恢复的时候也比较方便。 三、介绍分区的管理1、可以使用下面的指令来建立分区及查看分区fdisk /dev/hda 建立分区 参数-l 查看分区 执行 fdisk 指令后如下图例1在新建分区输入n系统会要求输入起始的磁柱编号默认系统会指定一个最近的未使用的磁柱号回车后再输入结束的磁柱号不过根据磁柱号来算一个分区的容量不太方便可以用“数值K或数值M 例1000M” 这样直接以容量的表示方式来设定这样直观一些再执行p就可以看到新增加的分区了例2删除分区输入d要求输入要删除的分区号在DEVICE字段列可以看到每个分区对应的编号输入想要删除的分区号回车即可 以前所有操作认为没有问题输入 w 保存退出即可。 这时主机屏幕上会提示The kernel still uses old table 表示目前系统还是在使用旧的分区表The new table will be used at the next reboot.表示只有在下次重新开机后才会使用新的分区表 2、使用下面的指令重新载入分区表到kernel中这样可以不用重新开机就可以启用新的分区表。 partprobe 四、建立文件系统对硬盘分区进行格式化1、格式化指令及指令语法 mke2fs [参数] 要格式化的分区例如上面的例子中格式化hda6这个分区 mke2fs /dev/hda62、格式化后会出现一些分区的相关信息为了理解这些信息先了解一下分区的格式 我们使用fdisk建立的分区不能直接用来存放资料必须先对这个分区做格式化的工作格式化就是将分区划分成一格一格的block及多少个Inode可以使用而每个block就是文件系统存取资料的最小单位所以才可以将资料存放在这些block中而且每多个 block 会组成一个 group如下图所示除了boot sector 之外第一个block 称为 super block 用来记录这个分区共有多少个block和inode 已经使用多少block和inode等信息 如下图所示 13 block groups 表示这个分区被划分出了13个block group 8192 blocks per group表示每个group中有8192个block 2008 inodes per group表示每个group中有8192个inodes 如果super block 损坏这个分区将无法访问所以每隔一段block 就会备份一次这个super block如下图 superblock backups stored on block下面的数值就是备份super block 所在的block的位置。 3、dumpe2fs 指令查看分区的详细信息dumpe2fs /dev/hda6 | more 查看指定分区的信息前一页半是super block的内容后面是每个Group的详细信息因为所显示的内容很多所以加上了 | more 用于分页显示 显示信息的部分说明 Inode count: Inode的总数量 Block count: Block的总数量 Free blocks: 剩余的block数量 Fre inodes: 剩余的Inode数量 Filesystem features: has_journal表是为ext3文件系统 4、mke2fs格式化指令格式及参数 格式mke2fs [参数] 要格式化的分区文件名例/dev/hda6 mke2fs -j /dev/hda6 参数 ·b设定每个block的大小预设为1024bytes(1K)最大4096bytes(4K)如果设定太大将使用4096bytes ·c格式化前检查分区中是否有损坏的block ·i 设定每个Inode的大小例mke2fs –i 4096 /dev/hda6 ·N直接设定Inode 的总数量所设置的值只是接近而矣 ·m设定在分区上保留多少空间给root预设保留5%mke2fs –m 10 /dev/hda6 ·L设定分区卷标预设不设定通常习惯将卷标名称设为同挂载点目录名称相同方便记忆mke2fs –L data /dev/hda6 ·j建立成为ext3文件系统也就是加入日志功能 五、介绍将ext2格式的分区转成ext31、ext2与ext3的区别如下 1ext2和ext3的格式完全相同只是在ext3硬盘最后面有一部分空间用来存放Journal日志的记录 2在ext2中写资料到硬盘中时先将资料写入缓存中当缓存写满时才会写入硬盘中 3在ext3中写资料到硬盘中时先将资料写入缓存中鼗缓存写满时系统先通知Journal再将资料写入硬盘完成后再通知Journal资料已完成写入工作 4是否有Journal的差别 在ext2中系统开机时会去检查有效位Valid bit如果值为1表示系统上次有正常关机如果为0表示上次关机未正常关机那系统就会从头检查硬盘中的资料这样时间会很长 在ext3中也就是有Journal机制里系统开机时检查Journal的资料来查看是否有错误产生这样就快了很多 5tune2fs –j /dev/hda6 将ext2转换成ext3 2、在ext3里有三个Journal的模式 1ordered预设模式只记录Inode-table里的信息 2Journaled记录资料本身的信息需要大量空间来做记录 3writeback不记录信息可提供较好的效能 六、介绍在分区里设定相应的卷标 1、前面分区的表示法一直在使用 hda1 或 sda1类似这样的表示法其实也可以用卷标的表示法这样更好便记忆。 2、设定及查看卷标的指令格式及说明如下 e2label 指令 例e2label /dev/hda6 查看hda6分区的卷标名称如为空白表示未设定卷标 e2label /dev/hda6 data 设定这个分区的卷标为 data 注在这里先不要修改hda1~hda5的卷标可能会造成无法开机以后再做说明。 七、介绍mount指令挂载分区 1、挂载的概念当要使用某个设备时例如要读取硬盘中的一个格式化好的分区、光盘或软件等设备时必须先把这些设备对应到某个目录上而这个目录就称为“挂载点mount point”这样才可以读取这些设备而这些对应的动作就是“挂载”。 mount的详细说明将在下一小节介绍 示例如下图 下面以卷标的方式进行挂载注意使用卷标挂载进必须加上 –L 的参数表示使用卷标挂载 八、介绍mount指令及参数1、mount 指令格式mount [-t 文件系统类型] [-o 参数] 设备名或卷标 挂载点目录名 注如果使用卷标方式挂载必须使用 –L 参数。1-t 后面设定所要挂载的文件系统的类型例如vfat、ext2、ext3、iso9660(光盘)通常这部分不需要加kernel可以自己判断 2-o 后面加一些设定参数 · suid允许挂载后的文件系统可以使用suid、sgid的特殊权限 · dev允许挂载的文件系统建立设备文件例如/dev/hda6 下的 hda6 就是设备文件 · exec允许挂载文件系统后可以执行里面的执行文件 · noexec不允许执行文件 · auto在电脑开机后自动挂载这个文件系统 · nouser指只允许super user 也就是root挂载这个文件系统 · async设为不同步就是电脑写入资料时先写入缓存再写到硬盘中 · loop用来挂载loopback设备例如光盘机就是loopback设备 · ro挂载文件系统后设定为只读 · rw挂载文件系统后设定为可读可写 · remount 重新挂载文件系统 如果在挂载ext2或ext3时预设会使用下面的参数设定 rw,suid,dev,exec,nouser,async 九、介绍卸载文件系统1、使用mount指令查看已挂载了哪些文件系统 卸载指令及格式如下umount 设备文件名或挂载点例如上图中已挂载到/data目录的上设备可以使用 umount /dev/hda6 或 umount /data 进行卸载 2、如果文件系统正在使用中就无法正常卸载可以使用下面的指令查看并停止所有对这个文件系统的操作然后再进行卸载操作fuser -v 设备文件名或挂载点 查看有哪个服务或使用者正在对这个文件系统做操作fuser –km 设备文件名或挂载点 强制停止所有对这个文件系统的所有操作 3、可以使用 remount 这个参数来改变文件系统的状态 例如mount –o remount,ro /data 重新挂载文件系统为只读这样就不用先卸载再挂载了。 十、介绍一些挂载的范例1、挂载一个不允许执行的文件系统mount –o noexec /dev/hda6 /data noexec表示为不允许执行 2、挂载一个文件系统的镜像文件mount –t iso9660 -o ro,loop boot.iso /iso 加loop参数是因为光盘是loopback设备boot.iso为镜像文件名 /iso 为挂载点 十一、介绍挂载网络上的共享资源 1、在Unix 和Linux的网络资源主要分为两种 NFS (Network File System)和SMB ·NFSLinux/Unix和Unix/Linux之间用来共享资源的 ·SMBLinux/Unix和Microsoft(windows)之间用来共享资源的 2、共享NFS网络资源的主机称为NFS Server 共享SMB网络资源折主机称为Samba Server 3、这些网络资源的连接方式 (1)NFS部分的连接方式showmount –e IP地址 #查看共享资源mount ip地址:/共享目录 /挂载点 #挂载网络资源 (2)SMB部分的连接方式smbclient –L ip地址 -N #查看指定Samba Server 上有哪些共享目录mount //IP地址/共享目录 /挂载点 -o username用户名%密码 #挂载windows网络共享资源 十二、介绍/etc/fstab 文件的功能1、fstab文件的功能就是根据fstab文件中设定的内容自动挂载设备到指定的挂载点上 2、下面就介绍fstab这个文件内容的详细说明 如下图fstab文件内容共分为6个栏位 下面对上图中6个栏位分别说明 (1)设备名可以用“LABEL”卷标表示法也可以使用设备名称表示法“/dev/hda6” (2)挂载点挂载点目录必须是已存在的目录 (3)文件系统类型例如ext3,ext2等 (4)挂载参数就是前面mount指令中 –o 后面的参数defaults代表使用预设参数设定例如如/dev/hdc(光盘)和/dev/fd0(软盘)的这两行设定exec可以执行文件noauto 不会自动挂载 (5)备份设定备份次数0表示不备份1表示每天做一次备份2表示每两天做一次备份 (6)检查顺序设定文件系统的检查顺序0表示不检查1表示第一个检查2表示第二个检查以此类推检查顺序最多到9如果值相同按从上到下的顺序检查通常根目录的检查顺序排在第一位 所以如果要在电脑开机后自动挂载文件系统就可以修改fstab这个文件的设定。 例如可以将前面挂载的hda6写入这个文件中当开机后自动挂载设定方法如下使用VI编辑fstab文件将下面的一行设定加入到最后一行即可/dev/hda6 /data ext3 defaults 0 02、在挂载光盘或软盘时只需要执行 mount /media/cdrom 或 mount /media/floppy 就可以了而不用指定要挂载的设备这是因为在fstab文件中有所设定因为在挂载目录和设备时如果未指定要挂载的设备电脑会先到fstab文件中查看有没有相对应的设备及目录挂载如果没有还会到mtab文件其实mtab文件就是目前系统的挂载设定所以在卸载时也查看这个mtab文件卸载时也就只需要指定挂载点或设备就可以了中查看。 十三、介绍auto-mounter自动挂载程序在使用网络共享时自动挂载网络共享资源 1、automounter是一个daemon程式automounters可以监控某个目录例如监控/mnt/nfs目录当我们需要存取这个目录时使用cd /mnt/nfs 进入这个目录时这时automounter程式发现使用者要存取这个目录时就会按照设定自动将网络共享资源自动进行挂载如果过一段时间(预设60秒)不使用也会自动卸载这个目录这样可以减少对网络产生的负荷使用网络的利用率更高。 2、automounter的设定以实例说明仅供参考 (1)vi /etc/auto.master 编辑automount主要的设定文件 (2)复制有--timeout60那一行到下面修改如下图 (3)建立auto.nfs设定文件预设/etc目录下没有这个文件需要自己建立 可以由 auto.misc 做为模板复制得来并重命名为auto.nfs编辑auto.nfs修改如下 (4)service autofs start 启动automount服务如果已经启动可执行service autofs restart 或 service autofs reload重新启动或重新加载配置文件 (5)使用cd /mnt/nfs 目录再执行ls 指令没有未何文件 使用 cd server1 却可以进入这时已经进行自动挂载了这时就可以查看NFS服务器上的共享文件了。 使用mount可以查看到刚刚挂载上来的NFS网络共享目录。注我这里还未建立NFS文件服务器所以这里只能做客户端的设定现在还无法试测十四、介绍在ext2和ext3文件系统里有哪些属性可以设定1、在ext2和ext3的文件系统里都支持一些特殊的属性来控制文件的特性 ·lsattr 指令显示文件的属性设定 ·chattr 指令设定文件的属性 格式chattr |-|属性[属性…] 文件名[文件名…] 增加属性-去除属性 设定属性 可以设定一个或多个属性 常见属性说明如下 ·A当文件被修改时atime(存取时间)记录不会被修改 ·a让文件只可以附加内容不允许原来的内容被覆盖掉 ·d让系统在使用dump指令做备份时可以不用备份这个文件 ·i让文件永远不改变不能删除或更改文件名 ·j让系统将文件本身的信息记录在ext3的日志里就算ext3的文件系统是挂载成ordered(有序)或writeback模式都会将文件本身的信息记录在ext3的日志里。 ·S当文件被修改时就做同步的动作立刻将资料写入硬盘中 例chattr a test 添加只允许附加内容的属性chattr test 去除掉所有的属性 十五、介绍如何使用划分好的分区或文件来当作虚拟内存swap1、在Linux系统中虚拟内存称为SWAP 2、SWAP分为两种类型 ·用划分好的分区作为SWAP ·用文件当作SWAP 3、要建立SWAP的虚拟内存主要有以下几个基本设定 (1)建立SWAP的分区或是文件并且在建立SWAP的分区时分区的编号要设定为82 (2)使用mkswap指令对swap分区或是swap文件写入一个特定的SWAP识别标志 (3)必须要在/etc/fstab文件中加入适当的记录这样才能让系统在开机后能够自动挂载SWAP (4)如果是SWAP的分区要使用 swapon –a 指令启用SWAP其实 swapon –a 指令会去读取 fstab 文件并根据 fstab 里的记录来启用所有的 swap 分区 (5)如果是使用SWAP文件则使用 swapon 指令再指定要启用哪个SWAP文件 (6)可以使用 swapon –s 来检查SWAP的使用情况范例1如下 (1)使用分区作为SWAP ·fdisk /dev/hda ·输入n新建一个分区如果一直以前面的例子做下来硬盘应该还有剩余空间的这里创建一个100M的分区 ·输入t再输入7我这里新建的分区是hda7可以输入p查看到再输入 82 82表示设定为swap分区类型 ·再输入p可以查看到 hda7 的system(系统)已经变为Linux swap ·wq保存退出 ·执行“partprobe”指令让kernel重新读取分区表 (2)mkswap /dev/hda7 对SWAP分区或是SWAP文件写入特定的标志类似于格式化成虚拟内存的格式 (3)编辑/etc/fstab文件添加记录这样一会的swapon指令才可以在fstab文件中找到相应的分区在下次开机时也可以找到新的SWAP分区的位置复制原来的SWAP那行记录将原来的卷标表示法修改为/dev/hda7的设备表示法其它保持不变 (4)swapon –a 指令根据fstab文件启动所有SWAP分区为了验证可以先使用 swapon –s 指令查看当前SWAP的状态范例如下使用文件当虚拟内存这和windows下的虚拟内存使用方式非常相似(1)建立SWAP文件这里建立的是100M的SWAP文件 指令dd if/dev/zero of/swapfile bs1M count100 说明dd转换并复制文件 if是inputfile的缩写if/dev/zero 代表要把zero文件当作输入的文件zero文件可以是当作都是零的文件 of是outputfile的缩写of/swapfile 代表要输入到/swapfile文件上 bs是block size的缩写表示强制设定swapfile的block的大小 count代表要建立多少个block (2)mkswap /swaplife 为swapfile文件写入一个swap的标志相当于格式化成虚似内存的格式设定成功将会出现提信息 (3)修改 /etc/fstab文件方式同上一范例相同只是把 /dev/hda7改写成 /swapfile 其它不变 (4)swapon –a 启用swap文件 在启用前也可以用 swapon –s 查看等启用后再次查看SWAP是否加载进来了。 十六、介绍一些维护文件系统的工具及一些重要的相关事项1、如果文件系统的文件有丢失或毁损可以使用fsck指令来维护文件系统的一致性 检查某个分区前分区必须处于未挂载状态如正在使用中必须先进行卸载再执行检查工作 格式 fsck -Y /dev/hda6 -Y参说表示中途提示问题都回答Yes 2、系统在开机时就会检查文件有没有丢失或损坏的系统是根据/etc/fstab文件中最后一栏的设定来决定检查的先后顺序的这个栏位前面已做过介绍 3、如果检查出有问题文件就会先放到 lostfound 目录中当作备分所以当一个分区挂载成功后都会发现有这个目录存在 4、电脑在开机时发生严重错误系统会用sulogin的方式启动下图例中我将fstab文件中根目录的卷标随意的修改了一下重新启动后将会出现严重错误就停在了下图图的位置 5、将ext2文件系统转成ext3文件系统指令下如tune2fs -j /dev/hda6 将hda6分区转成ext3文件系统转换成功后将有提示信息这样原有分区内的资料将不会丢失 6、查看文件系统目前的状态信息dumpe2fs -h /dev/hda6 显示hda6的分区信息这个指令前面已介绍过 -h 可以显示superblock的信息十七、如何加入一块新硬盘1、第一步当然是要将硬盘接在电脑上啦 2、进入系统后使用fdisk对硬盘进行分区并设定好分区类型编号例如linux 为 83 3、建立好分区后执行 patrprobe 重新载入分区使用最新分区表 4、建立完分区后格式化分区如果建立的是SWAP分区需要为这个SWAP分区写入一个SWAP标志 5、如果要使用卷标表示法需要为分区创建卷标名称 6、建立新的挂载点并将分区挂载上 7、在/etc/fstab文件中加入新分区的记录让电脑以后可以自动挂载这个新建的分区 转载于:https://blog.51cto.com/luashin/809872