分享
 
 
 

FreeBSD连载(10):系统启动脚本

王朝system·作者佚名  2006-11-23
窄屏简体版  字體: |||超大  

系统启动脚本内核探测过系统硬件之后,就启动进程0和进程1,进程0用于清除内存,将所有的内存单元置零,进程1为init进程,将负责启动系统和各种守护进程。init将系统带入多用户状态,并按照/etc/rc启动脚本启动服务程序。

/etc/rc启动脚本将完成很多非常重要的工作,包括设置磁盘交换、检查磁盘错误、设置网络界面,启动网络服务程序等非常重要的工作。/etc/rc文件将也将执行另外的rc文件,如执行rc.conf用于大部分系统参数的设置,rc.network用于网络设置,rc.firewall用于设置防火墙,以及rc.local,用于管理员对本机特定的启动设置等。其中rc.conf文件中包含了用户能够更改的很多设置参数,这些设置参数在其他rc文件中使用,用于配置系统的参数,因此对系统管理来讲最为重要。

由于大部分服务器程序都是网络程序,因此如果系统的网络设置不正确,这些服务程序将不能正常执行(例如sendmail)。而且有些程序的超时设置的很长,因此出现错误时会出现系统停留在某个程序上不再继续执行。一般可以不必理会,等待程序超时退出即可,或者可以尝试使用Ctrl-C中断该程序。如果启动脚本真的出现无法继续执行的错误,如果能够通过网络登录,可以先登录进系统再更改启动脚本,而大部分正在执行启动脚本的情况下,网络服务并没有启动,那么就必须重新启动系统进入单用户状态,再修改启动脚本来纠正错误。

#! /bin/sh

swapfile="NO" # Set to name of swapfile if aux swapfile desired.

apm_enable="NO" # Set to YES if you want APMenabled.

pccard_enable="NO" # Set to YES if you want to configure PCCARD devices.

pccard_mem="DEFAULT" # If pccard_enable=YES, this is card memory address.

pccard_ifconfig="NO" # Specialized pccard ethernet configuration (or NO).

local_startup="/usr/local/etc/rc.d /usr/X11R6/etc/rc.d" # startup script dirs.

上面是/etc/rc.conf的部分内容,可以看出参数的设置形式,相应的设置值都给出了提示,使得更改这些参数设置非常容易。rc.onf中的大部分设置可以通过/stand/sysinstall系统安装程序来进行设置,但也有部分参数不能通过sysinstall进行设置,必须通过手工修改这个文件来完成。按照FreeBSD的习惯,这些rc文件,rc.conf用于参数配置,可以由sysinstall安装程序和管理员更改,rc.local中定义这台计算机特定的启动命令,可以由管理员重新设置,而其他rc文件应该保留不变。这只是一种习惯做法,而非硬性规定,然而遵从习惯的好处是系统设置比较清晰,便于系统维护和管理,并且当管理员进入一个新系统中,能立即找到需要的配置文件。

在版本3.1-release之前,/etc/rc.conf中包括了所有参数设定,这样在系统长期运行之后,就无法区分哪个参数为缺省值,哪个参数为管理员更改过的值。在3.1-release中,rc.conf划分为两个文件,/etc/default/rc.conf和/etc/rc.conf,其中/etc/default/rc.conf是设置各个参数的系统缺省值,而/etc/rc.conf仅仅设置本地系统在安装和运行过程中更改的参数,例如hostname等,因此3.1-release之后的/etc/rc.conf文件中的内容较少。事实上/etc/default/rc.conf中不但设置了读取/etc/rc.conf文件中的设置,还包括读取/etc/rc.conf.local文件的设置,以适应更复杂的计算机设置情况。对于一般的情况,用不到那么复杂的设置文件,仅仅注意/etc/rc.conf中的设置就满足设置要求了。

BSD Unix传统上只使用rc.local来维护本机特定的启动命令,这样如果系统在启动时需要配置的内容过多,这个文件就会变得相当庞大,不利于系统维护。Unix System V风格的系统使用启动目录而非文件来维护启动命令,每个启动一个特定功能的设置被放入一个单独脚本中,然后将所有的脚本都放入启动目录中,系统启动时逐项检查这个目录中的执行脚本,自动执行这些命令。

System V和BSD的启动管理有很大不同,System V引入了启动级别的概念,可以有6种不同的启动级别,而BSD只简单的分为多用户状态、单用户状态和停机状态3种。在启动的管理方面,System V比BSD更友好一些。

因此FreeBSD吸取System V中的启动目录的思想,在rc.conf中定义了本计算机的系统启动文件存放的目录local_startup参数,缺省使用/usr/local/etc/rc.d目录存放服务器程序的启动脚本,使用/usr/X11R6/etc/rc.d目录存放本地X Window相关的程序启动脚本。这些目录中的以sh结尾并具备执行属性的shell脚本程序将在启动时被自动执行。这两个目录中的脚本程序也是由系统管理员设置和修改的,必须以 “.sh” 结尾,其他后缀的文件将被忽略。习惯上这两个目录里的脚本程序负责启动服务器程序,而rc.local主要用于调整系统的一些非标准参数设置(rc.conf中没有涉及的设置)。

未完,待续。。。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有