今天是:
首 页信息查询网站SEO查询工具CSS编辑器建站素材
网海拾贝,电脑资讯,电脑快报,it资讯,网站建设资讯,教程基地
软件新闻
操作系统
Vista Winxp Win2003 Linux Windows综合
工具软件
系统工具 媒体工具 网络工具 杀毒软件 聊天
软件开发
C教程 C++ Java C# ASP.NET JSP PHP
数据库
Oracle MySQL DB2 SQL Server Sybase
安全
网络 病毒
办公应用
Word Excel Powerpoint Outlook 其他
平面设计
Photoshop Fireworks Coreldraw Flash Illustrator 3dsmax
网站运营
网站运营 网站优化 网站策划 策划书下载 建站心得 站长故事 网站盈利 网页制作 网页特效 建站素材 免费资源 QQ频道
  当前位置:首 页 >> 操作系统 >> Linux >> [玩转Linux]Linux启动全线提速法

[玩转Linux]Linux启动全线提速法

  发布于2005-11-16 21:02 来源:Linux公社

crazyboy1写著 'Linux系统是十分优秀的操作系统,但启动时间长是该系统的缺点之一。那么能否通过一些设置来缩短Linux系统的启动时间呢?当然可以。本文将向读者展示如何在不牺牲Linux系统可用性的前提下,缩短系统的启动时间。要实现这一目标,需要了解系统的各类服务及它们之间的从属关系,进而使它们在条件允许的前提下同时启动,从而大大节省系统启动时间。

准备工作

如果想采用本文介绍的方法对Linux系统进行设置,首先要熟悉Linux系统的设置语言。对系统的启动过程进行设置是一项比较危险的行为,容易造成系统无法启动。一旦发生这种情况,最好重新启动系统后选择单一用户模式,将系统还原并重启。当然,最重要的是在设置前备份重要数据。

其次,建议用户最好在对本机系统进行修改前,先进行修改测试。如果用户只有一台计算机,那么这里建议使用用户模式Linux系统(UML)进行测试。UML是一个内核补丁,它可以将Linux系统的内核转译成为二进制,以便用户可以像使用普通软件那样运行Linux系统。一旦出现意外情况,损失的只是UML,而原系统却可安然无恙。

Linux系统的启动顺序和runlevel

Linux系统的启动包括多个步骤,这里主要介绍一下内核加载后的系统启动步骤。用户可以通过运行/sbin/runlevel命令来查看系统目前的runlevel。runlevel是Linux系统用来区别系统高级启动设置类型的数字。这些数字十分常见,它们中的绝大多数都有着明确的含义。以Red Hat Linux系统为例,它的runlevel主要有以下几种(见表1):

init如何初始化系统

init可以通过一个ASCⅡ设置文件得知如何改变系统的runlevel。通常情况下该设置文件可以指引init来执行/etc/rc.d/rc命令,从而获得runlevel的相关信息。

系统服务

用户所需要的各种系统服务都是由rc指令程序来启动的。系统潜在的服务纷繁复杂。大多数Linux系统通常只提供sshd(SecureShell服务)、syslog(系统日志工具)和lpd(打印服务)等功能。

用户可以从/etc/rc.d/目录中找到所有的服务。如果打开这个目录,会发现许多服务只是一种外壳程序,它只是引导其它程序来完成工作。也许有人会问,rc程序是如何知道每个runlevel要运行哪些程序呢?答案是在/etc/rc.d/目录下面与init.d/目录并列的还有一些目录,它们各自对应着自己的runlevel。它们的名称为rc*.d/,例如runlevel 5就是/etc/rc.d/rc5.d/。每个rc*.d/目录中包含着两个符号链接,这些链接可以连接到/etc/init.d/目录中的指定服务程序。

动手改造

服务的启动和终止

如果用户决定要启动Linux系统并进入图形模式(runlevel 5),那么当init引导rc指令程序运行并将runlevel的级数告知它时,rc指令程序将对/etc/rc.d/rc5.d/进行查看,接着它将执行从该目录中找到所有链接。rc指令程序执行链接的过程可分为两部分,首先它将执行所有名称以“K”打头的链接,将“stop”参数传递给它们,并停止这些链接指向的所有服务。这些服务停止后,rc指令程序将执行所有名称以“S”打头的链接,并将“start”参数传递给它们,启动这些链接所指向的服务。

另外,rc指令程序可以根据链接名称的两个十进制数,确定链接的执行顺序,数字小的先执行。

下面将举一个例子,帮助用户加深理解。当用户启动系统进入runlevel 5时,首先要执行的链接是K05saslauthd,由于它是以“K”打头的,而且后两位十进制数要小于其它以“K”打头的链接。第一个要执行的启动链接是S05kudzu。最后执行的将是S99local。下面是runlevel 5状态下指向程序的链接。

# cd /etc/rc.d/rc5.d

# ls -al

total 8

drwxr-xr-x 2 root root 4096 Jul 15 09:29 .

drwxr-xr-x 10 root root 4096 Jun 21 08:52 ..

lrwxrwxrwx 1 root root 19 Jan 1 2000 K05saslauthd -> ../init.d/saslauthd

lrwxrwxrwx 1 root root 20 Feb 1 2003 K15postgresql -> ../init.d/postgresql

lrwxrwxrwx 1 root root 13 Jan 1 2000 K20nfs -> ../init.d/nfs

lrwxrwxrwx 1 root root 14 Jan 1 2000 K24irda -> ../init.d/irda

lrwxrwxrwx 1 root root 17 Jan 1 2000 K35winbind -> ../init.d/winbind

lrwxrwxrwx 1 root root 15 Jan 1 2000 K50snmpd -> ../init.d/snmpd

……

lrwxrwxrwx 1 root root 18 Feb 8 11:15 K92iptables -> ../init.d/iptables

lrwxrwxrwx 1 root root 19 Feb 1 2003 K95firstboot -> ../init.d/firstboot

lrwxrwxrwx 1 root root 15 Jan 1 2000 S05kudzu -> ../init.d/kudzu

lrwxrwxrwx 1 root root 14 Jun 21 08:55 S09isdn -> ../init.d/isdn

lrwxrwxrwx 1 root root 17 Jan 1 2000 S10network -> ../init.d/network

lrwxrwxrwx 1 root root 16 Jan 1 2000 S12syslog -> ../init.d/syslog

lrwxrwxrwx 1 root root 17 Jan 1 2000 S13portmap -> ../init.d/portmap

lrwxrwxrwx 1 root root 17 Jan 1 2000 S14nfslock -> ../init.d/nfslock

lrwxrwxrwx 1 root root 18 Jan 1 2000 S17keytable -> ../init.d/keytable

lrwxrwxrwx 1 root root 16 Jan 1 2000 S20random -> ../init.d/random

lrwxrwxrwx 1 root root 16 Jun 21 08:52 S24pcmcia -> ../init.d/pcmcia

lrwxrwxrwx 1 root root 15 Jan 1 2000 S25netfs -> ../init.d/netfs

lrwxrwxrwx 1 root root 14 Jan 1 2000 S26apmd -> ../init.d/apmd

lrwxrwxrwx 1 root root 16 Jan 1 2000 S28autofs -> ../init.d/autofs

lrwxrwxrwx 1 root root 14 Jan 1 2000 S55sshd -> ../init.d/sshd

lrwxrwxrwx 1 root root 20 Jan 1 2000 S56rawdevices -> ../init.d/rawdevices

lrwxrwxrwx 1 root root 16 Jan 1 2000 S56xinetd -> ../init.d/xinetd

lrwxrwxrwx 1 root root 14 Feb 1 2003 S58ntpd -> ../init.d/ntpd

lrwxrwxrwx 1 root root 13 Jun 21 10:42 S60afs -> ../init.d/afs

……

lrwxrwxrwx 1 root root 18 Jan 1 2000 S80sendmail -> ../init.d/sendmail

lrwxrwxrwx 1 root root 13 Jan 1 2000 S85gpm -> ../init.d/gpm

lrwxrwxrwx 1 root root 15 Mar 22 08:24 S85httpd -> ../init.d/httpd

……

lrwxrwxrwx 1 root root 14 Jul 15 09:29 S98wine -> ../init.d/wine

lrwxrwxrwx 1 root root 13 Feb 8 17:26 S99db2 -> ../init.d/db2

lrwxrwxrwx 1 root root 11 Jun 21 08:52 S99local -> ../rc.local




中查找“[玩转Linux]Linux启动全线提速法”更多相关内容

中查找“[玩转Linux]Linux启动全线提速法”更多相关内容



上一篇:如何用cdma 1x手机连接Linux电脑上因特网
下一篇:浅谈Linux文件系统反删除方法
最近更新 赞助商
·Linux:从LiveCD到自启动U盘11-12
·Linux教程:设置时间与同步的方法(NTP)09-09
·用Ubuntu自带的FTP服务器vsftpd的一些技巧09-09
·Linux教程:修改文件权限命令chmod的用法09-09
·五个最不流行的桌面环境08-25
·全球范围内Linux用户普及度数据全球分布(..08-22
·四步轻松搞定Ubuntu Linux下WPA无线上网08-14
·保障Linux系统安全九个规则03-14
·更换漂亮的色彩 Ubuntu中使用蓝色主题02-28
·Linux双网卡开启NAT共享的设置02-27
·Linux和Unix最常用的网络命令01-25

共有评论 0 条 网友评分 0分 查看所有评论


发表评论→ 学而不思则罔,思而不学则殆,请大胆发表你的见解。

输验证码:

您对此篇文章的评分:1分 2分 3分 4分 5分

  • 站内搜索
关键词

搜索方式

搜索范围

精确匹配
Baidu
网站首页 - 关于本站 - 网站地图 - 广告合作 - 站点声明 - RSS订阅 - 联系我们
Copyright © 2005 网海拾贝.[新ICP备05003216号]. All Rights Reserved .