您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 四川大学 linux 第2章 Linux管理基础
第2章Linux操作系统管理基础刘循2.1系统引导、运行与系统关闭2.1.1系统引导当计算机打开电源后,Linux系统开始了引导过程。该引导过程主要由以下步骤构成:•从开机到自检完成进入操作系统引导当计算机打开电源后,CPU以实模式运行BIOS自检程序。BIOS自检程序首先在物理地址0处开始初始化中断向量,将中断处理程序的各个中断向量装入到内存的低1024个字节单元。CPU执行类型为19H的初始引导中断程序,执行BIOS所带的系统初始化程序,从启动盘读取并将操作系统的引导程序Bootsect.S加载到内存。Bootsect.S程序按照CMOS中预先设置的启动盘启动顺序查找相应盘的主引导记录MBR(MBR:masterbootrecord:磁盘中的0磁道、0扇区部分代码,该代码包括系统的初始化程序加载器、分区数据表和验证码)。在磁盘中找到系统的初始化程序加载器,则将其读到内存0000:7C00处。2.1系统引导、运行与系统关闭•从装入系统核心程序到建立核心环境过程执行磁盘中系统的初始化程序加载器,并将系统核心程序装入内存。在Linux系统中,有两种类型的引导加载器:LILO(LinuxLoader)和GRUB(GrandUnifiedBootLoader)。LILO是最老的Linux引导加载器,使所有Linux发行版的标准组件。GRUB来源于GNU支持,是一种新的引导加载器。除GRUB具有交互命令界面、支持网络引导外,这两种加载器没有本质上的区别。2.1系统引导、运行与系统关闭引导加载器的功能主要是把Linux内核可执行代码写入内存,同时把引导加载器本身的执行代码写入引导分区,并将引导加载器配置信息存入文件/etc/lilo.conf。在引导加载过程中,setup.s程序将BIOS自检返回的系统参数,如关于内存、磁盘等信息的参数,拷贝到特别的内存中,以便以后这些参数被保护模式下的代码来读取。同时,setup.s程序还将用于检测和设置显示器和显示模式的文件video.s中的代码包含进内存,并将系统转换到保护模式,建立核心环境。当内核太大时,初始进入内存的内核是经过压缩的,在进入内存后再解压。当装入系统核心程序后,Linux开始执行系统核心代码,得到CPU的控制权。2.1系统引导、运行与系统关闭•从初始化程序到启动服务过程系统核心程序调用初始化函数init(),启动系统的初始化(init)过程。系统运行初始化程序生成一系列的初始进程,最后读取配置文件/etc/inittab中设置的系统运行级,设置系统环境,启动各种守护进程,等待用户登录。从系统的引导过程可见,三个汇编程序:Bootsect.S、setup.s和video.s的发挥了很大的作用;19H号中断也称为磁盘自举中断或者重引导中断(rebootinterrupt)。在Linux系统的正常使用中,如果按下Ctrl+Alt+Del键,系统就会执行19H号中断,重新引导系统。2.1系统引导、运行与系统关闭2.1.2系统运行级1.运行级系统运行级是系统运行时所处的一种状态,不同的运行级在用户登录及使用上有一定的限制。通常Linux有10个运行级,如表2.1所示。2.1系统引导、运行与系统关闭表2.1系统运行级定义运行级描述0关电状态。1或S单用户状态(系统管理员状态)。2多用户状态(不输出资源),用于隔离标准操作,非服务系统。3多用户状态(输出资源),用于远程文件共享,为网络服务系统的标准操作系统。4目前为使用的运行级,管理员可以定义多用户系统状态,可以在本地设置和定义。5软件重启动状态。用于可维护的活动类型及运行诊断程序,也可以从另一个替换磁盘引导。6关闭重新启动。用于拆卸系统立即重新引导到标准状态。Abc当init命令请求改变运行状态a、b或c时,不杀死当前运行级上运行的进程。只在启动新进程时为其赋予新状态。Q或Q指示initdaemon进程重读并执行inittab文件。2.1系统引导、运行与系统关闭•通常情况下,系统运行在多用户输出资源运行级,即:运行级为3。•为了文件安全,会选择不输出资源和不提供任何网络服务的运行级2。•在系统进行备份或系统出现问题而修复时,会选择运行级1。•有的操作系统版本将运行级4定义为厂家的维护模式。2.1系统引导、运行与系统关闭2.管理运行级•系统的运行级定义及管理文件为/etc/inittab文件。该文件中有系统的默认运行级及各运行级别定义。在初始化系统时,系统的初始化程序首先需要寻找该文件来确定系统的运行级。•该文件的前两行标识了在系统init进程进入运行级前运行的脚本。之后4行用于控制运行级定义。•init文件行格式为:identifier:RunLevel:Action:Command•identifier为标识符;•RunLevel为运行级。•Action为init命令应向进程实施的动作。具体的动作有:2.1系统引导、运行与系统关闭在文件中:•wait表示启动进程,在继续到下一项取得运行状态之前,等待进程结束。•once表示若进程没有执行则启动它,但不等它结束就继续下一项。•boot表示只在引导时执行该项但不等待其完成。•bootwait表示只在引导时执行该项并等待其完成。•powerfail表示当系统收到powerfailure信号时执行。•powerwait表示当系统收到powerfailure信号时执行并直到执行结束。•off表示若与该项相关的进程正在执行则杀死该进程,也用于注释不用的终止行。2.1系统引导、运行与系统关闭•ondemand只用于a、b、c运行级,与respawn类似。•initdefault用于指出默认运行级,必须处于文件的第一行,且只列出一个运行级。•sysinit用于激活在试图访问系统控制台时需要完成的进程。•Command表示要执行的Shell命令。2.1系统引导、运行与系统关闭3.选择运行级•选择运行级在系统初始化时进行,此处选择的是系统的默认运行级。•如果在系统运行中需要改变运行级,也可以借助于命令进行选择。常用/sbin/init命令或/etc/telinit命令来寻则系统的运行级。•使用/sbin/init命令或/etc/telinit命令可以不用修改/etc/inittab文件中的默认运行级定义而只需重新引导系统,就能改变正在运行系统的运行级。•当/sbin/init命令或/etc/telinit命令赋予系统一个新的运行级时,则读取/etc/inittab文件并为该特定运行级执行所有的运行控制脚本。但如果/etc/inittab文件不存在,系统就只能引导成单用户模式。2.1系统引导、运行与系统关闭/sbin/init命令格式为:/sbin/initn/etc/telinit命令格式为:/etc/telinitnn为选择的运行级。4.查看系统的运行级用命令who–r可以查找系统的运行级,同时系统还会显示上次改变运行级的日期和时间。$who–rrunlevel3Sep813:3530S$2.1系统引导、运行与系统关闭5.运行控制目录控制运行级运行的脚本位于目录/etc/rc.d/rc#.d目录中,其中#代表运行级。这些脚本也被称为RCShell脚本,其主要功能是执行用于为被选运行级启动服务。2.1系统引导、运行与系统关闭在系统引导时rcShell脚本所作的工作有:设置计算机主机的名字和IP地址。配置网络接口。检查文件系统。安装文件系统。从/tmp目录中删除文件。设置区域时间。启动daemon。启动网络服务。启动应用。2.1系统引导、运行与系统关闭例如:初始化进程选择运行级3时,则执行/etc/rc.d/rc3.d目录中的文件。这些文件包含启动和关闭所有与该运行级相关功能的脚本。因此,rcShell脚本的设计目的是传递参数start和stop给系统初始化进程。当调用一个带start参数的脚本时,该脚本以提问方式启动服务;当调用一个带stop参数的脚本时,该脚本停止服务进程。另外还可以通过编写函数的方式,在引导或关闭过程序列中指定具体开始或停止服务的位置。2.1系统引导、运行与系统关闭目前有7个运行控制目录可供系统选择:(1)/etc/rc.d/rc0.d用于停止系统的脚本。(2)/etc/rc.d/rc1.d用于单用户或维护方式的脚本。(3)/etc/rc.d/rc2.d进入多用户模式的脚本。(3)/etc/rc.d/rc3.d用于启动网络文件共享服务的多用户模式的脚本。(4)/etc/rc.d/rc4.d用于厂商提供的系统维护模式的脚本。(6)/etc/rc.d/rc5.d由用户定义,系统未用。(7)/etc/rc.d/rc6.d用于重引导系统的脚本。2.1系统引导、运行与系统关闭6./etc/init.d目录该目录包含操作系统为进程提供的初始化和终止脚本。在系统中可以使用这些脚本为进程传递start或stop参数。下面是/etc/init.d目录的一个实例。ANNOUNCEautoinstallinetsvcrpcsyslog.origMOUNTFSYSbuildmnttablpsendmailufs_quotaCronstandardmountsREADMEdevvlinkssyssetupvolmgtdrvconfignfs.clientnfs.serversysid.netsysid.sysacctinetinitrootusersyslogperfaudit在/etc/init.d目录中每个脚本都有一条case语句接收start或者stop变量。例如当需要执行文件/etc/init.d/nfs.serverstart时,case语句指向/etc/rc2.d/S70nfs.server。2.1系统引导、运行与系统关闭7.系统引导操作•打开Linux主机电源,在系统硬件设备自检通过后出现了固化程序提示符“okPROM”,这时开始引导系统进入不同运行级。•如果需要进入多用户状态,在提示符okPROM后输入boot并回车;•如果需要进入单用户状态,在提示符okPROM后输入boot-s并回车;•如果需要对系统文件或内核作临时更改,则使用交互式引导,在提示符okPROM后输入boot-a并回车,进入交互式引导模式;2.1系统引导、运行与系统关闭•如果需要忽略引导进程,则不会出现okPROM,要使用特定功能健Stop-A;•如果需要进入系统监控程序,则出现监控提示符“”后输入n得到ok提示符;•如果系统引导信息存放在文件/var/adm/messages中,要查看引导消息,则可以用命令:/usr/sbin/dmesg或more/var/adm/messages而不要直接打开文件/var/adm/messages进行查看。2.1系统引导、运行与系统关闭2.1.3系统关闭1.系统关机Linux不允许直接关掉电源,必须执行关机命令,在系统完成了关闭操作之后才可以断电。只有超级用户才有权执行关机命令。关闭系统可分为三种情形:关掉电源、不关电源年只关机、重新引导。关闭系统的命令有shutdown、halt、reboot、init、telinit2.1系统引导、运行与系统关闭2.shutdown命令使用shutdown命令关闭操作系统。该命令向所有的系统用户发出关闭系统的通知,默认情况下等待60秒后关闭系统。命令格式如下:shutdown[-ffile|mesg][-gtime][-iinit-level][-y]其中:file:文件中包含有shutdown第一步中系统管理员发给所有终端用户的消息;time:等待关机的时间,缺省为60秒;init-level:将系统转入的运行级别。默认情况下转入0级;y:对所有的交互问题均以yes回答。在不同系统中可能shutdown命令的路径不同,在执行该命令时需要根据具体的系统查找该命令的路径。2.1系统引导、运行与系统关闭3.halt命令halt命令用于立即关机。该命令不会给系统用户发出关机通知。halt命令不严格执行rc关闭脚本中的规定,不是一种最佳的系统关
本文标题:四川大学 linux 第2章 Linux管理基础
链接地址:https://www.777doc.com/doc-4076739 .html