Red Hat Enterprise Linux 5.0服务器构建与故障排除
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第2章 Red Hat Enterprise Linux 5.0系统安装和故障排除

本章要点

● Linux硬件需求与兼容性

● 安装Red Hat Enterprise Linux 5.0基本步骤

● 通过网络安装Red Hat Enterprise Linux 5.0

● Linux硬件的稳定性检测

2.1 硬件需求与兼容性

2.1.1 Linux硬件驱动现状

在Linux的安装过程中有个现象,那就是并非高等级的硬件就一定可以在Linux中顺利使用,这也是目前存在于Linux中很无奈的事。在Microsoft操作系统中,如果更换了新的硬件,操作系统可以直接找到并安装。表示这个硬件包含在操作系统的“硬件兼容表”(Hardware Compatibility List,HCL)中,也就是我们常说的“系统支持的硬件”。由于部分硬件厂商不提供Linux版的驱动程序,因此新的硬件设备可能会遇到Linux操作系统不支持,又没有驱动程序的窘况。避免这个问题的最好方法就是在购买硬件设备前,到指定的Linux Distribution网站上查阅硬件兼容表。造成Linux硬件驱动缺乏的原因如下。

(1)Linux发行版本过多,各版本之间存在较大差异。

Linux作为自由软件,其核心开发和规范一直由Linux社区控制,版本也是唯一的。而发行版本不受限制,即使是支持Linux的软硬件厂商也不可能分别支持每一个Linux的发行版本,大多数只支持Red Hat或Turbo Linux等发行量最大且影响最广的国外厂商的发行版本。

(2)Linux硬件兼容性问题尚未解决。

由于Windows在操作系统上的近乎垄断的地位和驱动程序在不同操作系统中的巨大差异,所以大多数硬件产品厂商只开发Windows操作系统驱动。Linux驱动多为业余人员和爱好者编写,由于爱好者往往不能够完整了解硬件产品的核心技术,也没有严密组织的开发过程。因此通常并不严谨,造成程序中存在众多缺陷。以打印机为例,EPSON公司从未开发过任何Linux相关驱动,但是大部分的EPSON打印机已经被Linux兼容。但是目前问题集中在打印效果较差及打印的效率低下,不能体现新型打印机的高性能。通过多年的测试和监理中可以发现,某些设备,如多串口卡厂商承诺支持Linux。但是由于兼容性测试不够完善,从而造成在工程应用中出现了严重的死机及应用程序退出等问题。目前较为成熟的是显卡和网卡驱动等。

(3)缺乏应用程序的支持。

Linux操作系统已经解决了USB设备的支持问题,但新的问题随之而来。如USB闪盘,国产Linux已做到可自动挂载。但部分闪盘提供了密码校验功能,而校验程序是Windows应用程序。无法运行在Linux中,因此这部分闪盘便无法在Linux操作系统中使用。

(4)缺乏必要的认证手段。

硬件产品认证并不是新鲜事务,认证的机构很多,如WHQL(Microsoft硬件质量实验室)、长城认证、TCO认证及FCC认证等),认证的方向涵盖了Windows兼容性、电磁兼容及环保认证等诸多方面。事实证明,这些认证有效地保证了广大最终用户得利益,确保了硬件产品的质量及其对操作系统的支持。通过了WHQL认证的硬件产品及其驱动程序Windows操作系统存在兼容性问题会减到最小,原来常见的蓝屏及死机等不稳定的情况也大大减少。而目前还没有任何认证手段可以证明硬件对Linux操作系统的支持程度。

2.1.2 主要硬件的兼容性

安装Red Hat Enterprise Linux 5.0的硬件兼容性说明如下。

1.CPU

目前,市面上的大多CPU都可以使用在Linux上,唯一要注意的是与主板的兼容程度。同时因为Linux具备SMP(Symmetric Multi-Processors)技术,所以可以支持多达64块CPU同时运行。根据Red Hat Enterprise Linux 5.0安装文件的说明,最少需具备Pentium等级的CPU。如果只使用文本模式,则建议使用的CPU等级为Pentium 233(或以上);如果需使用图形模式,则建议使用Pentium 400(或以上)的CPU。以下是Linux对主要x86体系结构的CPU厂商的支持情况。

(1)Intel:386、486、Celeron、Pentium、Pentium II、Pentium III和Pentium IV、Pentium D、Core Solo、Core Duo、Core Duo 2,以及Itanium等系列。

(2)AMD:K5、K6、K6-2、K6-3、Athlon、Duron、Athlon XP、Sempron、Athlon 64、Athlon 64 FX,以及Athlon 64 X2等系列。

(3)VIA Cyrix:5x86、6x86、M II和MediaGX等系列。

(4)IBM:ppc或s390、power 4和power 5等系列。

2.内存(Memory)

目前,Linux可以支持的内存上限是4 GB,内存越大越好。如果要执行X Window系统,需拥有192 MB以上的内存。另外,如果Linux提供用户远程登录,则每增加一个文本模式(Telnet)用户,系统会消耗0.5 MB~1 MB的内存;如果用户以X Window的方式登录,则需要增加2 MB~4 MB的内存。根据Red Hat Enterprise Linux 5.0的文件,使用文本模式,建议具备128 MB以上的内存容量;而图形模式最少的建议内存容量为256 MB。Linux支持内存类型指主板所支持的具体内存类型,不同的主板所支持的内存类型不相同。早期的主板使用的内存类型主要有FPM(Fast Page Mode,快页模式)、EDO(Extended Data Out,扩展数据输出)、SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器)和RDRAM,目前主板常见的有DDR和DDR2(Double Data Rate 2)内存。

(1)FPM内存:是较早PC普遍使用的内存,每隔3个时钟脉冲周期传送一次数据。

(2)EDO内存:取消了主板与内存两个存储周期之间的时间间隔,每隔2个时钟脉冲周期传输一次数据。从而大大地缩短了存取时间,使存取速度提高30%,达到60 ns。EDO内存主要用于72线的SIMM内存条,以及采用EDO内存芯片的PCI显示卡。这种内存流行在486及早期的奔腾计算机系统中,有72线和168线之分。

(3)SDRAM内存:是前几年普遍使用的内存形式,它采用3.3 V工作电压,带宽64位。SDRAM将CPU与RAM通过一个相同的时钟锁在一起,使RAM和CPU能够共享一个时钟周期,以相同的速度同步工作。与EDO内存相比,速度能提高50%。SDRAM基于双存储体结构,内含两个交错的存储阵列。当CPU从一个存储体或阵列访问数据时,另一个就已为读写数据做好了准备。通过这两个存储阵列的紧密切换,读取效率能得到成倍的提高。

(4)DR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory,双数据率同步动态随机存储器)内存:由VIA等公司为了与RDRAM相抗衡而提出的内存标准。它是SDRAM的更新换代产品,采用2.5 V工作电压。它允许在时钟脉冲的上升沿和下降沿传输数据,这样不需要提高时钟的频率就能加倍提高速度,并具有多一倍的传输速率和内存带宽。目前主流的芯片组都支持DDR SDRAM,是目前最常用的内存类型。

(5)DDR2内存:DDR2 SDRAM是JEDEC(电子设备工程联合委员会)开发的新生代内存技术标准,它与上一代DDR内存技术标准最大的不同就是虽然同样采用了在时钟的上升/下降延同时传输数据的基本方式,但DDR2内存却拥有两倍于上一代DDR内存预读取能力(即4位数据读预取)。换句话说,DDR2内存每个时钟能够以4倍外部总线的速度读/写数据,并且能够以内部控制总线4倍的速度运行。

3.硬盘

Linux支持所有内置式的硬盘,包括RLL、MFM、ESDI、IDE、EIDE与SCSI等。它允许的容量上限为2 TB,即2048 GB。安装Linux所需的硬盘空间要视安装的软件包及数量而定,全部安装则占用的硬盘空间大约为9 GB。为了支持安装程序的运行,需准备额外的硬盘空间,其大小约为90 MB~175 MB。

4.显示卡

如果只是使用文本模式,则不论ISA、VGA,还是AGP的显示卡都可正常工作;如果要执行X Window系统,则有时可能会出现问题。建议使用显示卡芯片组的名牌产品,例如ATI、Ark、Matrox、S3、SiS、NVidia Riva TNT或Trident。如果实在无法确认是否支持Linux,那么最好的准则就是越旧越好,这是笔者的经验。因为使用一块Linux不支持的显示卡实在很麻烦,不仅浪费很多时间,而且不保证可以成功。毕竟对服务器来说,窗口画面并不是很重要,在后面的章节中读者就会更了解这点。因为通过远程管理的方法,管理员并不需要在服务器前管理,因此使用高级的显示卡自然就不具有太多的意义。

5.光驱

光驱目前在Linux的安装上已越来越重要,因为大多数用户都习惯以光盘引导方式来安装。目前一般的光驱,如IDE接口、CD-R、CD-RW、DVD-ROM或SCSI光驱都可以支持Linux。而唯一要注意的是,如果使用SCSI光驱,则必须确定使用的SCSI卡支持Linux。

6.网卡

多数ISA或PCI接口的网卡都可在Linux上使用,速度为10 Mb/s或1000 Mb/s。一般在国内通常使用的网卡是3Com、D-Link和RealTek,如果无法确定网卡是否可在Linux上使用,建议使用与RTL8139或是NE2000兼容的芯片。有时网卡在引导时无法被Linux检测到,这可能是因为打开了卡上的“即插即用”(Plug and Play,PnP)功能。如D-Link DE-220PCT,此时应利用其所附的通用程序(通常为DOS程序)来关闭PnP功能。

2.1.3 收集硬件信息

1.使用操作系统自身功能

如果目前计算机中已安装了其他操作系统,则可以由此来收集硬件信息。这是一个安全且实际的方法,同时也可避免在指定硬件类型及型号时产生的错误。以Windows XP为例,要想知道目前系统中的硬件信息,首先右击Windows XP桌面的“我的电脑”。单击右键菜单中的“属性”选项,则会出现“系统属性”窗口。打开“硬件”选项卡,然后单击“设备管理器”按钮,打开如图2-1所示的“设备管理器”窗口。

图2-1 “设备管理器”窗口

2.使用EVEREST工具软件

EVEREST(原名“AIDA32”)是一个测试软硬件系统信息的工具,它可以详细地显示有关PC各个方面的信息,并支持上千种(3400+)主板,支持上百种(360+)显卡、并口/串口/USB这些PNP设备的检测,以及各式各样的处理器的侦测。新版增加了查看远程系统信息和管理,结果导出为HTML和XML的功能。

EVEREST有Home Edition和Professional两个版本,其中后者是收费的商业版本;前者则是免费软件。相比Professional,Home Edition只是少了数据分析和数据库连接功能。而在硬件检测方面,Home Edition没有任何缩水。以下我们将以EVEREST Home Edition版本来说明此软件的使用方法和各个测试项目的意义。安装EVEREST和相应的中文语言包并运行,出现形如资源管理器的软件界面。软件安装完成后,双击快捷图标运行EVEREST,整个界面分为左右两部分,左侧为菜单和收藏夹列表区,右边为详细信息显示区。单击左侧列表中的任意一项内容,在右侧的区域内即显示该项的详细信息,其中包括电脑、主板、操作系统、服务器、显示器、多媒体、保存及网络等13项软硬件信息检测内容。其中软硬件分类相当详细,在13个大项中又包含了若干小项,如“电脑”大项中包含“摘要”、“电脑名称”、“DMI”、“电源管理”及“感应器”等项。单击名称前面的“+”号,可直接展开分支。单击相应的分支,详细信息就会直接显示在右侧的显示区域内。例如,单击“摘要”项,在右侧的就会显示电脑的整体信息,可以直接查看到用户的操作系统、CPU类型、主板品牌和型号,以及主板芯片组等内容。单击与“字段”相对应的“值”内容链接,可查看产品信息。尤以“主板/SPD”、“显示”和“网络”对于Linux安装最为有用,如图2-2所示。

图2-2 系统信息

EVEREST所检测的各部分硬件信息可通过纯文本、HTML及MHTML等形式生成检测报告,除了生成全部项目的检测报告外,EVEREST还允许针对单个项目生成检测报告。单击“报告”→“报告向导”选项,在打开的窗口中选择报告配置定义文件,如“完整报告”、“硬件相关部分”或“软件相关部分”等。选择后单击“下一步”按钮,即可生成报告,如图2-3所示,生成的报告内容可直接保存为文件、发送电子邮件或打印。建议Linux初学者或者在一台不熟悉的计算机上安装Linux时打印一份详细报告放在手边。

图2-3 EVEREST检测的各个部分硬件信息的HTML格式报告

EVEREST还可以检测显卡、声卡、网络接口,以及笔记本电脑电池等多种信息,其官方主页是http://www.lavalys.com/

2.1.4 检查系统硬件是否存在大的缺陷

在Linux安装前首先应当检测系统的稳定性,如果存在大的缺陷,那么更换后安装Linux。

(1)Superπ。

顾名思义,Superπ 是一款用来计算圆周率的软件,但它更多地被用于测试CPU速度和系统的稳定性。由于计算圆周率时需要大量的系统资源,且CPU一直处于高负荷运行,因此即使系统运行一天的Word或Photoshop都没有问题,而运行Superπ也不一定能通过。使用方法为选择要计算的位数(一般选择104万位,如图2-4所示),单击“开始”按钮。在性能上,运算所需要的时间越短越好;在稳定性上,以没有出现任何错误为判断依据。

图2-4 选择要计算的位数

Superπ可以在国内许多大的硬件网站完整下载。

(2)Prime95。

和Superπ类似,Prime95也是利用连续计算函数来达到测试系统稳定性的目地,只不过它计算的是梅森质数。Prime95的测试环境非常苛刻,即使能在Superπ中顺利通过419万次测试的系统,也不一定能在Prime95中运行1分钟。在所有的考机软件中,Prime95是公认为最精确的一款。因此很多用户用其来测试超频后的CPU,并以此作为超频成功的证据。从官方网站 http://www.mersenne.org/freesoft.htm下载最新版本安装运行,单击菜单栏中的“Option”(选项)中的“CPU”即可设置有关选项。在这里,用户可以设置测试的时间、使用的内存容量、起始和结束时间、CPU的型号、实际频率,以及缓存等信息,如图2-5所示。

图2-5 设置测试选项

设置后单击“Option“→”Torture Test”(稳定性测试)选项启动测试。由于Prime95的系统稳定性测试消耗的系统资源不多,用户可以在测试期间执行其他操作。这时Prime95会在系统托盘中生成一个红色的图标,代表测试正在顺利进行。如果这个图标的颜色在测试未结束之前变成黄色,说明测试失败,即系统没有达到Primr95所要求的稳定性。Prime95默认的测试时间为12小时,如果通过12小时的测试,就说明系统稳定;如果能通过24小时以上的测试,那么这个系统基本不会因为稳定性而出现故障。Prime95同样也有性能测试功能,只要单击“Option“→”Benchmark”(性能测试)选项即可测试系统性能。测试以运算一定函数量所花费的时间作为标准,耗时越少,说明系统性能越高。

2.1.5 获取Red Hat Enterprise Linux 5兼容性列表

Red Hat Enterprise Linux 5应与在最近两年内推出的多数硬件兼容,然而硬件的技术规范几乎每天都在改变,最新的硬件支持列表可在http://hardware.redhat.com/hcl/查到。建议制作一个表格(如表2-1所示)。在其中输入系统的信息,它会成为帮助你顺利安装Red Hat Enterprise Linux 5.0 Linux的有力助手。

表2-1 Red Hat Enterprise Linux 5硬件列表

2.2 安装Red Hat Enterprise Linux 5.0

Red Hat Enterprise Linux 5.0支持的安装方式如下。

(1)光盘。

需要一张引导盘或Red Hat Enterprise Linux 5.0 Linux的第1张光盘,这是目前安装Red Hat Enterprise Linux 5.0的最简单方式,也是本章介绍的重点。

(2)硬盘驱动器。

如果已将Red Hat Enterprise Linux 5.0 Linux ISO映像复制到本地硬盘驱动器中,则可以使用这种方式。为此需要一张引导盘或一张可引导的光盘(使用Linux askmethod引导选项)。

(3)NFS。

如果从一个NFS服务器中使用ISO映像或Red Hat Enterprise Linux 5.0 Linux的镜像映像来安装,可以使用这种方式。为此需要一张引导盘或一张引导光盘(使用Linux askmethod引导选项),可能还需要一张网络驱动程序盘。

(4)FTP。

如果从一个FTP服务器中直接安装,则使用这种方式,为此需要一张引导盘或一张引导光盘(使用Linux askmethod引导选项)。

(5)HTTP。

如果从一个HTTP服务器中直接安装,使用这种方式,为此需要一张引导盘或一张引导光盘(使用Linux askmethod引导选项)。

2.2.1 使用本地光盘介质安装Red Hat Enterprise Linux 5.0

一般情况下,安装Red Hat Enterprise Linux 5.0需要从光驱用安装光盘启动系统。然后进入交互式安装界面输入安装所需的各种配置完成安装,详细步骤如下。

1.开机

在BIOS中设置使用光盘启动,按回车键显示如图2-6所示的开机界面。

图2-6 开机界面

其他安装选项如下。

(1)Linux rescue:以救援方式引导基本Linux系统。

(2)Linux text:使用文本界面安装。

2.检查安装盘

经过几分钟的启动过程,首先要检测安装盘,如图2-7所示。

图2-7 检查安装盘

单击“OK”按钮开始检测安装光盘,图2-8所示为光盘介质检查通过界面。

图2-8 光盘介质检查通过界面

通常可以直接跳过检查光盘的完整性。

3.Red Hat Eneterprise Linux 5.0欢迎界面

系统自动检测硬件设备,如果通过检查,则开始初试化安装。出现Red Hat Eneterprise Linux 5.0欢迎界面,如图2-9所示。单击“Next”按钮继续。阅读欢迎界面左侧中的帮助文字来获得附加说明,以及关于如何注册Red Hat Enterprise Linux 5.0 Linux产品的信息。帮助屏幕是默认打开的,如果不想查看帮助信息,单击“隐藏帮助”按钮将其隐藏。

图2-9 Red Hat Eneterprise Linux 5.0欢迎界面

4.语言选择

显示语言选择界面,选择在安装中使用的语言,如图2-10所示,选择恰当的语言会在稍后的安装中帮助定位时区。

图2-10 语言选择界面

单击“Next”按钮,显示键盘配置界面,如图2-11所示。

图2-11 键盘配置界面

5.键盘配置界面

选择系统默认的键盘布局类型(例如,美国英语式)。

如果安装结束后改变键盘类型,可以使用键盘配置工具。在shell提示下键入redhat-config-keyboard命令来启动键盘配置工具。如果不是根用户,则会提示输入根口令后继续。

6.输入安装序列号

单击“下一步”按钮,显示输入安装序列号界面,如图2-12所示。

图2-12 输入安装序列号界面

安装序列号将决定安装程序可用的软件包集,如果跳过输入,以后只能安装基本软件包。关于安装序列号的更多信息,请参考http://www.redhat.com/apps/support/in.html。安装过程中使用的安装序列号将被存放在/etc/sysconfig/rhn/install-num中,在红帽网络注册时,这个文件将自动被rhn_register引用。来决定系统应该订阅哪个合适的子通道。输入安装序列号后,单击“下一步”按钮。

7.磁盘分区

显示如图2-13所示的磁盘分区界面,分区将硬盘驱动器分隔成独立的区域,每个分区都如同一个单独的硬盘驱动器。如果运行多个操作系统,分区十分有用。

图2-13 磁盘分区界面

分区选项如下。

(1)删除系统内所有的Linux分区:选择该选项,删除Linux分区(在以前安装Linux时创建的分区),不会影响硬盘驱动器上可能会有的其他分区(例如,VFAT或FAT32分区)。

(2)删除系统内的所有分区:选择该选项,删除硬盘驱动器上的所有分区(包括由其他操作系统创建的分区,如Windows创建的分区或NTFS分区)。

(3)保存所有的分区,使用现有的空闲空间:假设硬盘驱动器上有足够的可用空闲空间,选择该选项,保留当前的数据和分区。

(4)自定义分区:如果对分区信心不足,建议不要选择该选项,而是由安装程序自动分区。要手工分区,选择Disk Druid分区工具。

单击“高级存储配置”按钮,显示如图2-14所示的高级存储选项设置界面。

图2-14 高级存储选项设置界面

可以选择禁用dmraid设备,该设备的各个元素将作为独立的硬盘驱动器出现。也可以选择配置iSCSI(基于TCP/IP的SCSI)目标,为此选择“添加iSCSI目标”选项并单击“新增驱动器”按钮,打开“配置iSCSI参数”界面,如图2-15所示。输入iSCSI目标的IP地址细节,并输入一个唯一的iSCSI启动器名字来识别这个系统,然后单击「新增目标」按钮来连接这个iSCSI目标。

图2-15 配置iSCSI参数界面

单击“下一步”按钮,显示自定义分区界面,如图2-16所示。

图2-16 自定义分区界面

8.自定义分区

Red Hat Enterprise Linux 5.0安装程序使用的分区工具是Disk Druid,它提供硬盘的图形化表示。双击突出显示图形化表示中的某一字段编辑某个现存的分区,或从现存空闲空间中创建分区。其中显示Drive名称(如/dev/hda),「Geom」(显示硬盘的几何属性,包括硬盘的柱面、磁头和扇区数量),以及安装程序检测到的硬盘驱动器。该界面中的按钮如下。

(1)新建:新建一个新分区,单击该按钮,出现一个对话框,其中包括的字段(如挂载点和大小)都必须输入。

(2)编辑:用来修改目前在输入“分区”部分中选定分区的属性。单击该按钮,打开一个对话框。可编辑部分或全部字段,这要依据分区信息是否已被写入磁盘而定。还可以编辑图形化显示所表示的空闲空间,从而在其中创建一个新分区。然后单击该按钮,也可以双击空闲空间来编辑它。

(3)删除:用来删除目前在“当前磁盘分区”部分中突出显示的分区,要求确认对任何分区的删除。

(4)重设:用来恢复Disk Druid为最初的状态。如果“重设”分区,则所做的所有改变将会丢失。

(5)LVM:用来为部分或全部磁盘分区提供冗余性。

要制作一个RAID设备,必须首先创建软件RAID分区。一旦已创建两个或两个以上的软件RAID分区,则单击该按钮把软件RAID分区连接为一个RAID设备。

(6)「LVM」:允许创建一个LVM(逻辑卷管理器)逻辑卷,LVM用来表现基本物理存储空间,如硬盘的简单逻辑视图。它管理单个物理磁盘,即磁盘上的单个分区,注意只有在其有使用LVM的经验时才应使用。要创建LVM逻辑卷,必须首先创建类型为物理卷(LVM)的分区。一旦创建了一个或多个物理卷分区,则单击该按钮来创建LVM逻辑卷。

在分区层次之上的字段代表正创建的分区的标签,定义如下。

(1)设备:该字段显示分区的设备名。

(2)挂载点/RAID/Volume:挂载点是文件卷在目录层次内存在的位置;文件卷在该位置上被“挂载”,该字段标明分区将被挂载的位置。如果某个分区存在,但还没有设置,那么双击分区或单击“编辑”按钮来为其定义挂载点。

(3)类型:该字段显示分区的类型(例如,ext2、ext3或vfat)。

(4)格式化:该字段显示正在创建的分区是否会被格式化。

(5)大小(MB):该字段显示分区的大小(MB)。

(6)开始:该字段显示分区硬盘上开始的柱面。

(7)结束:该字段显示分区硬盘上结束的柱面。

如果不想看到创建的RAID设备或LVM卷组成员,选择“隐藏RAID设备/LVM卷组成员”复选框。

推荐采用如下分区。

(1)一个交换分区(至少256 MB):交换分区被用来支持虚拟内存,即内存不足以存储系统正在处理的数据时,数据就会被写入交换分区。如果不能肯定要创建的交换分区大小,则将其定为系统内存的两倍(但是不超过2 GB)。分区类型必须是swap。

(2)一个/boot分区(100 MB):挂载在/boot中的分区,包含操作系统内核(允许系统引导红帽企业版Linux),以及在自展过程中使用的文件。鉴于多数PC BIOS的限制,创建一个较小的分区来容纳这些文件是一个好办法。对多数用户来说,大小为100 MB的引导分区应该是足够了。

(3)一个root分区(500 MB~9.0 GB):这是“/”(根目录)的位置。在这种设置中,所有文件(除了那些存储在/boot/上的以外)都位于根分区中。500 MB大的根分区仅允许最小程度的安装,而9.0 GB大的根分区允许完整安装,包括所有软件包组。

9.配置引导装载程序

引导装载程序是计算机启动时所运行的第1个软件,其任务是载入操作系统内核软件并把控制权转交给它,然后内核初始化操作系统的其他部分。GRUB(GRand Unified Bootloader)是一个默认安装的功能强大的引导装载程序,它能够通过连锁载入(chain-loading)来装载多种免费和专有操作系统(连锁载入通过载入另一个引导装载程序来载入DOS或Windows之类不被支持的操作系统的机制)。单击“下一步”按钮,显示配置引导装载程序界面,如图2-17所示。

图2-17 配置引导装载程序界面

选择“高级配置引导装载程序配置选项”复选框,单击“下一步”按钮,显示高级配置引导装载程序配置选项界面,如图2-18所示。

图2-18 高级配置引导装载程序配置选项界面

其中的选项如下。

(1)主引导记录(MBR)。

这是推荐安装引导装载程序的选项,除非MBR已经在启动另一个操作系统的引导装载程序,如SystemCommander。MBR是硬盘驱动器上的一个特殊区域,它会被计算机的BIOS自动载入,并且是引导装载程序控制引导进程的最早位置。如果在MBR上安装引导装载程序,当机器引导时GRUB会呈现一个引导提示,然后即可以引导Red Hat Enterprise Linux 5.0 Linux或其他任何要引导的操作系统。

(2)引导分区的第1个扇区。

如果已在系统上使用另一个引导装载系统,我们推荐选择该选项。在这种情况下,另外的引导装载系统会首先取得控制权。然后可以配置它来启动GRUB,继而引导Red Hat Enterprise Linux 5.0 Linux引导装载程序安装。

10.网络配置

单击“下一步”按钮,安装程序会自动检测任何网络设备并显示在网络设备列表中,如图2-19所示。如果是通过DHCP获得IP地址的,则保留默认的DHCP。

图2-19 保留默认的DHCP

单击“编辑”按钮,弹出编辑接口界面,如图2-20所示。可以选择通过DHCP(若没有选择DHCP,则手工配置)来配置网络设备的IP地址和子网掩码(或者是IPv6的前缀),或选择在引导时激活该设备。如果选择“引导时激活”复选框,则网络接口就会在引导时被启动。

图2-20 编辑接口界面

如果手工输入IP和子网掩码信息,必须输入网关、主要、次要和第3个DNS地址,如图2-21所示。

图2-21 输入网络信息

如果没有网络设备(或者网络设备没有被安装程序发现),在安装过程中这个界面不会出现,而自动进入设置时区界面。

11.设置时区

单击“下一步”按钮,显示设置时区界面,如图2-22所示。

图2-22 设置时区界面

在互动地图上,可以单击一个用黄点标记的指定城市,一个红色的X会出现来标明该选择。还可以在一个列表中滚动选择一个时区,选择“系统时钟使用UTC”复选框。如果系统设置到UTC的话,选择“系统时钟使用UTC”复选框。要在安装完成后改变时区配置,可以使用时间和日期属性工具。在shell提示下键入system-config-date命令来启动该工具。如果不是根用户,它会提示输入根口令后继续。如果要在文本模式下运行该工具,可以使用timeconfig命令。

12.设置根口令

单击“下一步”按钮,显示设置根口令界面,如图2-23所示。

图2-23 设置根口令界面

设置根账号及其口令是安装过程中最重要的步骤之一,根账号和Windows NT中的管理员账号类似,用来安装软件包、升级RPM,以及执行多数系统维护工作。作为根用户(超级用户)登录可拥有对系统的完全控制权。正因如此,最好只有在执行系统维护或管理时才登录为根用户;只有在进行系统管理时才使用根账号,创建一个非根账号来做日常工作。若需要快速修复某项事务时,用su -命令暂时登录为根用户。遵循这些最基本的原则将会减少因键入错误或不正确的命令而损害系统的机会。应该把根口令设为可以记住,但又不容易被别人猜到的组合,名字或电话号码都是典型的坏口令。好口令混合使用数字、大小写字母,并且不包含任何词典中的现成词汇。例如,Aard387vark或420BMttNT。请记住,口令是区分大小写的。在完成安装后,如果想修改根口令,可以使用根口令工具。在shell提示下键入system-config-rootpassword命令来启动该工具。如果不是根用户,它会提示输入根口令后继续。

13.选择软件包

单击“下一步”按钮,显示选择软件包界面,如图2-24所示。

图2-24 选择软件包界面

在该界面中详细列举了Red Hat Enterprise Linux 5.0 Linux安装的默认软件包集合,并根据安装的版本的不同而有所不同。要进一步定制软件包,选择“现在定制”。单击“下一步”按钮,打开“选择软件包组”界面。可以选择根据功能归类的软件包组(如“X窗口系统”和“编辑器”)、单个软件包或二者的组合,如图2-25所示。

图2-25 软件包细节

选择软件包组后,如果可选组件是可用的,则可以单击“可选的软件包”按钮来查看哪些软件包会被默认安装,还可以在该组中添加或删除可选软件包。如果没有可选组件可用,这个按钮将是禁用的。

14.开始安装Red Hat Enterprise Linux 5.0

单击“下一步”按钮,系统会检查软件包依赖信,显示准备安装Red Hat Enterprise Linux 5.0 Linux界面,如图2-26所示。重新引导系统,一份完整的安装日志可在/root/install.log中找到,以备今后参考。要取消安装进程,按Ctrl+Alt+Delete组合键来重启系统。

图2-26 准备安装界面

15.安装过程

单击“下一步”按钮开始安装,安装的快慢依据选择的软件包数量和计算机的速度而定,图2-27所示为安装过程的一个截图。

图2-27 安装过程的一个截图

安装过程中的虚拟控制台(virtual console)控制Red Hat Enterprise Linux 5.0 Linux安装程序,除了提供从shell提示下输入命令的方法外,它还提供了多种不同类型的诊断消息。安装程序在5个虚拟控制台中显示这些消息,可以用一个组合键在其间切换。虚拟控制台是非图形化环境中的shell提示,从物理机器,而不是远程进入。可以同时进入多个虚拟控制台,它们在安装Red Hat Enterprise Linux 5.0 Linux中遇到问题时很有帮助,在安装中或在系统控制台上显示的消息可以帮助用户准确地找到问题的症结所在。表2-2所示为虚拟控制台的列表、所用的切换快捷键,以及显示的内容。

表2-2 控制台切换快捷键组合及其显示的内容

一般来说,除非试图诊断安装问题;否则没有理由离开默认的控制台。如果出现图2-28所示界面,表示安装成功。

图2-28 Red Hat Enterprise Linux 5.0安装成功

安装程序提示用户做好重新引导系统的准备,如果安装介质(磁盘驱动器内的磁盘或光盘驱动器内的光盘)在重新引导时没有被自动弹出,请记住取出。计算机正常启动后,显示图形化的引导装载程序提示,用户可以执行以下任何任务。

(1)按Enter键:引导默认的引导项目。

(2)等候:引导装载程序的超时时间过后(默认为5秒),引导装载程序将会自动引导默认的引导项目。

2.2.2 首次启动Red Hat Enterprise Linux 5.0的配置

1.重新启动计算机进入开机管理员界面

重新开机后,计算机会自动进入开机管理(Boot Manager)界面。如果要启动其他操作系统,则在一两秒内按ESC键进入选单。然后选择其他操作系统,如图2-29所示。

图2-29 开机管理界面

2.启动Red Hat Enterprise Linux 5.0

如果没有按任何键,开机管理会自动启动Red Hat Enterprise Linux 5.0,如图2-30所示。

图2-30 启动Red Hat Enterprise Linux 5.0界面

Red Hat Enterprise Linux 5.0操作系统的第1次启动需要花费大量时间,应耐心等待。

3.中文欢迎界面

图2-31所示为中文欢迎界面,单击“前进”按钮继续。

图2-31 中文欢迎界面

4.阅读并接受授权同意书

作为Red Hat Enterprise Linux 5.0合法使用者,用户需要阅读Red Hat Enterprise Linux 5.0授权同意书(License Agreement)。知道自己可以享有的权益,并同意授权同意书的条文,如图2-32所示。

图2-32 阅读并接受授权同意书

选择“是的,我同意授权同意书”单选按钮,单击“前进”按钮继续。

5.设置Iptables防火墙

如果计算机将连接Internet,务必启动防火墙功能以避免入侵,如图2-33所示。

图2-33 设置防火墙

说明:为系统选择恰当的安全级别。

(1)无防火墙:给予完全访问权并不做任何安全检查,安全检查是对某些服务的禁用。建议只有在一个可信任的网络(非Internet)中运行时,或者稍后详细地配置防火墙时选择该选项。

(2)启用防火墙,有关复选框如下。

● WWW(HTTP):HTTP协议,被Apache(及其他Internet服务器)用于网页服务。如果打算向公众开放万维网服务器,选择该复选框,不必启用该选项来本地查看网页或开发网页。如果打算提供网页服务的话,需要安装HTTPd软件包。选择该复选框将不会为HTTPs打开一个端口。要启用HTTPs,在“其他端口”中注明。

● FTP:FTP协议是用于在网络机器间传输文件的协议。如果打算FTP服务器被公开利用,选择该复选框。需要安装vsftpd软件包时,才能利用该复选框。

● SSH:Secure(安全)Shell(SSH)是用来在远程机器上登录及执行命令的一组工具。如果打算使用该工具通过防火墙来访问自己的机器,选择该复选框。为此需要安装openssh-server软件包,以便使用SSH工具来远程访问自己的机器。

● Telnet:Telnet是用来在远程机器上登录的协议,其通信是不加密的,几乎没有提供任何防止网络刺探之类行为的安全措施。建议不要允许进入的Telnet访问,如果允许,必须安装telnet-server软件包。

● 邮件(SMTP):如果允许进入的邮递服务穿过防火墙,使远程主机可以直接连接到本机来发送邮件,选择该复选框。如果想从ISP服务器中收取POP3或IMAP邮件,或者使用fetchmail之类的工具,则清除该复选框。请注意,不正确的SMTP服务器配置会允许远程机器使用你的服务器来发送垃圾邮件。

在“其他端口”字段中指定允许访问的其他端口,格式为端口:协议。例如,如果允许IMAP通过防火墙,则指定imap:tcp。还可以指定端口号,如允许UDP分组在端口1234通过防火墙,输入1234:udp。要指定多个端口,用逗号将它们隔开。最后,选择任何认为应该允许来自其所有交通到系统的设备。选择信任的设备中的任何一个将会允许系统接受来自这一设备的全部交通,而不受防火墙规则的限制。例如,如果在运行一个局域网,但是通过PPP拨号连接到了Internet,则可以选择「eth0」,而后所有来自局域网的交通将会被允许。把「eth0」选为“信任的”意味着所有这个以太网内的交通都是被允许的,但是ppp0接口仍旧有防火墙限制。如果想限制某一接口上的交通,则不要选择它。建议不要将连接到Internet之类的公共网络中的设备定为信任的设备。

要在安装后改变安全级别配置,在shell提示下键入redhat-config-securitylevel命令来启动该工具。如果不是根用户,它会提示输入根口令后继续。

6.设置SELinux(Security Enterprise Linux)

SELinux最早出现在Red Hat Enterprise Linux 4中,这项功能由国家安全署(National Security Agency)开发。它是建构于Kernel之上的安全机制,提供以往只在商业信息技术作业环境才拥有的高阶安全基础架构。该工具的配置界面如图2-34所示。

图2-34 SELinux的配置界面

7.设置kdump

Kdump工具组合提供了新的崩溃转储功能,以及通过跳过引导时的固件加快启动的可能。它可以提供前一个内核的内存转储以调试,其配置界面如图2-35所示。

图2-35 kdump配置界面

8.设置日期和时间

设置日期和时间界面如图2-36所示。

图2-36 设置日期和时间界面

这个界面可以设置系统日期与时间。如果需要较准确的系统时间,可以用网络上的时间服务器校正。单击“网络时间通信协定”(Network Time Protocol,NTP)按钮,单击“启用网络时间通信协定”(Enable Network Time Protocol)选项。然后单击“新增”按钮添加时间服务器的地址,如stdtime.gov.hk。

9.设置软件更新

这个界面用于软件注册,如图2-37所示。

图2-37 设置软件更新界面

10.创建用户

Linux是多用户(Multi-User)的作业系统,为方便管理每个用户的档案及资源,每个用户都有自己的账户及口令,其中root是整个系统中最高权限的账户。因为其权限太大,所以为免无意中损害系统,我们一般会用另一账户处理日常工作,在需要root权限时才进入root账户。大部分distribution在安装时已鼓励用户建立另一账户,其设置界面如图2-38所示。

图2-38 创建用户界面

11.检测声卡

如果安装程序侦测到声卡(Sound Card),则其辅助用户设定相关驱动程序并提示测试,其界面如图2-39所示。

图2-39 声卡界面

12.附加光盘

如果系统安装了附加光盘,则单击“安装”按钮安装,其界面如图2-40所示。

图2-40 附加光盘界面

如果没有附加光盘,则单击“完成”按钮,完成初试化配置,进入登录Red Hat Enterprise Linux 5.0登录界面,如图2-41所示。

图2-41 Red Hat Enterprise Linux 5.0登录界面

13.登录Red Hat Enterprise Linux 5.0系统

输入登录用户和口令后按回车键即可完成登录,如图2-42所示为Gnome桌面环境的截图。

图2-42 Red Hat Enterprise Linux 5.0的Gnome桌面

2.2.3 使用硬盘ISO文件安装Red Hat Enterprise Linux 5.0

1.概述

硬盘ISO文件安装只适用于ext2、ext3或FAT文件系统。如果有其他文件系统,如reiserfs,则无法执行硬盘安装。硬盘安装需要使用ISO(或光盘)映像,它是光盘映像的精确复制件。由于Red Hat Enterprise Linux 5.0 Linux的发行版本中包括了大量软件包,所以可用的ISO映像也有多个。把所需的ISO映像(二进制的Red Hat Enterprise Linux 5.0 Linux光盘)存放到某目录中后,选择从硬盘安装,这样会把安装程序指向要执行安装的目录。在试图安装前校验ISO映像的完整性,可避免硬盘安装过程中经常会遇到的问题。为此,使用md5sum(该程序有适用于各类操作系统的版本),使它应该可以在提供ISO映像的同一服务器中找到。

2.准备

(1)要测试ISO映像校验和的完整性,在安装引导提示下键入命令:

linux mediacheck

(2)设置系统。

使用一组光盘集合,在从每张安装光盘(或DVD)中创建光盘ISO映像文件。对于每张光盘,在Linux系统上执行以下命令(对于DVD,只执行一次):

dd if=/dev/cdrom of=/tmp/rhel5.iso

(3)创建一张引导光盘。

isolinux现在被用来引导Red Hat Enterprise Linux 5.0 Linux安装光盘,创建自己的光盘来引导安装程序的步骤如下。

使用以下命令把第1张Red Hat Enterprise Linux 5.0 Linux光盘上的isolinux/目录复制到临时目录(此处指代为<path-to-workspace>)中:

cp -r <path-to-cd>/isolinux/ <path-to-workspace>

打开刚创建的<path-to-workspace>目录:

cd <path-to-workspace>

确定复制的文件具备正确的权限:

chmod u+w isolinux/*

使用以下命令来创建ISO映像文件:

mkisofs -o file.iso -b isolinux.bin -c boot.cat -no-emul-boot \
-boot-load-size 4-boot-info-table -R -J -v -T isolinux/

3.安装

(1)使用linux askmethod引导选项。

在BIOS中设置使用光盘启动,显示如图2-43所示的提示信息后在boot提示符下输入“linux askmethod”命令。

图2-43 提示信息

(2)选择安装语言。

按回车键,打开选择安装语言界面,如图2-44所示。

图2-44 选择安装语言界面

注意以后的安装的界面有一部分是基于text文本模式的,使用的是英文界面。直到第2次选择语言(此时可以把安装语言重新设置为中文),然后单击“OK”按钮。

(3)选择键盘类型。

打开选择键盘类型界面如图2-45所示。

图2-45 选择键盘类型界面

单击“OK”按钮。

(4)选择硬盘安装方式。

打开选择硬盘安装方式界面,如图2-46所示。选择“Hard drive”选项,然后单击“OK”按钮。

图2-46 选择硬盘安装方式界面

(5)选择分区。

如果在安装方式中选择了“硬盘驱动器”选项,则打开如图2-47所示的选择分区界面,允许指定安装Red Hat Enterprise Linux 5.0 Linux的磁盘分区和目录。

图2-47 选择分区和添加硬盘ISO文件的位置

说明:需要输入包含Red Hat Enterprise Linux 5.0 Linux ISO映像的分区的设备名称,这个分区必须格式化为ext2或vfat文件系统,并且不能是逻辑卷。这里也有一个标签为“包含映像的目录:”的字段,如果ISO映像位于该分区的根(顶级)目录中,则输入/;如果ISO映像位于挂载分区的子目录内,则输入该分区内包含ISO映像的目录名称。例如,如果ISO映像所在的分区被正常挂载为/home/,而映像位于/home/new/中,则可以输入new。当确认磁盘分区后,会看到欢迎对话框,后面的安装步骤和使用光盘安装完全相同。

2.3 通过网络安装Red Hat Enterprise Linux 5.0

本节介绍基于网络的安装方式。

2.3.1 不适合本地安装的情况

不适合本地安装的情况如下。

(1)无软驱和光驱:如果计算机不带光驱或软驱,则无法通过本地安装。

(2)非标准的软驱和光驱:虽然笔记本电脑都会配置光驱,但是并不一定都是标准的IDE设备,有些通过USB接口或1394接口(例如Samsung的Q10)连接。在Linux安装时所引导的Linux内核一般都不会带这些接口的驱动,所以也无法通过本地安装。

(3)在一些场合,如机房中有大量的计算机需要同时安装Linux。如果通过光驱的方式逐台安装,不仅效率低,也不利于维护。

(4)光驱或安装光盘故障。

2.3.2 网络安装

1.3种技术

网络安装需要首先设置一台启动服务器和一台安装服务器(可以配置在同一台物理机上),然后通过网络启动存放在启动服务器上的安装程序。安装程序会自动访问存放在安装服务器上的安装配置文件和安装介质来完成安装,这种安装主要应用了如下技术。

(1)在PC上从网络启动Red Hat Linux安装程序的PXE协议。

(2)Red Hat Linux安装程序提供的无人值守安装功能(Red Hat称为“kickstart”)。

(3)Red Hat Linux安装程序提供的网络安装功能,即通过网络访问安装介质。

2.网络安装所需的软硬件和网络环境

(1)一台PC作为启动和安装服务器(其他架构机器也可)。

(2)一台待安装的PC,其网卡必须带有PXE支持。

(3)一个可以连通的Linux局域网,上述两台机器已经连接入同一子网。

(4)待安装的Red Hat Linux安装介质。

3.网络结构

图2-48所示为网络安装环境的一个原理示意,安装环境由一个局域网和连接到该局域网的启动服务器(Boot Server)、安装服务器(Installation Server)和待安装客户端(Client),其中启动服务器和安装服务器可以部署在同一台物理机上。

图2-48 网络结构

表2-3列出对这些机器的软硬件要求及其负载的服务与数据。

表2-3 安装机的软硬件要求

4.安装步骤

(1)配置启动服务器。

(2)配置安装服务器。

(3)从网络启动完成安装。

步骤(1)和(2)只需执行一次即可。每一台需安装Red Hat Linux的机器都需要在启动和安装服务器中部署相应的数据,并执行一次步骤(3)。

2.3.2 PXE技术

1.PXE技术起源

PXE(Preboot Execution Environment,远程引导技术)是RPL(Remote Initial Program Load)远程启动服务的升级产品。自从Microsoft公司推出Windows 98以来,Inter公司不失时机地推出了该技术,并开发出其服务端PXE-PDK软件。它配合Qualystem公司开发的LiteNET客户端软件,并选用中国台湾DTK公司的E-Terminal,以实现Windows 98的远程启动和执行,使得远程启动技术的可靠性及稳定性大大提高。同时加快了运行速度,在各种Windows应用软件安装上及系统升级和扩展上也容易实现。因此PXE很快成为远程引导技术的主流,目前已经成功地引入到Linux远程安装中。

2.PXE技术的基本原理

PXE技术与RPL技术不同之处为RPL是静态路由,PXE是动态路由。不难理解,RPL是根据网卡上的ID号加上其他记录组成的一个Frame(帧)向服务器发出请求。而服务器中已有这个ID数据,匹配成功则进行远程启动。PXE则是根据服务器端收到的工作站MAC地址(网卡号),使用DHCP服务为这个MAC地址指定一个IP地址。每次重启动可能同一台工作站有与上次启动有不同的IP,即动态分配地址。下面以客户端引导过程说明PXE的原理。

(1)客户端开机后,PXE BootROM(自启动芯片)获得控制权之前执行自我测试,然后以广播形式发出一个请求FIND帧。

(2)如果服务器收到客户端所送出的要求,就会送回DHCP回应,包括用户端的IP地址、预设通信通道,以及开机映像文件;否则服务器会忽略这个要求。

(3)客户端收到服务器发回的响应后则会回应一个帧,以请求传送启动所需文件,并把自己的MAC地址写到服务器端Netnames.db文件中。

(4)将有更多的消息在客户端与服务器之间应答,用于决定启动参数。BootROM由TFTP通信协议从服务器下载开机映像文档,即软盘的映像文件。客户端使用TFTP协议接收启动文件后,将控制权转交启动块以引导操作系统,完成远程启动。

3.PXE安装流程

PXE协议的成功运行需要解决以下两个问题。

(1)既然是通过网络传输,那么计算机在启动时其IP地址如何配置?

(2)通过何种协议下载Linux内核和根文件系统?

第1个问题可以通过DHCP Server解决,由DHCP Server来为PXE Client分配一个IP地址,DHCP Server是用来为DHCP Client动态分配IP地址的协议。不过由于这里是为PXE Client分配IP地址,所以在配置DHCP Server时需要增加相应的PXE特有配置;至于第2个问题,在PXE Client所在的ROM中,已经存在了TFTP Client。PXE Client使用TFTP Client,通过TFTP协议到TFTP Server上下载所需的文件。这样,PXE协议运行的条件就具备了,PXE的安装流程如图2-49所示。

图2-49 PXE安装流程

在图中,PXE Client是需要安装Linux的计算机,TFTP Server和DHCP Server运行在另外一台Linux Server上,Bootstrap文件、配置文件、Linux内核,以及Linux根文件系统都放置在Linux Server上TFTP服务器的根目录下。除了配置文件,这3个二进制文件是PXE Client在工作过程中所必需的文件,即bootstrap、Linux内核和Linux根文件系统。Bootstrap文件是可执行程序,它为用户提供简单的控制界面,并根据用户的选择下载合适的Linux内核以及Linux根文件系统。

2.3.3 kickstart批量安装技术

从5.2版开始,Red Hat Linux开始支持一个称为“kickstart”批量安装的功能。其主要目的是为了减少安装过程中的人机交互,提高安装效率。使用这种方法,只需事先定义一个配置文件(通常存放在安装服务器中),并让安装程序知道该配置文件的位置。在安装过程中安装程序就可以自己从该文件中读取安装配置,这样就避免了烦琐的人机交互,实现无人值守的自动化安装。要使用kickstart,必须执行如下两个步骤。

(1)创建kickstart配置文件。

kickstart配置文件是一个简单的文本文件,其中包含一个安装项目列表。每个项目对应于一个安装选择,都用关键字标明。有如下几种方法生成kickstart配置文件。

● Red Hat提供了一个样例文件,在Red Hat Linux文档光盘中RH-DOCS目录中的sample.ks文件,可以基于该样例来创建的配置kickstart文件。

● 每当安装一台Red Hat Linux机器后,Red Hat Linux安装程序都会创建一个kickstart配置文件,记录实际的安装配置。如果希望实现和某系统类似的安装,可以基于该系统的kickstart配置文件来生成自己的kickstart配置文件。

● Red Hat Linux提供了一个图形化的kickstart配置工具。在任何一个安装好的Red Hat Linux系统上运行该工具,就可以很容易地创建自己的kickstart配置文件。kickstart配置工具命令为redhat-config-kickstart(RHEL3)或system-config-kickstart(RHEL4)

● 阅读kickstart配置文件的手册,用任何一个文本编辑器都可以创建自己的kickstart配置文件。

(2)部署kickstart配置文件,即将kickstart配置文件放置到安装服务器上,并在安装程序的kernel参数中指定kickstart配置文件的位置。

2.3.4 网络安装实例

本节将用实例来说明如何在一台安装了Red Hat Enterprise Linux AS 3 Update 5的PC上设置启动服务器和安装服务器,并在一台PC上安装Red Hat Enterprise Linux 5.0。

1.配置启动服务器

配置启动服务器的目的是帮助在待安装机器上启动Red Hat Linux安装程序,该服务器中需要搭建一个DHCP和一个TFTP服务器。前者是为待安装机器分配IP地址;后者则提供一个让待安装机器下载启动镜像的途径。配置DHCP服务器的步骤如下。

(1)安装DHCP服务器包(RPM包名为“dhcpd”)。

(2)编辑DHCP服务器配置文件/etc/dhcp.conf。如下是一个示例:

option domain-name "mydomain";
ddns-update-style none;
max-lease-time 7200;
server-name "bootserver";
default-lease-time 600;
allow booting;
allow bootp;
subnet 192.168.138.0 netmask 255.255.255.0 {
range 192.168.138.1192.168.138.254;
deny unknown-clients;
}
group pxe {
filename "pxelinux.0";
host testserver { hardware ethernet 00:0C:29:70:24:5B; fixed-address
    192.168.138.30; }
}

在这个例子中,定义的子网是192.168.138.0/255.255.255.0。主机定义项testserver指出IP地址192.168.138.30将分配给以太网卡00:0C:29:70:24:5B(待安装机器),文件pxelinux.0(在TFTP服务器的根目录中)将作为启动映像被网卡ROM中的PXE客户端载入内存并运行。每增加一台需安装的机器,需在dhcpd.conf中增加一个host条目。

(3)启动DHCP服务。

[root@bsvr] #service dhcpd restart

(4)配置TFTP服务器。

首先安装TFTP服务器包(RPM包名:tftpd),然后编辑TFTP服务器的配置文件。/etc/xinetd.d/tftp配置文件如下:

service tftp
{   socket_type    = dgram
    protocol       = udp
    wait          = yes
    user          = root
    server         = /usr/sbin/in.tftpd
    server_args    = -s /tftpboot
    disable        = no}

其中选择/tftpboot为TFTP服务器的根目录位置。

(5)将Linux安装程序的内核/根文件系统文件复制到TFTP服务器的根目录中,对于每一个要被安装的Red Hat Linux版本,都需要执行一次该操作。Red Hat Linux第1张安装光盘/isolinux目录下会包含Linux安装程序的内核/根文件系统文件,下面的命令将这些文件复制到TFTP服务器的根目录下,并按照版本重新命名:

[root@bsvr]#mkdir /mnt/iso
[root@bsvr]#mount -o loop,ro RHEL5.iso  /mnt/iso
[root@bsvr]#cp /mnt/iso/isolinux/initrd.img /tftpboot
[root@bsvr]#cp /mnt/iso/isolinux/vmlinuz /tftpboot
[root@bsvr]#mv /tftpboot/initrd.img /tftpboot/initrd-rhel5-i386.img
[root@bsvr]#mv /tftpboot/vmlinuz /tftpboot/vmlinuz-rhel5-i386

(6)将启动镜像文件pxelinux.0复制到TFTP服务器根目录。

启动镜像文件pxelinux.0可以在syslinux安装包中获得,安装syslinux安装包后,将pxelinux.0复制到TFTP服务器根目录中:

[root@bsvr]#cp /usr/lib/syslinux/pxelinux.0 /tftpboot/

(7)编辑pxelinux.0的配置文件,以使pxelinux可以正确载入Red Hat Linux安装程序。

把所有配置都集中在default文件中是个不错的主意,可以减轻配置文件维护负担。可以将能想到的Red Hat Linux版本的配置都写在该文件中,以同时支持多种Red Hat Linux版本,如下所示(对于具体某个Red Hat Linux版本,如何写对应的行可以参考其安装盘中的配置文件/isolinux/isolinux.cfg),为笔者的default文件:

default linux
prompt 1
timeout 600
display boot.msg
f1 boot.msg
f2 options.msg
f3 general.msg
f4 param.msg
f5 rescue.msg
f7 snake.msg
label linux
kernel vmlinuz
append initrd=initrd.img
label text
kernel vmlinuz
append initrd=initrd.img text
label expert
kernel vmlinuz
append expert initrd=initrd.img
label ks
kernel vmlinuz
append ks initrd=initrd.img
label lowres
kernel vmlinuz
append initrd=initrd.img lowres
label autoinstall
kernel vmlinuz
append ks=nfs:192.168.138.1:/instsvr/ks/ks.cfg initrd=initrd-rhel5-i386.img
label redflag
kernel rfvmlinuz
append initrd=rfinitrd.img

2.配置配置安装服务器

安装服务器在安装期间提供对Linux安装介质和无人值守安装配置文件的访问,安装介质存储在服务器上的一个目录中,可以使用多种网络协议访问它,比如HTTP、FTP和NFS。使用NFS协议,Red Hat Linux安装程序可以支持多种安装介质目录结构,尤其是支持ISO光盘镜像文件。这里我们选择使用NFS协议来访问安装介质,首先配置NFS服务器。

(1)准备ISO安装介质。将Red Hat Linux安装介质的ISO文件都放置到/instsvr目录下。

(2)编辑NFS服务器配置文件/etc/exports,以允许其他机器通过NFS访问目录/instsrv,/etc/exports文件的内容如下:

/instsvr   *(ro,no_root_squash,sync)

选项说明如下。

● *:表示任何IP地址都可以访问该目录,出于安全考虑,也可以指定具体的IP地址。

● ro:表示远程机器对该目录只有读权限。

其他选项请参考NFS手册。

(3)重新启动NFS服务以使新配置生效:

[root@bsvr]# service nfs restart

(4)检测目录/instsrv是否已被正确共享:

[root@bsvr]#showmount -e localhost
Export list for localhost:
/instsrv *

(5)配置kickstart安装。

如下是一个kickstart配置文件实例:

01 # Kickstart file automatically generated by anaconda.
02
03 install
04 nfs --server=192.168.138.1--dir=/instsvr/i386/rhel4u2
05 lang en_US.UTF-8
06 langsupport --default=en_US.UTF-8 en_US.UTF-8
07 keyboard us
08 xconfig --card "VMWare" --videoram 16384--hsync 31.5-37.9--vsync 50-70
--resolution 800x600--depth 16
09 network --device eth0--bootproto DHCP
10 rootpw -iscrypted
11 firewall --disabled
12 selinux --enforcing
13 authconfig --enableshadow --enablemd5
14 timezone Asia/Shanghai
15 bootloader --location=mbr
16 # The following is the partition information you requested
17 # Note that any partitions you deleted are not expressed
18 # here so unless you clear all partitions first, this is
19 # not guaranteed to work
20 clearpart --all
21 part / --fstype ext2--size=8000
22 part swap --size=1000
23
24 %packages
25 @ admin-tools
26 @ editors
27 @ emacs
28 @ text-internet
29 @ legacy-network-server
30 @ dialup
31 @ ftp-server
32 @ compat-arch-support
33 @ legacy-software-development
34 @ smb-server
35 @ base-x
36 @ kde-desktop
37 @ server-cfg
38 @ development-tools
39 kernel-smp
40 system-config-samba
41 rsh-server
42 grub
43 kernel-devel
44 kernel-smp-devel
45 e2fsprogs

说明:所有以"#"号开头的内容都是注释行。

文件中的nfs --server=192.168.138.1--dir=/instsvr/i386/rhel4u2选项告诉安装程序到服务器192.168.138.1的NFS共享目录/instsvr/i386/rhel4u2下查找安装介质。Red Hat Linux安装程序可以识别该目录下应该被读取的ISO光盘镜像文件名,所有不需要指定ISO文件名。关于kickstart配置文件支持的所有选项及其说明,请访问网站 http://www.redhat.com/docs/manuals/enterprise/RHEL-3-Manual/ref-guide/

(6)部署kickstart配置文件。

首先需要把kickstart配置文件放在安装服务器的/instsvr/ks目录下,即该文件的NFS访问路径为:

nfs:192.168.138.1:/instsvr/ks/ks.cfg

其次,需要让安装程序知道使用kickstart方式安装,并告知kickstart配置文件的路径。可以通过在内核添加一个参数“ks=kickstart配置文件路径”来实现,为此,修改启动服务器上的default文件:

LABEL   rhel5-i386
KERNEL vmlinuz-rhel5-i386
APPEND ks=nfs:192.168.138.1:/instsvr/ks/ks.cfg initrd=initrd-rhel5-i386.img
ramdisk_size=8192

这样在启动安装程序时,参数ks=nfs:192.168.138.1:/instsvr/ks/ks.cfg会被传递给它,通知使用这个文件作为kickstart配置文件来安装kickstart。

3.从网络启动机器以完成安装

前面的配置工作完成后,下面在待安装机器上通过网络以无人值守的方式来安装Red Hat Enterprise Linux 5.0。

(1)启动待安装机器,选择从网卡启动,具体方法因BIOS版本不同而异。

(2)网卡中的PXE代码会联系DHCP服务器来获取IP地址及启动镜像,然后启动镜像被载入并运行。

(3)安装程序内核被启动。

(4)安装程序读取kickstart配置文件开始无人值守安装,安装过程中它会根据kickstart配置文件中指定的安装介质地址安装指定的软件包。

(5)安装完成后,安装程序会提示重新启动系统。

(6)更改BIOS。

必须特别注意,重新启动系统时切记要在BIOS中改为从硬盘启动。如果仍然从光盘启动机器,又会重复前面的自动安装步骤自动循环,如图2-50所示。

图2-50 设置计算机从硬盘启动

2.3.5 网络安装总结

这个部分介绍了一种基于网络(网络启动+网络安装)的无人值守Red Hat Linux安装方法。在需要安装大量机器,以及提供自助安装服务的情况下,该方法可以节约大量人力。本章中的示例只涉及了X86体系平台上的Red Hat Enterprise Linux 5.0。事实上,该方法可以容易地推广到其他Red Hat Linux版本和其他硬件平台:

1.其他Red Hat Linux版本

Red Hat Enterprise Linux 3及4的所有版本(AS、ES、WS及Desktop),以及Red Hat Linux 9和Fedora Core版本。

2.其他硬件平台

64位Intel架构及兼容架构服务器(使用AMD64和EMT64处理器)。

对其他Linux厂家的产品,只要利用其无人值守安装功能,即可设计类似的全自动安装方案。例如,Novell SuSE Linux提供了AutoYast功能来实现无人值守安装。

2.3.6 在笔记本电脑中安装Linux的注意事项

在笔记本电脑中安装Linux和在台式机上的安装步骤基本一样,根据笔者的经验,通常有两个问题。一是图形窗口系统的配置,由于笔记本电脑设计的特殊性,显卡往往与主板等组件集成在一起,不容易在安装过程中自动识别并配置;二是作为网络适配器的PCMCIA卡、以太网卡和Modem拨号卡不易配置,所以应使用经过通过Linux认证的笔记本电脑,以提高安装的成功率。要查询Linux支持的笔记本电脑型号,可以进入网站 http://www.linux-laptop.net/,在其主网页的右侧显示依照字母顺序列出所有支持厂商的名称,如图2-51所示。

图2-51 查询支持的笔记本电脑

目前通过进入这个认证数据库的Linux笔记本电脑超过3600多种,首先选择笔记本电脑生产厂商,然后确定型号。可以通过该网页详细了解笔记本电脑的主要配件是否可以在Linux下正常运行,如图2-52所示。

图2-52 查询笔记本电脑中的主要配件是否可以在Linux下正常运行

其中绿色表示可以正常运行,褐色表示可能可以正常运行,白色表示未知,红色表示不能。

2.4 安装的常见故障及其排除

2.4.1 开始安装阶段的故障及其排除

1.无法使用RAID卡来引导

如果无法执行安装并且无法正确引导系统,则可能需要重新安装并且用不同的分区,某些主板的BIOS不支持从RAID卡引导。在安装的结束部分,一个基于文本的屏幕会显示引导装载程序提示(例如,GRUB)和一个闪动的光标。此时会需要重新为系统分区,不论选择自动,还是手工分区。即要在RAID阵列之外,如一个分开的硬盘驱动器中安装/boot分区。对于有问题的RAID卡,必须有一个用于创建分区的内部硬盘驱动器,并在RAID阵列外的一个驱动器的MBR上安装优选的引导装载程序(GRUB或LILO)。引导装载程序应该安装在包含/boot/分区的同一驱动器中,更改后结束安装并使用合适的方法引导系统。

2.信号11错误

信号11错误通称“分段错误”(segmentation fault),指程序进入了没有为其分配的内存位置。如果在安装中接收到一个致命的信号11错误,其原因可能是系统总线内存中的硬件错误。内存中的硬件错误可能由可执行文件,或系统硬件的问题导致。和其他的操作系统一样,Red Hat Enterprise Linux 5.0 Linux对系统硬件也有其自己的要求。某些硬件可能无法满足这些要求,即使它们在其他操作系统下运行正常。检查是否拥有来自Red Hat的最新安装更新和映像,检查在线勘误来确定是否有可用的更新版本。如果最新的映像仍不成功,则可能是由硬件问题导致的。通常是内存或CPU缓存的问题,一种可能的解决方案是关闭BIOS中的CPU缓存还可以试着调换母板插槽中的内存来查看这个问题是和插槽,还是和内存有关的。还可以试一试只使用256 MB内存来运行安装程序,为此使用mem=256M引导选项引导安装程序。要试验这个选项,在安装程序的引导提示后键入:

mem=xxxM

这里的xxx应该用MB为单位的内存数量替换。

这个命令允许超越内核在机器上检测到的内存数量。在一些老系统中,若安装程序只检测到16 MB(而实际有更多内存),或者在显卡和主内存共享视频内存的新系统中,需要使用该引导选项。另外一种方法是在安装光盘上执行介质检查,Red Hat Enterprise Linux 5.0 Linux安装程序具备测试安装介质完整性的能力。它可以用在CD、DVD、硬盘ISO,以及NFS ISO安装方法中。Red Hat建议你在开始安装进程和报告任何与安装相关的错误之前测试这些安装介质(许多错误是由错误的刻录的光盘造成的),要进行测试,在boot:提示下输入命令linux mediacheck。

关于信号11错误的详情可访问http://www.bitwizard.nl/sig11/网站。

3.没有发现IDE光盘

如果在X86、AMD64或IntelEM64T系统中有一台IDE(ATAPI)光驱,但是安装程序未成功地找到它并且询问其类型,则可尝试下列引导命令。重新开始安装,然后在boot:提示后输入linux hdX=cdrom命令。根据光盘连接的接口及其被配置为主还是次而定,把X替换成以下字母之一。

(1)a:第1个IDE控制器,主。

(2)b:第1个IDE控制器,次。

(3)c:第2个IDE控制器,主。

(4)d:第2个IDE控制器,次。

如果在第3个主控制器中安装了IDE光驱则命令为“linux hdc=cdrom”。

2.4.2 初始安装阶段的故障及其排除

1.没有检测到鼠标

如果出现“提示「没有检测到鼠标」”消息,说明安装程序无法正确地识别鼠标。可以继续GUI安装,或者使用不需鼠标的文本模式安装。如果选择前者,则必须为安装程序提供鼠标配置信息。

2.引导进入图形化安装问题

有些显卡在引导入图形化安装程序时会出现问题,如果安装程序无法使用显卡的默认设置来运行,则其会在较低分辨率模式下运行。如果仍不行,则其试图在文本模式下运行。一种可行的解决方法是使用resolution=引导命令,该命令对笔记本电脑用户最有帮助。要禁用帧缓冲支持,允许安装程序在文本模式中运行。试用nofb引导命令,该命令对于某些带有屏幕阅读硬件的辅助功能而言可能是必不可少的。

2.4.3 安装过程中的问题

1.“No devices found to install Red Hat Enterprise Linux”错误消息

可能表明某个SCSI控制器没有被安装程序识别,首先查看硬件厂商的网站来确定是否有能够修正这个问题的可用驱动程序映像。

2.没有软驱,却要保存回溯追踪消息

如果出现回溯追踪错误消息,通常可以保存到软盘中。如果系统中没有软驱,则可以使用scp命令复制到另一个远程系统中。当回溯追踪对话框出现时,回溯追踪消息会被自动写入一个名为“/tmp/anacdump.txt”的文件中。一旦这个对话框出现,键入Ctrl+Alt+F2组合键来切换到一个新的tty(虚拟控制台),然后使用scp命令把消息写入一个已知运行的远程系统中的/tmp/anacdump.txt文件中。

3.分区表问题

如果在设置安装程序的磁盘分区之后出现类似“备份的分区表无法被读取,创建新分区时必须对其执行初始化,从而会导致该驱动器中的所有数据丢失。”的错误消息表示该驱动器中可能没有分区表,或者分区表可能无法被安装程序中使用的分区软件识别。使用EZ-BIOS之类程序的用户遇到过类似的问题,这个问题导致了无法被恢复的数据丢失(假定安装前没有备份)。无论执行哪一种安装类型,都应该备份系统中的现有数据。

4.使用剩余空间问题

假如创建了一个swap和一个/(根)分区,而且选择了让根分区使用剩余空间,但是它并不一定会填满整个硬盘驱动器。如果硬盘大于1024个柱面,则必须创建一个/boot分区才能使/(根)分区使用硬盘中的所有剩余空间。

5.X86体系用户会遇到的其他分区问题

如果使用Disk Druid来创建分区,却无法前进到下一界面,则可能没有创建所有满足Disk Druid的依赖关系所必需的分区。至少需要有一个/(根)分区和一个类型为swap的交换分区。

6.Itanium系统用户会遇到的其他分区问题

如果使用Disk Druid来创建分区,却无法继续。则可能没有创建满足Disk Druid的依赖关系所必需的分区,至少需要有一个类型为VFAT的/boot/efi/分区、一个/(根)分区和一个类型为swap的交换分区。

2.4.4 安装后的问题

1.在基于X86系统的GRUB图形化屏幕中遇到问题

如果在使用GRUB时遇到问题,则可能需要禁用图形化引导屏幕。可以用根用户身份编辑/boot/grub/grub.conf文件,然后重新引导系统来达到这一目的。编辑方法是把grub.conf文件中开头为“splashimage”的行变为注释,即在行首插入#字符。

按回车键退出编辑模式,回到引导装载程序窗口后键入b来引导系统。重新引导后grub.conf文件就会生效,可以重新启用图形化引导屏幕,方法是在grub.conf文件中恢复被注释的行。

2.实现引导入图形环境

如果安装X窗口系统,但是在登录Red Hat Enterprise Linux 5.0 Linux系统后却看不到图形化桌面环境,则可以输入startx命令。按回车键显示图形化界面。请注意,只在这一次操作中有效,并不会改变未来的登录进程。

要设置系统能够使用图形化屏幕登录,打开shell提示。如果登录的是用户账号,键入su命令来变为根用户身份。键入gedit/etc/inittab命令,打开/etc/inittab文件,在第1个屏幕上会看到类似以下内容:

# Default runlevel. The runlevels used by RHS are:
#   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:3:initdefault:

#

要把登录从控制台改为图形化,把id:3:initdefault:行中的数字从3改为5即可。按Ctrl+Q组合键来保存并退出该文件。显示一条消息询问是否要保存所做改变。单击“保存”按钮,重新引导系统后再次登后就会看到图形化登录提示。

3.不能识别全部内存

有时,内核不能识别全部内存(RAM),通常出现在使用老的EDO内存情况,可以用cat/proc/meminfo命令来查看所显示的数量是否与系统内存相同。如果不同,在/boot/grub/grub.conf文件中添加以下一行:

mem=xxM

把xx替换为实际的物理内存数量(以MB为单位)。

当已载入GRUB引导屏幕后,键入e来编辑,显示选定的引导标签配置文件中的项目列表。选择开始为kernel的行,然后键入e来编辑这一引导项目。

在kernel行的末尾,添加:

mem=xxM

这里的xx与系统的物理内存数量相同。

按回车键来退出编辑模式,回到引导装载程序屏幕后键入b来引导系统。

4.配置声卡遇到问题

如果由于某种原因听不到声音。但是已安装了一块声卡,则可以运行声卡配置工具(system-config-soundcard)。要使用该工具,选择“主菜单”→“系统设置”→“声卡检测”选项,会弹出一个小文本框,提示输入根口令。还可以在shell提示下键入system-config-soundcard命令来启动声卡配置工具,如果不是根用户,它会提示输入根口令后继续。要运行基于文本的配置工具,在终端窗口中以根用户身份键入sndconfig。注意,sndconfig程序没有被默认安装,但是可以在Red Hat Enterprise Linux 5.0 Linux的光盘上找到它。

5.基于Apache的HTTPd服务或Sendmail在启动时被挂起

如果在启动基于Apache的HTTPd服务或Sendmail时遇到问题,则确定/etc/hosts文件中包括如下行:

127.0.0.1 localhost.localdomain  localhost boot

6.X服务器崩溃和非根用户的问题

如果在使用非根账号登录时遇到X服务器崩溃问题,则文件系统可能已满(或者缺乏可用的硬盘空间)。要找出所遇到问题的症结所在,运行以下命令:

df -h

该命令会诊断哪个分区已满,关键指标是分区已达到100%,或者90%或95%。/home/和/tmp/分区有时会被用户文件很快填满。可以删除一些老文件,以腾出些空间,然后试着以普通用户身份运行X服务器。

7.忘记根口令的解决方法

如果忘记根口令,需要把系统引导为linux single(单用户模式)。如果使用的是基于X86的系统,GRUB是安装的引导装载程序。显示GRUB引导屏幕后,键入e来编辑,显示选定引导标签配置文件中的项目列表。选择以kernel开头的行,然后键入e来编辑该项引导项目。在kernel行的结尾处添加:

single

按回车键来退出编辑模式,回到引导装载程序屏幕后键入b来引导系统。一旦引导入了单用户模式,则显示#提示符。必须键入passwd root,以允许为根用户输入一个新口令。这时,可以键入shutdown-r now来使用新的根口令重新引导系统。

2.4.5 boot引导命令

本节介绍Red Hat Enterprise Linux 5.0 Linux安装程序中提供的附加引导和内核引导命令,要使用其中的任何一个引导选项,在安装boot:提示下键入需要启用的命令。

(1)askmethod:要求选择从Red Hat Enterprise Linux 5.0 Linux光盘中引导时需要使用的安装方法。

(2)apic:绕过intel 440gx芯片集BIOS中可能会普遍遇到的错误,它只应该使用安装程序内核来执行。

(3)apm=allow_ints:改变挂起服务的处理方式(对于某些笔记本电脑来说可能是必要的)。

(4)apm=off:禁用apm(高级电源管理),它很有用处,因为某些BIOS的电源管理问题重重,很容易崩溃。

(5)apm=power_off:使Red Hat Enterprise Linux 5.0 Linux默认关闭(断电)系统,它对于未默认关闭的smp系统来说有用。

(6)apm=realmode_power_off:某些BIOS在基于X86的系统试图关闭(断电)机器时崩溃。

(7)dd:导致安装程序提示使用驱动程序盘。

(8)dd=url:导致安装程序提示使用来自指定HTTP、FTP或NFS网络地址的驱动程序映像。

(9)display=ip:0:允许远程显示转发,其中,IP应该用你想充当显示系统的ip地址替换。

(10)xhost +remotehostname:在用来显示的系统中必须执行该命令,remotehostname是运行显示命令的主机名称。使用xhost +remotehostname命令限制对远程显示终端的访问,而且不允许来自没有被确切授予远程访问权的人员和系统的访问。

(11)driverdisk:同dd命令,它还会在Red Hat Enterprise Linux 5.0 Linux安装中提示使用驱动程序盘。

(12)ide=nodma:禁用所有IDE设备上的dma,在遇到IDE相关的问题时可能有用。

(13)linux upgradeany:如果已修改/etc/redhat-release文件的默认内容,则该命令会放松对/etc/redhat-release文件的某些检查。

(14)mediacheck:提供测试安装源完好性的机会(如果使用基于ISO的方法),它可用于光盘、DVD、硬盘ISO和NFS ISO安装方法。在试图安装前先校验ISO映像的完整性会避免在安装中经常遇到的问题。

(15)mem=xxxm:允许改变内核在机器上检测到的内存数量。在某些较老的仅能检测到16 MB内存的系统上,以及某些较新的显卡与主内存共享视频内存的机器上,可能需要使用该命令。当执行这个命令时,xxx应该用以MB为单位的内存数量替换。

(16)nmi_watchdog=1:启用内建的内核死锁检测器,它可以用来调试硬性内核锁定。通过执行定期的NMI(不可屏蔽中断)中断,内核可以监控CPU是否被锁,并在需要时打印出调试消息。

(17)noapic:通知内核不要使用apic芯片,它对于某些带有不良apic(如abit bp6)或错误重重的BIOS的母板有帮助。基于nvidia nforce3芯片集(如asus sk8n)的系统有一个已知的问题,即在引导期间IDE探测时会挂起,或显示其他中断发送的问题。

(18)noht:禁用超线程。

(19)nofb:禁用帧缓冲支持,允许安装程序在文本模式中运行,它可能是带有某些读屏硬件的辅助功能所必需的。

(20)nomce:禁用在CPU上执行的自诊断检查,内核默认启用CPU的自诊断(称为“机器检查意外”)。在一些早期的Compaq Pentium系统中可能需要这个命令,因为它们不能正确支持处理器错误检查。几种其他笔记本电脑,尤其是那些使用radeon igp芯片集的笔记本电脑,可能也需要这个命令。

(21)nopass:禁止把键盘和鼠标信息传递给安装程序的第2个阶段。当执行网络安装时,它可以用来在安装的第2个阶段测试鼠标和键盘配置屏幕。

(22)nopcmcia:忽略系统中的任何pcmcia控制器。

(23)noprobe:禁用硬件检测,并提示用户来提供硬件信息。

(24)noshell:禁止在安装时进入第2个虚拟控制台上的shell。

(25)nousb:禁止在安装中载入USB支持。如果安装程序在进程早期容易挂起,该命令能够起到作用。

(26)nousbstorage:在安装程序的载入程序中禁止载入usbstorage模块,它对SCSI系统中的设备排序可能有帮助。

(27)numa=off:Red Hat Enterprise Linux 5.0 linux支持amd64体系中的numa(non-uniform memory access,不规范内存存取)。虽然所有CPU能够存取不带numa支持的内存,在更新内核中存在的numa支持却能够导致内存分配尽可能地偏向于引发其CPU,从而减少CPU间的内存交通,从而在某些应用程序中显著地提高性能。要恢复到原始的无numa行为,指定这个引导选项。

(28)reboot=b:这个X86、amd64和Intel® em64t命令改变内核试图重新引导机器的方式。如果系统关闭时内核被挂起,该命令会导致系统被成功地重新引导。

(29)rescue:运行救援模式,关于救援模式的详细信息参阅《Red Hat Enterprise Linux 5.0 Linux系统管理指南》。

(30)resolution=:通知安装程序要运行哪种视频模式,它接受所有标准的分辨率,如640×480、800×600和1024×768等。

(31)serial:启用串行控制台支持。

(32)skipddc:跳过ddc显示器探测,这种探测在某些系统中会导致问题。

(33)text:禁用图形化安装程序,并强制安装程序在文本模式下运行。

(34)updates:提示插入包含更新(错误修正)的软盘。如果执行的是网络安装,并且已把更新映像存放在服务器上的rhupdates/目录下,则不需要使用该命令。

(35)vnc:允许从vnc服务器中安装。

(36)vncpassword=:设置用来连接vnc服务器的口令。

2.5 Linux硬件的稳定性检测

2.5.1 稳定性检测的作用

在前面已经说明如何检查系统硬件是否存在大的缺陷,本节检查基于Windows界面,它通常可以保障可以安装Linux。如果要稳定运行Linux,特别是把Linux作为服务器运行,硬件稳定性检测是非常必要的。因为下面的测试是在Linux操作系统下运行下进行的,通过检测可以避免以后服务器出现一些莫名其妙的硬件故障。

Linux负有盛名的特点之一是其非凡的稳定性,然而如果硬件有缺陷或配置不正确,即使是最稳定的操作系统也无济于事。

2.5.2 检测CPU

一般情况下,不太明显的错误能引起机器无明显原因的不时锁定,或导致某些进程意外死掉。多数CPU不稳定问题可通过“训练”来触发,即为CPU分配大量的工作,促使其变热,可能还会死机。压力测试CPU的一些方法如下。

1.使用cat/proc/cpuinfo命令

CPU是Linux主机的核心硬件。Linux根目录下/proc目录中的文件不是存放在磁盘上的,其中的文件系统名为“proc文件系统”,是系统内核的映像。即该目录中的文件存放在系统内存中,它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过/proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。/proc目录中的主要文件内容如表2-4所示。

表2-4 /proc目录中的主要文件内容

从表中可以看到CPU的信息存放在cpuinfo文件中,可以使用如下命令查看:

#cat  /proc/ cpuinfo

以下以笔者的Intel(R)Xeon(TM)CPU 2.80 GHz输出:

processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 4
model name : Intel(R) Xeon(TM) CPU 2.80GHz
stepping : 1
cpu MHz : 2793.265
cache size : 1024 KB
fdiv_bug : no   # 没有BUG#
hlt_bug : no    # 没有BUG#
f00f_bug : no    # 没有BUG#
coma_bug : no    # 没有BUG#
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm pni monitor ds_cpl cid
bogomips : 5570.56
processor : 1
vendor_id : GenuineIntel
cpu family : 15
model : 4
model name : Intel(R) Xeon(TM) CPU 2.80GHz
stepping : 1
cpu MHz : 2793.265
cache size : 1024 KB
fdiv_bug : no   # 没有BUG#
hlt_bug : no    # 没有BUG#
f00f_bug : no    # 没有BUG#
coma_bug : no    # 没有BUG#
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm pni monitor ds_cpl cid
bogomips : 5583.66
processor : 2
vendor_id : GenuineIntel
cpu family : 15
model : 4
model name : Intel(R) Xeon(TM) CPU 2.80GHz
stepping : 1
cpu MHz : 2793.265
cache size : 1024 KB
fdiv_bug : no   # 没有BUG#
hlt_bug : no    # 没有BUG#
f00f_bug : no    # 没有BUG#
coma_bug : no    # 没有BUG#
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm pni monitor ds_cpl cid
bogomips : 5583.66
processor : 3
vendor_id : GenuineIntel
cpu family : 15
model : 4
model name : Intel(R) Xeon(TM) CPU 2.80GHz
stepping : 1
cpu MHz : 2793.265
cache size : 1024 KB
fdiv_bug : no   # 没有BUG#
hlt_bug : no    # 没有BUG#
f00f_bug : no    # 没有BUG#
coma_bug : no    # 没有BUG#
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm pni monitor ds_cpl cid
bogomips : 5583.66

要确保CPU硬件没有BUG,以及被系统认别的具体型号。

2.使用专用软件cpuburn-in

这个方便的软件使用机器指令的手工组合为特定CPU施加最大的压力,甚至比重复的内核编译的压力还要大一些。该软件可以根据不同的CPU动态调整运行状态,对CPU是一个非常大的考验。首先要下载安装这个软件:

wget http://users.bigpond.net.au/cpuburn/downloads/cpuburn-in.tar.gz
gunzip cpuburn-in.tar.gz
tar vxf cpuburn-in.tar -C /test

cpuburn-in的测试很简单,只要给出测试时间系统就会一直测试:

# cpuburn-in times

times为测试时间,以分钟计。

图2-53所示为一个典型输出,笔者使用的测试时间是5分钟。

图2-53 5分钟测试时间的输出

如果显示“Test Complete. No errors were found after running 87166 tests.”信息,可以保障CPU没有故障。

网络中多服务器部署cpuburn-in方法,如果逐台测试多台服务器,比较费时。通过为所有的节点分发cpuburn-in软件以同步测试,可以达到事半功倍的效果。假设现在有32台服务器在一个网段,IP地址的范围为10.1.1.1~10.1.1.32。

(1)分发脚本cpusend.sh如下:

#!/bin/sh
for((i=2;i<=64;i++))
do
rcp /test/cpuburn-in 10.1.1.$i:/test/
done

(2)测试脚本cputest.sh如下:

#!/bin/sh(
#其中$1为测试时间,单位是分钟。
for((i=1;i<=32;i++))
do
rsh 10.1.1.$i "/test/cpuburn-in $1 >/test/cpulog"&
done

测试完成后,系统产生/tmp/cpulog日志文件,可以使用脚本view.sh查看cpu是否出错。(3)查看脚本view.sh

#!/bin/sh
for((i=1;i<=32;i++))
do
rsh 10.1.1.$i hostname
rsh 10.1.1.$i "grep -i fail /tmp/cpulog"
done

3.配置CPU实时监控软件xmbmon

除了使用cpuburn-in外,还应该配置实时监控软件xmbmon。

下载安装该软件:

Wget http://www.nt.phys.kyushu-u.ac.jp/shimizu/download/xmbmon/xmbmon205.tar.gz
gunzip xmbmon205.tar.gz
tar xmbmon205.tar
cd xmbmon205
./configure;make;make install

xmbmon可以工作在命令行和X窗口下,首先查看主板,示例如下:

./xmbmon -d
Using VIA686 HWM directly!!
* VIA Chip VT82C686A/B found.

上面显示主板芯片是威盛的VT82C686A/B,下面在命令行下运行:

./xmbmon
Temp.= 42.1, 33.0, 24.2; Rot.= 5357,   0,   0
Vcore = 1.78, 3.11; Volt. = 3.41, 4.93, 12.19,   0.00,  0.00

显示CPU的温度为42.1,电源温度为33.0,主板温度为24.2。CPU风扇转速为5357转/分钟。CPU核心电压为1.78,输入电压12.19、3.41及4.93。默认情况下5秒钟更新一次记录。

在X窗口下的运行xmbmon:

./xmbmon

结果如图2-54所示。

图2-54 xmbmon在X窗口下运行的结果

xmbmon最新版本还提供远程监控的功能:

./xmbmon -p 22

其中-P 22表示打开端口22,这样可以使用Telnet及SSH等远程工具连接Linux主机来检测CPU的状态。

4.抢救CPU

如果CPU在重负载之下发生随机的断续错误,可能CPU正常,或冷却不当。可以检查如下内容。

(1)是否已插上CPU风扇?

(2)是否能相对避免灰尘?

(3)通电时风扇以适当速度旋转吗?

(4)在CPU上固定散热片吗?

(5)在CPU和散热片之间有导热胶吗?

(6)机器通风情况足够好吗?

如果冷却没有问题,但是CPU在重负载之下还是发生随机断续错误,那么建议更换CPU,基于一个有缺陷的CPU部署服务器是不明智的。

2.5.3 检测内存

1.内存故障的症状

坏的内存较为普遍,需要注意内存问题。另外BIOS内存检查检测不到许多坏的RAM,如下现象指出存在坏的内存。

(1)当同时装载大量的程序时,不时有某个程序无明显原因地死掉。

(2)当打开文件时,不时地显示文件被毁坏。如果稍后打开,文件看起来又好了。

(3)当使用tarball(tar xzvf)命令时,tar频频报告tarball已毁坏。过些天再次尝试提取tarball时,tar不报告任何错误。相似的问题也会发生在gzip和bzip2上。

如果正在经历类似的问题,可能是系统RAM有缺陷,下面是两种测试方法。

(1)命令行工具。

现在使用较多的内存测试工具是memtester,该工具捕获内存错误和一直处于很高或者很低的坏位,其测试的主要项目有随机值、异或比较、减法、乘法、除法,以及与或运算等。通过给定大小和次数,可以测试内存。

下载并安装该软件的方法如下:

Wget http://pyropus.ca/software/memtester/old-versions/memtester-4.0.7.tar.gz
gunzip memtester-4.0.7.tar.gz
tar -xvf memtester-4.0.7.tar -C /test
cd memtester-4.0.7
make all

运行该软件,在当前的目录下会生成其可执行文件:

#./memtester ram-size [runs]

● ram-size:要测试的内存的大小,单位是MB。

● runs:测试次数。

图2-55所示为一个典型检测界面。

图2-55 典型的memtesrer测试界面

说明:测试会一直进行,直到用户终止。测试完成后在/test下会产生memtest.log文件,可以查看系统内存的测试结果。

和CPU检测类似,也可以检测多服务器网络。假设现在有32台服务器在一个网段中,IP地址的范围是从10.1.1.1~10.1.1.32。

● 运行命令:

cp /test/memtester-4.0.7/memtester /test

● 分发脚本memsend.sh:

#!/bin/sh
for((i=2;i<=32;i++))
do
rcp /test/ memtester cpuburn-in 10.1.1.$i:/test/
done

● 测试脚本memtest.sh:

#!/bin/sh

#其中$1代表是测试时间的长短,单位是分钟。

for((i=1;i<=32;i++))
do
rsh 10.1.1.$i "/test/ memtester /test/cpuburn-in $1 >/test/memtest.log"&
done

(2)使用光盘工具。

Memtest86是一款免费的内存测试软件,测试准确度比较高,并可查出内存的隐性问题。可以访问http://www.memtest86.com/页面下载其最新3.3版本,这是一个ISO文件。下载链接为http://www.memtest86.com/memtest86-3.3.iso.gz,解压后刻录到光盘。重新启动计算机,在BIOS中设定用光盘启动即可,软件运行界面如图2-56所示。

图2-56 Memtest86软件运行界面

从图中可以看到当前系统所采用的处理器型号为AMD-Duron,频率为1056,并且CPU的一级缓存为128 KB,二级缓存为64 KB,系统物理内存的容量为64 MB,速度为315MB/s。最后显示的是主板所采用的芯片组类型。在系统信息的右侧显示测试的进度,其中“Pass”显示主测试进程的完成进度;“Test”显示当前测试项目的完成进度;“Test #1”显示目前的测试项目。“WallTime”显示测试已经耗费的时间;“ECC”显示当前内存是否支持打开ECC校验功能;“TEST”显示测试的模式,有“标准”和“完全”模式可供选择。为设定检测选项按C键打开Memtest86的设置菜单,按2键选择“Test Selection”选项,按3键选择“All Test”选项打开完全测试模式,如图2-57所示。

图2-57 设定检测选项

说明:ECC(Error Correction Coding或Error Checking and Correcting)是一种具有自动纠错功能的内存,Intel的82430HX芯片组开始支持它,使用该芯片组的主板都可以安装使用ECC内存。但由于ECC内存成本比较高,所以主要应用在要求系统运算可靠性比较高的商业电脑中,例如服务器/工作站等。

主要的内存突发问题(比如“死亡”位)将在几秒钟内检测出来。如果是由特定位模式触发的故障,则需要长时间测试才能检测出来。如果内存容量比较大,则需要有耐心。笔者使用的测试的内存容量是256 MB的DDR 400。使用完全检测模式的时间是44分钟。

如果内存有问题,可能没有全部坏掉,可以采取一些措施来处理。首先查看BIOS安装程序的内存设置,一些BIOS安装程序有称为“Turbo方式”的内存选项。如果启用了一些与此类似的选项,则应该禁用此选项。还有可能BIOS内存定时设置得不正确,可以尝试调整(增加刷新率或降低CAS设置)并重新运行memtest86,查看问题是否解决。如果没有解决,建议更换内存。毕竟目前的内存价格已经非常便宜,1 GB的DDR 2667内存的价格不足250元。

2.5.4 使用整体测试工具PassMark

1.PassMark概述

与memtester和cpuburn不同,PassMark是一款专业的系统可靠性和稳定性测试工具,它通过CPU、硬盘、声卡、显卡(2D/3D)、打印机、内存、串口、网络、磁带机、并口,以及计算机系统与其他外围设备的持久运行来测试系统是否稳定,可以说非常全面。PassMark主要通过同时测试几个资源消耗比较大的测试程序来完成,这些程序是否打开是可以单独控制的。在完成测试后,可以得到一个完整的测试报告,这样就可以从中找到系统的瓶颈。程序测试的每个大类都可以选择,也可以同时打开,主要包括CD/DVD test、Printer port、COM port、RAM test、Video playback、2D graphics、3D graphics、Floppy、Sound card、Network card、Printer,以及USB port。

2.系统要求如下。

(1)Linux kernel 2.6.9或者更高版本。

(2)X Window System X11R6。

(3)KDE 3.2或者更高版本。

(4)Open GL 1.2或者更高版本。

3.下载并安装软件

wget http://www.passmark.com/ftp/bitlinux.tar.gz
gunzip bitlinux.tar.gz
cd /tmp;tar vxf bitlinux.tar

系统会在/tmp目录下生成一个可以执行文件。

4.运行软件

在命令行输入“/burnintest”即可。

测试时,首先单击“Test preferences”选项,微调每个选项,如图2-58所示。

图2-58 设置检测选项

配置保存为文件(Save config as)在需要时载入(Load Config),然后选择“Test/Start test run”选项运行测试。屏幕上出现多个窗口,可以看到各个设备的实时运行情况,如图2-59所示。

图2-59 PassMark运行结果

通常测试时间应当在30分钟以上,然后单击“Stop”按钮停止测试。在主界面的Result Sheet中出现测试结果,查看是否有错误。图中所示为笔者的测试结果,全部组件都是“No errors”,证明系统稳定可靠。

2.6 卸载Red Hat Enterprise Linux 5.0

要从基于X86体系的计算机中卸载Red Hat Enterprise Linux 5.0 Linux,必须从主引导记录(MBR)中删除其引导装载程序信息。在DOS或Windows系统中,可以使用Windows fdisk工具来创建一个新的带有undocumented标志的MBR:/mbr,这将只会重写MBR以引导主DOS分区。该命令如下:

fdisk /mbr

如果需要从硬盘驱动器中卸载Linux,并且已经试图用默认的DOS或Windows的fdisk来实现,将会遇到“分区存在,但又不存在”的问题。要删除非DOS分区的最好方法是使用一个可以识别DOS以外的分区的工具,插入Red Hat Enterprise Linux 5.0 Linux的第1张光盘来引导系统。引导后会看到一个引导提示,在提示下键入“linux rescue会启动救援模式程序。被提示输入键盘和语言需求,输入这些内容”,与在Red Hat Enterprise Linux 5.0 Linux安装过程中输入的一样。下一步通知该程序正在试图查找要救援的Red Hat Enterprise Linux 5.0 Linux安装的屏幕会出现,选择“跳过”选项,会出现一个命令提示,用其来进入要删除的分区。键入命令“list-harddrives”,列出系统中所有被安装程序识别的硬盘驱动器及其大小(以MB为单位)。要删除分区,使用分区工具parted。启动parted,此处的/dev/hda是要删除分区所在的设备:

parted /dev/hda

使用print命令来查看当前的分区表,从而判定要删除的分区号:

print

该命令还可以显示分区的类型(如linux-swap、ext2及ext3等),了解分区类型会帮助判定是否应该删除该分区。使用rm命令来删除分区,例如,要删除次要号为3的分区:

rm 3

删除分区后,使用print命令来确认其已从分区表中删除。一旦删除了Linux分区,并且完成了所有必要的改变,键入“quit”退出parted。在引导提示后键入“exit”退出救援模式并重新引导系统,而不是继续安装。系统会自动重新引导;否则可以按Ctrl+Alt+Delete组合键来重新引导系统。

2.7 系统安装和故障排除的网络资源

系统安装和故障排除的网络资源如下。

(1)Red Hat Enterprise Linux 5.0系统安装官方在线文档如下:

http://www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/zh-CN/Installation_Guide/index.html

(2)PXE的原理如下:

http://www-128.ibm.com/developerworks/cn/linux/l-tip-prompt/l-pex/

(3)远程升级LINUX系统如下:

http://www.ibm.com/developerworks/cn/linux/l-rmupg/

(4)Net booting with DHCP如下:

PXE-Linux and TFTP,http://logout.sh/computers/linux/netboot/

(5)通过网络在IBM p5服务器上安装Enterprise Linux:

http://www.ibm.com/developerworks/eserver/library/es-linux-pservers/?S_TACT=105AGX52&S_CMP=cn-a-l

(6)How to Install Red Hat Linux via PXE and Kickstart如下:

http://www.stanford.edu/~alfw/PXE-Kickstart/PXE-Kickstart.html

2.8 本章小结

本章介绍了安装Red Hat Enterprise Linux 5.0系统的多种方法,包括本地安装和网络远程安装以及批量安装,并说明了安装过程中的常见故障及其排除方法。此外讲解了安装完成前后如何对服务器进行必要的稳定性检测。安装Red Hat Enterprise Linux 5.0完成后马上对服务器进行必要的稳定性检测是避免以后服务器出现物理故障重要手段。Linux负有盛名的特点之一是其非凡的稳定性,然而如果硬件有缺陷或配置不正确,即使是最稳定的操作系统也无助于事。