slackware启动脚本详解

豆豆网   技术应用频道   2006年08月11日  【字号: 收藏本文

本文详细介绍slackware启动脚本详解

  • 决定内核版本,到目录”/lib/modules/你的内核版本号/“去寻找模块
  • 更新内核模块依赖关系。
  • 装入APM高级管理,它被注释掉了,建议你启用它以正常关机。
  • 一大堆被注释掉了的硬件模块,如果hotplug找不到你的硬件就到这里来。

  rc.S执行完成后,slackware将执行缺省的运行级(3),也就是先执行rc.M(多用户进程级)。

  • 设置黑屏时间。
  • 设置主机名,主机名存储在/etc/HOSTNAME里,缺省为darkstar.example.net。
  • 设置dmesg缓冲区的大小。越多越好。
  • 执行rc.syslog,打开syslog和klogd。
  • 执行rc.pcmcia,初始化PCMCIA卡,我不懂。
  • 执行rc.inet1,设置网络。重点。
  • 执行rc.hotplug,即插即用。
  • 执行rc.inet2,网络守护进程。重点。
  • 把所有的锁文件删掉。
  • 把黑洞设备和临时目录设成777。
  • 运行ldconfig,更新共享库,我喜欢关掉。
  • 更新X字体缓存,关掉吧。不过安了新字体后自己要手动运行一次”fc-cache"而已。
  • 执行rc.CUPS,UNIX打印守护进程。
  • 打开appletalk。关了吧。
  • 打开用户限额。请看/usr/doc/Linux-HowTOs/Quota。
  • 执行rc.acpid。高级能源管理。
  • 执行rc.alsa。alsa声音系统。
  • 执行rc.font。用户自己的字体。
  • 执行rc.keymap。用户自己的keymap。
  • 把你的一大堆网络standalone进程打开。
  • 执行rc.gpm。字符界面上用鼠标。
  • 又执行rc.sysinit一次。BUG?
  • 执行rc.local。最后,执行用户你的自己的配置文件。

  rc.inet1:

  • 读入另一个脚本文件rc.inet1.conf的变量,里面有网络的基本配置。
  • 打开lo环回接口。
  • 打开eth0 eth1 eth3 eth4, 请看eth_up函数,很长。
  • 如有需要使用无线网卡。
  • 如有需要使用DHCP。

  rc.inet2

  • 启动rc.portmap,准备安装NFS文件系统
  • 安装所有smb文件系统
  • 执行rc.firewall,防火墙脚本。
  • 执行rc.ip_forward,IP转发脚本,如果你要共享上网,改它。
  • 一大堆网络服务程序(NFS,BIND,SSH,INETD)

  rc.M执行完了,init按照inittab的配置打开终端,它创建若干个agetty进程,这些进程通过系统调用执行login程序,用户密码验证成功后,再执行shell。一天的工作开始了。在这之后,init除了监视运行级的改变外,还干一些副业:收养孤儿进程。

  如果你是用的运行级4(多用户GUI运行级),init就会去执行rc.4,并打开gdm或kdm(Gnome和Kde的登录界面)。

  经验:

  1. init脚本里面请使用绝对路径,且限制PATH。
  2. 可以适当增减脚本的内容来充实功能或加快启动速度。不过你一旦挂了的话,请用init=/bin/sh或single模式开机。
  3. 就像看Linux内核源代码能增强C语言功底一样,看init脚本能提高Bash功底。
  4. 一个清晰明了的结构胜过一切描述,这也是我选择Slackware的原因。
  5. 如果说Windows是所见即所得的操作系统,那么说Unix/Linux是所要即所得的操作系统。(因为Unix/Linux在能彻底定制系统,要什么有什么)

来源:www.linuxsir.org    作者:liquid_zigong    责编:豆豆技术应用

正在加载评论...