• 1. 第六章 系统管理---文件系统管理
  • 2. 本章目标 了解linux系统启动的步骤 引导和关闭系统 管理文件系统
  • 3. (本页无文本内容)
  • 4. 内核的引导Red Hat9.0可以使用lilo或grub等引导程序开始引导Linux系统,当引导程序成功完成引导任务后,Linux从它们手中接管了CPU的控制权,然后CPU就开始执行Linux的核心映象代码,开始了Linux启动过程。
  • 5. 系统启动的步骤Step1 执行/sbin/init 整个系统的第一个进程就是init,开机后第一个执行的进程。init会根据设置文件的script执行系统的各个进程。 读取/etc/inittab取得系统登入状态。 Step2执行script文件:/etc/rc.d/rc.sysinit(系统初始化脚本) 这是第一个执行的script文件,负责很多系统功能的设置,包括设置许多环境变量、检查与挂载文件系统、启动swap文件、设置网络等等。 1)挂载/proc文件系统 2)设置系统时钟 3)系统一般的环境变量设置(如主机名等) 4)初始化USB等设备 5)设置PnP 6)加载键盘映射
  • 6. 7)加载系统字体 8)加载系统模块 9)初始化RAID 10)检查文件系统 11)挂载文件系统 12)激活磁盘限额 13)激活SWAP分区 14)初始化串口设备 15)生成系统启动信息的log文件
  • 7. Run Level说 明0关机1单用户模式2多用户,但没有NFS系统3完整多用户模式4未使用5X116重开机(reboot)
  • 8. Step3执行run level中的script文件 run level是开机的模式。
  • 9. 每个run level有自己的目录: rc0.d、rc1.d、rc2.d、rc3.d、rc4.d、rc5.d、rc6.d 如果run level为3,则执行/etc/rc.d/rc3.d目录下的所有文件,而这些目录下的文件都是符号链接文件,链接到/etc/rc.d/init.d目录下的各script文件。
  • 10. /etc/rc.d/rcX.d/[KS]*----------根据运行级别(X)配置服务 1)终止以“K”开头的服务 2)启动以“S”开头的服务
  • 11. rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。 init接下来会打开6个终端,以便用户登录系统。通过按Alt+Fn(n对应1-6)可以在这6个终端中切换。
  • 12. Step4执行/etc/rc.d/rc.local 它是所有的开机script都执行过了以后最后一个执行的文件。如果要设置系统某个程序在每一次开机时自动执行,就设置在这个script文件里。
  • 13. 其它------不同运行级别的特殊服务 1)mingetty(除了运行级别1) 2)xdm/gdm/kdm(运行级别5) 当看到mingetty的登录界面时,就可以输入用户名和密码来登录系统了。
  • 14. 关闭系统关闭和重新启动系统的命令 shutdown halt reboot poweroff init
  • 15. Linux关机命令 1、shutdown shutdown命令安全地将系统关机 在系统关机前使用shutdown命令﹐系统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结﹐即新的用户不能再登录。
  • 16. Linux关机命令 shutdown 参数说明: [-t]   在改变到其它runlevel之前﹐告诉init多久以后关机。 [-r]  重启计算机。 [-k] 并不真正关机﹐只是送警告信号给每位登录者〔login〕。 [-h]  关机后关闭电源〔halt〕。 [-n]  不用init﹐而是自己来关机。不鼓励使用这个选项﹐而且该选项所产生的后果往往不总是你所预期得到的。 [-c]  cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数﹐但是可以输入一个用来解释的讯息﹐而 这信息将会送到每位使用者。 [-f]  在重启计算机〔reboot〕时忽略fsck。  [-F]  在重启计算机〔reboot〕时强迫fsck。 [-time]  设定关机〔shutdown〕前的时间。
  • 17. shutdown -r now 指定关闭时间 指定shutdown开始执行的时间。 hh:mm 以绝对时间表示,hh指小时,mm为分钟。 +m m分钟后执行。now等于+0,也就是立刻执行。 指定在下午5点关机 shutdown -h 17:00 设置10分钟后关机 shutdown -h +10
  • 18. shutdown –h +30 shutdown –h now=shutdown –h +0 shutdown –h 12:10 shutdown –k +10 ‘Everybody,the system will shutdown!!’ reboot –f 跳过shutdown直接执行reboot
  • 19. Linux关机命令 2、halt----最简单的关机命令 其实halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。
  • 20. Linux关机命令 halt参数说明: [-w]  并不是真正的关机﹐只是写wtmp(/var/log/wtmp)记录。 [-f]  没有调用shutdown而强制关机。 [-i]  关机前﹐关掉所有的网络接口。 [-p]  该选项为缺省选项。就是关机时调用poweroff。
  • 21. Linux关机命令 3、reboot reboot的工作过程差不多跟halt一样﹐不过它是引发主机重启﹐而halt是关机。它的参数与halt相差不多。
  • 22. Linux关机命令 4、init init是所有进程的祖先﹐它的进程号始终为1﹐所以发送TERM信号给init会终止所有的用户进程﹑守护进程等。shutdown 就是使用这种机制。
  • 23. Linux关机命令 5、poweroff 等同于init,halt,shutdown。
  • 24. 管理文件系统文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构;即在磁盘上组织文件的方法。也指用于存储文件的磁盘或分区,或文件系统种类。
  • 25. 挂接点在Linux中,如果你要使用储存设备 (Mo、硬盘、光驱等) ,就得先将它挂上 (Mount),而当储存设备挂上了之后,就可以把它当成一个目录来进行访问。挂上一个设备使用mount命令。
  • 26. 在使用mount这个指令时,至少要先知道下列三种信息: 1.要Mount对象的文件系统类型? (File system type) 2.要Mount对象的设备名称? (/dev/????) 3.要将设备Mount到哪个目录去?
  • 27. 一、获得系统支持的文件系统类型 cat /proc/filesystems 来获得机器上支持的文件系统类型。如果系统并不支持你要挂接设备的文件系统类型,那你可能需要重新编译内核以使其增加对该种文件类型支持。
  • 28. 常用的文件系统有:   Win95/98常用的FAT 32文件系统 :vfat   Win NT用的文件系统 :ntfs   OS2用的文件系统 :hpfs   Linux用的文件系统 :ext2   光盘片用的文件系统 :iso9660 其中虽然vfat是指FAT 32系统,但事实上它也兼容FAT 16的文件系统类型。
  • 29. 二、确定设备的名称 在Linux中,设备名称通常都在/dev里。这些设备名称的命名都是有规则的。 譬如说/dev/hda1这个IDE设备。hd是Hard Disk(硬盘)的意思,sd是SCSI Device,fd是Floppy Device。a则是代表第一个设备,通常IDE接口可以接上四个IDE设备(例如四块硬盘)。所以要识别IDE硬盘的方法分别就是:hda、hdb、hdc、hdd。此外,hda1中的"1"代表hda的第一个硬盘分区(partition),hda2代表hda的第二个分割区,依此类推。
  • 30. 三、查找挂接点 最后决定将设备挂接到哪里,先查看一下计算机是不是有个/mnt的空目录?该目录就是专门用来当作挂载点(Mount Point)的目录。建议您在/mnt里多建这几个目录:/mnt/cdrom、/mnt/floppy、/mnt/mo等来当作目录的专用挂载点。
  • 31. 如何挂载?挂载是系统管理员的工作,只有root有权执行挂载。 mount [-t type] 设备挂载点 只读挂载 只能读取,不能写入、修改 mount -r 设备挂载点 可读写挂载 允许读取与写入的权限 mount -w 设备挂载点 挂载所有设备 /etc/fstab文件中记录了系统里挂载的设备及其文件系统等资料,可以一次将/etc/fstab内的每一项都挂载上 mount -a
  • 32. 挂载和卸载本地磁盘挂载本地磁盘的命令 mount -o 指定挂载文件系统的参数 ro 挂载为只读的系统 rw 挂载为可读写的系统 loop 将映象文件(image)挂载到系统当中 -t 指定文件系统类型 ext3 ext2 vfat
  • 33. 如要挂载下列五个设备的话,其执行指令可能是 (假设都是Linux的ext2系统,如果是Win XX的话,请将ext2改成vfat):  1. 软盘 ===>mount -t ext2 /dev/fd0 /mnt/floppy  2. MO ===>mount -t ext2 /dev/sda /mnt/mo  3. cdrom ===>mount -t iso9660 /dev/cdrom /mnt/cdrom  4. SCSI cdrom ===>mount -t iso9660 /dev/sdb /mnt/scdrom  5. SCSI cdr ===>mount -t iso9660 /dev/sdc /mnt/scdr
  • 34. Mount /mnt/floppy——Red Hat 9.0 Mount -t vfat /dev/fd0 /mnt/floppy Mount /dev/sda1 /hrq-------Red Hat 9.0
  • 35. 最后需要注意的是: 1.执行mount动作时先打一下pwd看看现在的目录是不是在挂载点,如果现在目录在挂载点的话,mount (或umount)不会成功 (会显示device is busy)。 2.想卸载某设备的语法是umount 目录名,例如umount /mnt/cdrom等。
  • 36. 挂载和卸载本地磁盘(续)卸载本地磁盘的命令 umount f 参数可以强制卸载文件系统 r 参数可以在卸载文件系统失败的时候把系统重新加载为只读
  • 37. umount /mnt/floppy umount /mnt/cdrom
  • 38. 用fsck检查文件系统完整性文件系统很复杂,因此易于发生错误。可以用fsck 命令检查文件系统是否正确和有效。它可以根据指令修复找到的小错误,并将未修复错误报告用户。 大多数系统设置为启动时自动运行fsck ,因此任何错误将在系统使用前被检测到(并根据希望修正)。
  • 39. 如果文件/etc/fastboot存在,就不检查。 如果标记指出unmount正常完成(假设正常unmount指出没问题),e2fsck (fsck 的ext2文件系统版) 就不检查系统。 自动检查只对启动时自动mount的文件系统发生作用。使用fsck 手工检查其它文件系统,比如软盘。
  • 40. 对所有文件系统的其它工具df (Disk Free)显示一个或多个文件系统的空闲磁盘空间。 du (Disk Usage)显示一个目录和其内的所有文件使用了多少磁盘空间。这用于发现磁盘空间浪费。 sync 强制将磁盘缓冲的所有未写块写入磁盘。这一般无须手工完成,由守护进程update 自动完成。这在有些情况下很有用,例如,如果update 或其辅助进程bdflush  死了,或你不能等运行update 必须马上关闭电源。