动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Oracle教程 ]的信息



本月文章推荐
.Oracle DUAL 奇观!.
.oracle性能优化心得.
.Oracle 10G 最佳20位新特性:虚拟.
.Delphi 3.0中连接数据库的三种方.
.rman备份,未用catalog,控制文件丢.
.[Oracle] 几本重要的电子图书下载.
.如何让Oracle数据不丢失?.
.oracle数据库的优化-关于rownum操.
.Oracle中的Merge函数(批量更新/删.
.管理Oracle9i:DBA袖珍指南.
.Oracle中如何用T-SQL语句建立跟踪.
.解决Windows环境下Oracle无法连接.
.实例讲解如何更改字段至兼容的不.
.Oracle开发(一).Windows下配置使.
.深入讲解调整Oracle SGA大小的解.
.如何在Oracle中释放flash_recove.
.脱离SAP卷土重来 甲骨文全力围剿.
.oracle企图收购开源数据库mysql未.
.Oracle中怎样去定位未知的对象.
.ORACLE SQL性能优化系列(五).

Slackware Linux 101 在引导 Linux 机器时发生了什么

发表日期:2008-2-9 |



  作者:Joe "Zonker" Brockmeier (jbrockmeier@earthlink.net),高级编辑,User Friendly Media
  提要:Joe Brockmeier 研究了 Slackware Linux init 进程。他讨论了系统如何初始化服务、各种运行级别是什么,以及如何从缺省安装中添加或除去服务来定制系统。
  
  
  Linux 用户正日益成熟,这意味着他们想要将系统配置成执行他们希望完成的任务。但目前 Linux 发行版通常都附带了自动配置的设备和启动服务,如 Sendmail 或 Apache。这些发行版没有考虑到的是毫不更改其缺省设置来运行服务,如 Apache -- 用户毫不知情 -- 会让黑客和利用脚本捣乱的人趁虚而入。而且这会用完本可以更好利用的系统资源 -- 比如可以用于 Quake 或您喜欢的编译器的更多处理器时间。由于缺少控制是件“糟糕的事”,因此让我们看一下 Linux 系统引导时在 init 进程期间,在所涉及的各个运行级别上都发生了什么,以及如何在系统运行时定制系统或在运行级别之间切换。
  
  我们的示例使用 x86 平台上的 Slackware Linux 发行版(请参阅本文后面的参考资料)。大多数信息可用于其它 Linux 发行版,但在细节处会略有不同。尤其是,与其说 Slackware 的 init 结构类似于 System V 结构,还不如说它更类似于 BSD UNIX 结构,尽管 Slackware 的最新发行版中的程序做了一些让步,它们要将服务添加到启动,但期望这些服务是 System V 目录结构。(请参阅侧栏,“BSD 和系统 V init 脚本之间的差异”。)
  
  所有进程的父代
  当 Linux 机器引导时,究竟会发生什么?在计算机的 BIOS 完成其任务后,系统会读取硬盘(或软盘,或 CD-ROM,或 Zip 驱动器……Linux 是非常灵活的)的第一位,并会碰到引导装入程序。虽然 GRUB 和其它装入程序也逐渐变得流行,但通常这就是 Linux 装入程序 (LInux LOader),一般称作 LILO。
  
  然后 LILO 将 Linux 内核装入内存,并开始展示它的魔力。Linux 内核初始化了诸如 SCSI 卡之类的设备,以及其它内核中内置的硬件设备。然后内核运行 init,它是除内核之外在系统运行的第一个进程。假如执行 ps ax grep 1,就会看到 init 的进程 ID (PID) 是 1。
  
  装入 init 之后,它会读取 inittab 以查看下一步做什么。inittab 告诉 init 要进入什么运行级别,以及在哪里可以找到该运行级别的配置文件。
  
  运行级别
  运行级别是由系统上的所有服务在某个给定时间定义的(基本上是操作方式)。Linux 可以有几种操作方式:单用户方式、单用户联网方式、多用户方式、始于 X 窗口的多用户方式,等等。这部分将要说明运行级别的概念、Slackware 上有哪些运行级别,已经它们被叫作什么。
  
  运行级别由数字或字母标明。可惜,不是所有的 Linux 发行版在各个运行级别的称呼问题上都能达成共识。在某些发行版中,运行级别 3 是使用 X 窗口登录的多用户方式。而其它的,如 Slackware,将运行级别 3 指定成使用控制台登录的多用户方式。
  
  据我所知,所有 Linux 发行版都认同运行级别 0 是“停机”、运行级别 1 或 "S" 是单用户方式(稍后将具体说明),运行级别 6 是重新引导系统。Slackware 的运行级别如下:
  
  运行级别 0 = 系统停机
  运行级别 1 = 单用户方式,主要用于维护
  运行级别 2 = 从不使用
  运行级别 3 = 使用控制台登录的多用户方式
  运行级别 4 = 使用 X11 会话治理器的多用户方式 (XDM, GDM, KDM)
  运行级别 5 = 从不使用
  运行级别 6 = 重新引导
  运行级别 S 或 s = 单用户方式
  
  这里没有记录运行级别 7 到 9,在理论上,它们适用于在需要时定制运行级别。但我还没有亲自尝试过创建一个。
  
  BSD 和 System V init 脚本之间的差异
  Slackware Linux 使用 BSD init 脚本说说挺轻易,但这究竟表示什么?
  
  仿真 BSD init 样式的 Linux 和 UNIX 系统有一个 /etc/rc.d/ 目录,其中每个运行级别都包含一个 init 脚本。因此,假如要查看或修改运行级别 4 的 init 脚本,应该编辑文件 /etc/rc.d/rc.4。
  
  另一方面,其 init 脚本基于 System V 的系统对于每个运行级别都有独立的目录。因此,假如要编辑运行级别 4 init 脚本,应查找 /etc/rc4.d/ 目录,并查找该目录中对应于要修改的服务的脚本。
  
  这个差异导致了 Berkeley Software Distribution (BSD) UNIX 和 AT&T System V UNIX 之间的设计差异,这两者都开创了各自的 UNIX 商业版本。它们连同 Vi 以及 Emacs 一起是计算机界的激烈争论之一。
  
  由于许多 Linux 发行版都喜欢 System V init 布局,Slackware 现在也附带了目录和 rc.sysvinit init 脚本,用于保持兼容性。
  
  运行级别配置
  假如您使用的不是 Slackware Linux,那么配置文件的结构与我谈到的结构会大不相同。
除了 inittab 文件,所有 Slackware 的启动配置文件都在 /etc/rc.d/ 目录中。
  
  缺省情况下,目录中有 5 个运行级别 rc.* 脚本,假如将 symlink 从 rc.0 加到 rc.6,那么可有 6 个。
  
  运行级别 init 脚本是:
  
  rc.0 = rc.0 文件是到 rc.6 的 symlink
  rc.M = 多用户运行级别 2、3 和 5 的 init 脚本
  rc.K = “治理”运行级别,单用户方式
  rc.S = 系统初始化脚本
  rc.4 = 运行级别 4(自动引导入所选择的 X 会话治理器)的 init 脚本
  rc.6 = 重新引导或停止系统时由 init 执行的脚本
  
  目录中的其余 rc.* 文件用于启动诸如联网、内核模块、PCMCIA、Samba、Apache、Netatalk 和 GPM 的系统服务。假如想要使某个服务(如 Apache)完全不能在任何运行级别上使用,请使用 chmod 将文件的许可权从可执行更改成不可执行。除去该文件也可以到达相同效果,但我不推荐这种做法。也许在以后某个日子您会发现要重新启用服务,但却不知道怎样做。
  
  rc.inet1 脚本负责启动基本联网服务,如设置主机名(IP 和 DHCP)。rc.inet2 脚本负责启动所有其它 INET 服务,如 NFS、包转发、ssh 服务器和其它联网守护程序。
  
  所有 Slackware /etc/rc.d/rc.* 文件都是 Bash shell 脚本,都可以进行手工编辑。可是对于联网,您可能应该先尝试 netconfig 实用程序。虽然需要手工编辑 /etc/resolv.conf 来添加多个名称服务器,但是它也许能处理您想要执行的所有操作,而且它非常易于使用。
  
  假如您是 Linux 初学者并且要修改系统,那么也许应该确保您有引导软盘,并且应该复制您所有想要编辑的 rc.* 文件。假如拿不定主意,我通常会将文件保存为 rc.*.old,使它们变成不可执行文件。
  
  使用运行的系统
  好,现在系统已经运行,然而您需要在单用户方式中执行一些操作 -- 该怎么做呢?本文的下一部分将说明如何在系统运行时更改运行级别,而不是通过重新引导来更改运行级别,而且还说明了为什么执行此操作以及何时执行。
  
  telinit 命令:在运行的系统上更改运行级别
  telinit 命令可以用于更改运行级别。当以 root 身份执行 telinit S(或者想要更改的任意运行级别)时,它会更改运行级别,关闭前一个运行级别,然后启动下一个。
  
  某种程度上您正在重新引导系统的一部分。然而,关闭与重新启动服务的能力正是 Linux 最可爱的品质之一。想要更改机器的 IP 地址吗?没问题,只要进行一些更改,然后重新启动联网服务就行了。只要一切配置正确,备份和运行是如此迅速,很难分辩是否做过更改。在其它即使更改了桌面上的墙纸都必须重新引导的操作系统上,尝试一下执行此操作
  
  确实需要重新引导或彻底关闭 Linux 机器的唯一情况是假如正在添加或更改硬件,假设您正在使用不能热插拔的设备,或者已经中断且需要使机器脱机以修复损坏。与其它操作系统不同,对于那些不经过重新引导就无法解决问题的产品系统,我从来没有看到过重新引导解决了这些系统上的问题。我曾设法利用诸如 hdparm 的命令来挂起非生产性机器,我希望这种情况发生。
  
  假设您想要执行一些系统维护,而这些系统维护要求系统处于单用户方式。例如,使用 hdparm 调整硬盘。第一步是 su(切换)到 root 用户。
  
  然后执行 telinit 命令使系统进入单用户方式:
  
  telinit S -t 60
  
  自变量 "-t" 是可选的;它告诉 telinit 在真正切换到单用户方式之前等待 60 秒。然而,只要执行了该命令,登录到机器的任何人都会看到在控制台上出现一个警告,指出系统将切换运行级别或将在 60 秒内停机。
  
  到了 60 秒时,init 会关闭单用户方式中不使用的进程,并使系统进入单用户方式。然后,将提示您输入 root 用户密码以执行系统维护。
  
  系统进入单用户方式所使用的进程略有不同。缺省情况下,单用户方式要求 init 在控制台上调用 sulogin 命令,并要求在单用户方式中使用 root 登录。
  
  系统进入单用户方式后,应该会看到如下的消息:
  
  Give root passWord for system maintenance
  (or type Control-D for normal startup):
  
  执行了维护之后,可以执行以下命令来使系统回到以前的运行级别:
  
  telinit 3
  
  此命令告诉系统重新进入多用户运行级别。在此命令中可以用 "2" 或 "4" 来代替 "3"。在 Slackware 系统上,运行级别 4 将使您进入使用 X 窗口显示治理器之一的多用户方式,因此您将直接登录到 X 窗口。
  
  假如在拥有串行电缆的串行上挂了 UPS,那么就可以让 UPS 在断电的情况下向系统发送一个信号。假如您的产品级系统有一个很大的文件系统,那么这是非常有用的。我曾看到过当没
上一篇:ORACLE物理文件大小的限制 人气:367
下一篇:如何实现数据库完整备份 人气:423
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-24 Sablog-X v2.0 预览版
2008-7-24 帝国备份王EmpireBak 2008 正式版
2008-7-24 网趣网上购物系统时尚版 v8.2
2008-7-24 纵横B2B电子商务系统XYECS!B2B v
2008-7-24 e路小说小偷 v1.2.0723
2008-7-24 凌风美女图片站程序 v2.2
2008-7-24 TOM15电影收索程序
2008-7-24 清风信息自动采集生成系统 v1.0
2008-7-24 QQ邮箱编辑器 v1.0 (小小菜刀ASP
2008-7-19 UltraEdit 简体中文增强版 14.10
2008-7-19 CentOS 5.2 i386 LiveCD
2008-7-19 Snapture多功能相机 v1.4
2008-7-19 iAcces中文输入法 v1.0Build016
2008-7-19 Cookbook烹饪秘籍 v2.5
2008-7-19 苹果专用DVD转换工具 v1.1.59汉化
2008-7-19 Modem修复软件ZiPhone修改版04.0
2008-7-19 AgileMessenger即时通讯工具美化
2008-7-19 Sketches画图软件 v0.7b6破解版


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号