linux02开机流程及运行级别

上传人:ll****x 文档编号:243021888 上传时间:2024-09-14 格式:PPT 页数:51 大小:233KB
返回 下载 相关 举报
linux02开机流程及运行级别_第1页
第1页 / 共51页
linux02开机流程及运行级别_第2页
第2页 / 共51页
linux02开机流程及运行级别_第3页
第3页 / 共51页
点击查看更多>>
资源描述
请您按击鼠标,编辑标题文的格式。,请您按击鼠标,编辑大纲正文格式。,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,Lesson02Linux引导与关机,内容提要,第一次登录,基本命令,正确的关机方式,Linux,引导内幕,引导加载程序,启动脚本,第一次登录,第一行显示的是你的Linux Distribution与版本,第二行显示的是Linux内核版本,以及你的硬件等级 ( i686 ),主机名称,登录名称,要进入图形模式,输入startx再回车即可,注意密码的输入没有回显,第一次登录,如何退出?,输入,exit,,回车,输入,logout,,回车,注意:没有关机,只是结束当前作业,第一次登录,如果启动图形界面则看不到上面的文字登录框,如何使用命令?,图形模式与文字模式切换,Ctrl+Alt+F1,F6,文字界面,tty1,tty6,Ctrl+Alt+F7/F8,图形界面,使用终端,屏幕上点击鼠标右键,选择“新建终端”,重启到文字模式,输入命令,init 3,回车即可,修改配置文件,使得默认启动到文字模式,在命令行输入,gedit /etc/inittab,回车,把第一行由,id:5:initdefault:,修改到,id:3:initdefault:,,保存后重启,基本命令,命令的输入格式为:,command -options param1 param2 .,命令 选项 参数,1,参数,2,区分大小写,command,为命令的名称,中括号不存在,只是表示可选,进行参数设定时,通常为“,-”,,若为完成参数名称,则输入“,-”,符号,参数可谓选项的参数,或者命令的参数,command,-options,param,这几项之间以空格隔开,空格无论多少,都视为,1,个,指令太长时,可以使用“,”,继续到下一行,基本命令,举例:空格与选项、参数,roothexy # ls -al /root,roothexy # ls -al /root,举例:大小写,Date,date,DATE,有何不同?,基本命令,显示日期的命令:,date,直接输入,date,hexyhexy $ date,2007,年,08,月,30,日 星期四,05:02:12 CST,显示年月日,hexyhexy $ date +%y/%m/%d,07/08/30,hexyhexy $ date +%Y/%m/%d,2007/08/30,显式小时和分钟,hexyhexy $ date +%H:%M,05:08,hexyhexy $ date +%h:%m,8,月,:08,基本命令,在线求助命令:,man,格式:,man commandName,用法:,空格或者,Page Down,键向后翻页,Page Up,键向前翻页,输入“,/,单词”来查询关键词或者词组,这里不区分大小写,通过,SEE ALSO,部分可以查看相关的命令,通过,q,键退出,Home,键回到最前面,End,键至末尾,回车键查看下一行,举例:,man date,基本命令,日历显示命令:,cal,直接输入,cal,显式当前月份的日历,hexyhexy doc$ cal,输入,cal,年份,显式某一年的日历,hexyhexy doc$ cal 2007,输入,cal,月份 年份,显式某年某月的日历,hexyhexy doc$ cal 8 2007,基本命令,错误信息的查看,万一输入了错误的指令怎么办?可以藉由屏幕上的错误信息发现问题所在。如:,hexyhexy $ DATE,bash: DATE: command not found,表明指令找不到,也就是系统上没有,DATE,这个指令,又如:,hexyhexy $ cal 13 2002,cal: illegal month value: use 1-12,错误信息提示月份超出范围了。,基本命令,简单计算器:,bc,直接输入表达式,回车即计算结果,默认只显示整数值,输入,quit,回车即退出,基本运算符:,+,加法,-,减法,*,乘法,/,除法,指数,%,余数,输入,scale=,数字,控制小数点的位数为你需要的数字,基本命令,如何终止命令执行?,q,:很多命令的默认退出命令就是输入,q,键,如,man,或者,more,等命令,按下,Ctrl+c,例如:,hexyhexy $ find / -name *a*,正确的关机方式,Linux,下面强烈建议不要通过直接关闭电源的方式来关机!,Linux/Unix,系统经常掉电可能比,Windows,还要严重!极有可能导致文件系统的损坏!,可以通过,who,命令查看当前使用系统的用户。,使用正确的关机指令:如,shutdown,或者,reboot,关机之前最好强制将缓存写入硬盘,正确的关机方式,命令:,sync,在,Linux,系统中,为了加快数据的读写速度,默认的情况下,某些数据将不会直接被写入硬盘,而是先暂存在内存当中,如此一来,如果一个数据被你重复的改写, 那么由于他尚未被写入硬盘中,因此可以直接由内存当中读取出来,在速度上一定是快上相当多的。不过,万一当你重启或者是关机,或者是不正常断电的情况下,由于数据尚未被写入硬盘当中,所以就会造成数据的更新不正常。这个时候就需要,sync,命令来把缓存中的数据写入硬盘中。所以,在系统关机或重启之前,最好多执行几次,sync,。,正确的关机方式,命令:,shutdown,shutdown,会通知系统内的各个进程,并且将通知系统中的系统,run-level,内的一些服务来关闭。,Shutdown,可以实现:,可以自由选择关机模式:是要关机、重启或进入单用户模式均可。,可以设定关机时间,:,可以设定成现在立刻关机,也可以设定某一个特定的时间才关机。,可以设置关机信息:在关机之前,可以将自己设定的消息传送给在线用户。,可以仅发出警告信息:有时有可能你要进行一些测试,而不想让其它的使用者干扰,或者是明白的告诉使用者某段时间要注意一下!这个时候可以使用,shutdown,来吓一吓使用者,但却不是真的要关机,可以选择是否要,fsck,检查文件系统 。,正确的关机方式,命令:,shutdown,shutdown -t,秒数, -rkhcfF,时间,信息,-t,秒数 意思是动作在,XX,秒之后开始执行,-k,意思是不要真的关机,只是发送警告信息,-r,意思是在系统的服务停止之后重新启动,-h,意思是在系统的服务停止之后关机,-f,意思是重新启动后略过,fsck,工具的磁盘检查,-F,意思是重新启动后执行,fsck,工具的磁盘检查,-c,意思是取消已经在运行的,shutdown,命令,时间可以是,now,代表立即执行,hh:mm,今天的几点几分,+mm mm,分钟之后,,now,等价于,+0,正确的关机方式,命令,shutdown,举例,shutdown -h now,立刻关机,shutdown -h 20:25,系统在今天的,20:25,分会关机,shutdown -h +10,系统再过十分钟后自动关机,shutdown -r now,系统立刻重启,shutdown -r +30 The system will reboot,再过三十分钟系统会重新开机,并显示后面的信息。,shutdown -k now This system will reboot,仅发出警告信息,吓唬人!,正确的关机方式,简单命令,reboot halt poweroff,reboot,其实与,shutdown -r now,几乎相同。不过,建议在关机之前还是将数据回填的指令下达一次再说:,roottest root# sync; sync; sync; reboot,halt,和,poweroff,都是用来关机的,一般在忘记了,shutdown,怎么用的情况下使用。,Linux引导内幕,引导是开机的专业术语,引导的主要任务,加载内核到内存,执行各种初始化,Linux,的引导方式,自动方式:无须管理员干预,手动方式:系统先自动执行一些过程,然后在运行大多数初始化脚本之前,把控制权力交给管理员。这时候计算机处于单用户模式。通常在系统出现故障时才使用手动方式。,Linux引导内幕,典型的引导过程:,加载并初始化内核,检测和配置设备,创建自发的系统进程,管理员参与(如果是手工引导),执行系统初始化脚本,多用户使用,Linux引导内幕,阶段,1,:加载并初始化内核,内核也是一个程序,它的路径通常是,/vmlinuz,或者,/boot/vmlinuz,,现在的,Linux,版本通常是在,/boot/vmlinuz-,内核版本号,然后让,/boot/vmlinuz,链接到它。,加载分为两个阶段:,计算机加电后,执行存储在,ROM,中的引导代码,然后,ROM,反过来从磁盘加载引导程序到内存。这里与,Linux,无关。,引导程序载入,Linux,内核,内核执行内存检测以确定有多少,RAM,可用。内核为自己划分一块固定大小的实际内存空间,这部分空间只有内核能够用。,Linux引导内幕,阶段,2,:检测和配置设备,内核的第一项任务是就检查机器的环境以确定计算机包含哪些硬件。,内核开始执行时,它试图找到并初始化已经告诉它的每一个设备。大多数内核为它们所找到的每一个设备打印一条专门的信息。,现在的,Linux,内核,大多数都能够通过探测设备总线来自动检测硬件变化,并试图找到匹配的驱动程序。,那些没有检测到设备或者没有响应探测的驱动程序或者没有找到驱动程序的设备都将禁用。,Linux引导内幕,阶段,3,:创建自发的系统进程,一旦完成硬件配置,内核就会创建几个“自发”进程。也就是说,这些进程不是由系统的,fork,机制创建的。,在,linux,上,看不到进程,ID,号(,PID,)为,0,的进程。进程,init,的,PID,一定为,1,,其父进程的,ID,号(,PPID,)为,0,。其他的自发进程包括内存和硬盘数据的处理进程,如,kflushd kupdate kpiod kswapd,等,一旦自发进程创建完毕,内核在引导阶段的任务就完成了。但是大多数,Linux,的,daemon,进程都没有创建,所以现在还不能处理如用户登录之类的事情。,Linux引导内幕,阶段,4,:管理员参与(如果是手工引导),如果系统以单用户模式进行引导,那么在,init,启动时,内核会通知,init,实际要引导的是单用户模式。,init,进程最后会把控制权交给,sulogin,,,sulogin,提示用户输入,root,口令。如果密码输入正确,系统将生成一个,root shell,。用户可以按下,Ctrl+D,绕过单用户模式而继续进入到多用户模式。,在,root shell,中,系统通常只安装了,root,分区,需要其他分区时管理员必须手工安装,而且可能还需要手工执行,fsck,命令以检查和修复文件系统。,退出该,root shell,时,系统将继续引导进入多用户模式。,Linux引导内幕,阶段,5,:执行系统初始化脚本,由,init,根据一定的算法来选择并运行启动脚本。,Linux引导内幕,阶段,6,:多用户使用,为了响应用户登录请求,必须有一个,getty,进程监听终端或者控制台。,init,进程直接生成这些,getty,进程,完成引导过程。,init,还可以根据需要,生成图形登录系统,例如,xdm,或者,gdm,。,引导加载程序,Linux,有两种流行的引导加载程序:,LILO,:传统的,Linux,引导加载程序,非常稳定而且有丰富的文档。,LILO,的安装与配置需要分成两个步骤,设定,/etc/lilo.conf,这个配置文件,用,lilo,命令改写,MBR,或者,super block,GRUB,:,Linux,引导加载程序的新贵,更加灵活而复杂,基本垄断了新的,Linux,发行版本。,修改配置文件,/boot/grub/grub.conf,即可,LILO的开机信息写入到/dev/hda这块硬盘的MBR当中。如果是Super Block,那么必须使用逻辑分区的代号,如/dev/hda5,引导加载程序,配置文件,/etc/lilo.conf,详解:整体设置部分,prompt,Compact,delay=50,default=linux-2.4.7,boot=/dev/hda,map=/boot/map,install=/boot/boot.b,Linear,Lba32,Password=1234567,message=/boot/message,强制出现boot的开机信息,可以整合一些读取的扇区,使得map较小,适合软盘启动时使用,等待用户输入的时间延迟,单位是0.1秒,超时则使用default启动,没有default则用第一个label,主机的地图信息以及boot sector的信息,在使用较大容量的硬盘时,可以加入这两个参数试试看,设置进入LILO的密码。,设置关于LILO的信息。,引导加载程序,配置文件,/etc/lilo.conf,详解:个性设置部分,image=/boot/vmlinuz-2.4.7-10,label=linux-2.4.7,read-only,root=/dev/hda1,other=/dev/hdb1,label=Windows2k,用来引导的内核,可以有多个,启动菜单显示的文本,注意用TAB隔开,开机扇区挂载为只读,装载为根目录的磁盘,如果是非Linux内核就以other来设定引导磁盘扇区,同样的要有label 来表示这个引导扇区的名称,引导加载程序,LILO,的安装,在准备好配置文件之后,,lilo,的安装非常简单,只要在命令行输入,lilo,回车即可。该命令会自动寻找,/etc/lilo.conf,文件来进行安装,如果该文件不存在,则显示“,/etc/lilo.conf : No such directory”,。如果找到则显示安装的,label,,并在默认,label,后面打“,*”,。如:,root hexy # lilo,Added linux-2.4.7 *,Added Windows2k,引导加载程序,LILO,的使用,如果安装好了,LILO,,当系统引导时,,LILO,会打印如下的提示符:,LILO,:,用户可以按下,TAB,键以显示已经定义好的,Label,LILO,:,linux-2.4.7 Windows2k,LILO:,可以直接输入,label,启动需要的系统,如果达到超时限制用户都没有如何输入,那么将直接采用,default,进行引导,引导加载程序,使用,LILO,注意事项,成功运行,lilo,之前不要重启系统!,最好先运行,lilo -t,来测试配置而不是真正安装,如果一切正常,再用,lilo,命令进行安装,引导加载程序,使用,GRUB,的好处,GRUB,可以让您在开机的时候自行编辑与修改启动配置项,有点像是,bash,的指令模式;,GRUB,可以自动动态寻找配置文件,亦即它可以依据,/boot/grub/grub.conf,的内容而改变其设置。因此,修改启动配置只要改,/boot/grub/grub.conf,即可,不需要再重新安装,GRUB,!,注意:很多,Linux,发行版本都建立了该配置文件的链接,/boot/grub/menu.lst,/etc/grub.conf,引导加载程序,GRUB,的硬盘代号,GRUB,里面的硬盘代号与,LILO,还有,Linux,传统的代号不一样,他的代号有点像如,(hd0,0),hd,指的是,IDE,的硬盘,而里面的第一个,0,代表他是第一个,IDE,的,master,,而第二个,0,代表他是第一块分区,所以这个代号就是,hda1,引导加载程序,GRUB,的配置文件,/boot/grub/grub.conf,default=1,timeout=5,splashimage=(hd0,1)/grub/splash.xpm.gz,hiddenmenu,title CentOS (2.6.18-8.el5),root (hd0,1),kernel /vmlinuz-2.6.18-8.el5 ro root=LABEL=/ rhgb quiet,initrd /initrd-2.6.18-8.el5.img,title WindowsXP,rootnoverify (hd0,0),chainloader +1,设置默认系统,第一个为0,超时设置,单位为秒,背景图片,设置,隐藏引导加载选择菜单,第一个启动配置,启动根目录所在磁盘,内核位置,引导扇区所在磁盘,引导加载程序,GRUB,的安装过程,输入,grub,开始配置过程,使用,root ,磁盘代号,选择启动根目录所在磁盘代号,使用,setup ,磁盘代号,选择,MBR,或,Super block,直接安装,使用,quit,离开,grub,引导加载程序,GRUB,安装实例:,SuperBlock,引导加载程序,GRUB,安装实例:,MBR,引导加载程序,常见引导问题的处理:,问题,1,:安装好了,Linux,之后,在开机的过程中却只出现”,LI”,就不动了!怎么办?,这个问题可能发生的原因是,LILO,没有设定好,或者是由于,Linux,安装在非,/dev/hda ( MBR ),的硬盘之中, 解决的方法可以如下:,1.,用,Linux,光盘开机,然后在出现,boot:,处输入,linux root=/dev/hda1,(记得,linux,安装在哪个分区?)顺利开机之后,以,vi,修改,/etc/lilo.conf,将,linear,这一行取消(如果没有这一行的话,那就在,lilo.conf,中加入吧!)然后执行,lilo,再取出光盘并重新开机试试看;,(待续),引导加载程序,常见引导问题的处理:,问题,1,(续),2.,进入,BIOS,,将硬盘的,mode,改成,LBA,试看看;,3.,将,Linux,往前面一点的扇区安装,例如你可能安装在,/etc/hdc1,,那你可以重新安装,Linux,在,/dev/hda2,试看看,制作启动盘的办法:,安装时制作,采用命令,root hexy root# mkbootdisk -device /dev/fd0 uname -r,Insert a disk in /dev/fd0. Any information on the disk will be lost.,Press to continue or C to abort:,引导加载程序,常见引导问题的处理,问题,2,:我不要玩,Linux,了,如何移除,LILO,?,只要以,Windows,或者,DOS,启动盘启动系统,然后输入:,fdisk /mbr,就可以将,LILO,自,MBR,当中移除。,问题,3,:无法正常的进入,LILO,怎么办?,使用,Linux,启动盘启动,在出现,boot:,的时候,输入,linux -s,就可以启动了。这里请特别注意,那个,linux,指的是,LILO,中配置的,label,名称。,-s,指的是进入单人维护模式登入。,启动脚本,init,执行,内核加载之后,由内核执行的第一个程序就是,/sbin/init,。而这个程序第一个目标当然就是确定主机是要以那种模式(通常叫,run level,)登录。这个时候就必须要以,/sbin/init,来加载,/etc/inittab,的信息。,Linux,到底有那些,run level,(运行级别)?,可以打开,/etc/inittab,来看看,启动脚本,执行级别,(,来自,/etc/inittab),# 0 - halt (Do NOT set initdefault to this),# 1 - Single user mode,(类似于安全模式),# 2 - Multiuser, without NFS (The same as 3, if you do not have networking),# 3 - Full multiuser mode,# 4 - unused,# 5 - X11,# 6 - reboot (Do NOT set initdefault to this),id:5:initdefault: #,设置默认执行级别,常用的就是,3,和,6,,千万别把,initdefault,设置到,0,和,6,启动脚本,机器引导时,,init,从运行级,0,开始一级一级往上运行到,/etc/inittab,中所设置的默认级别。,/etc/inittab,定义了系统进入每一个级别时要运行的命令,并且为相邻运行级别的过渡进行了控制。,启动脚本,init,的第一个执行内容,/etc/rc.d/rc.sysinit,设置主机名称,设置,PATH,设置网络状态,启动,SWAP,检查文件系统(上次是否正常关机?),设置系统参数(,/proc,),检查、挂载文件系统,设置时钟,将启动信息用,dmesg,写入到,/var/log/dmesg,中,启动脚本,init,执行运行级的各脚本,在,/etc/rc.d,目录下面可以看到,8,个目录和,3,个文件,目录,rc0.d,rc6.d,分别代表了各个,run-level,需要执行的脚本。而在这些目录中的文件都是以,S,或者,K,开头,并接两位数的数字与该服务的名称所组合而成的。这些文件全部是链接文件,均指向到,/etc/rc.d/init.d,这个目录下的系统服务名文件。这些脚本都能识别,start stop restart,参数。,S,开头表示启动该服务,,K,开头表示杀死该服务,而两位数字则代表执行顺序。例如,S12syslog,会比,S90crond,更早被执行。,启动脚本,init,执行运行级的各脚本,当,init,从低的运行级别向高的运行级别过渡时,它安装数字递增地运行所有以,S,开头的、带有,start,参数的脚本。,当,init,从高的运行级别向低的运行级别过渡时,它按照数字递减地运行所有以,K,开头的、带有,stop,参数的脚本。,脚本的目录由当前运行级别决定,例如运行级别为,3,,则目录是,/etc/rc3.d/,初始化脚本执行之后,最后执行,/etc/rc.d/rc.local,,通常进行个性化设置。可以说,,rc.local,是作为启动过程的一部分最后运行的脚本。,启动脚本,RedHat,系列的特殊功能,一旦看到“,Welcome to Red Hat Linux”,这则消息,用户可以按下“,i”,键进入确认模式,控制启动过程,注意:,Red Hat,并没有让用户确认是否已经按下了正确的键,它继续安装本地文件系统、激活,SWAP,分区、加载键映射文件并定位它的内核模块,只有当它运行到级别,3,时,才真正提示用户进行确认。,启动脚本,切换运行级别的命令,telinit,init,命令之后直接跟目标运行级别即可。,举例:(除了不太友好之外,跟,reboot,功能几乎一样),小结,如何正确开关机,引导过程,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!