Linux服务器配置与管理
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.1 安装前的准备工作

大多数计算机都能顺利安装RedHat Enterprise Linux AS4。如果在计算机上安装RedHat Enterprise Linux AS4,则只要在驱动器中放入安装光盘,将计算机的BIOS设置成从光盘启动,然后重新启动计算机。RedHat Enterprise Linux AS4安装程序会启动和自动检测到大多数硬件。

2.1.1 硬件要求

在安装一个系统之前,了解它的硬件需求是非常重要的,因为如果系统与用户计算机的硬件不兼容,用户就无法安装这个系统。Linux与最近两年内厂家提供的多数硬件兼容。然而,硬件的技术规范几乎每天都在改变,因此Linux的不同版本很难保证与用户计算机的硬件完全兼容。下面将介绍RedHat Enterprise Linux AS4的硬件要求。

1.CPU

虽然RedHat Enterprise Linux AS4对CPU的要求不是很高,但因为系统会使用浮点运算器,所以建议用户采用相当于Pentium等级或更高性能的CPU,这样在处理性能上会比较好。Linux具有支持smp平行处理的能力,在x86架构的平台上符合intelmpsv1.1/1.4标准。

2.主板

任何主板基本上都能与RedHat Enterprise Linux AS4兼容,一般不会出现什么问题。

3.内存

如果系统单纯使用文本模式,则内存要求很低,一般的计算机内存都可以,如果要执行X-Windows System,则至少需要128 MB内存,推荐使用256 MB以上的内存,如果要使用gnome或kde一类的集成操作环境,建议使用更高的内存。现在的计算机内存一般都在256 MB以上,所以,内存需求应该不成问题。如果想将Linux计算机连接上网络,供多人登录使用,则需要更多的内存来满足每个登录用户的需求。

4.硬盘空间

操作系统通常要使用硬盘分区,RedHat Enterprise Linux AS4也不例外,而且它至少需要两个分区。在系统开始安装之前,硬盘空间必须要满足以下条件之一:

(1)计算机必须有大于1 GB以上未分区的硬盘空间来安装Linux。

(2)硬盘必须有一个或多个可以删除的分区,并具有足够的空间来安装Linux,一般来说,完全安装需要大约5 GB的硬盘空间。

5.显卡

要执行X-Windows System,显卡必须能够配合驱动程序。Linux对显卡的支持分为纯文本模式和X-Windows System图形模式,一般而言,采用文本模式时,只要具备VGA级或更好的显卡就可以。对于RedHat Enterprise Linux AS4来说,大多数显卡都能够被自动识别。但如果所使用的显卡是刚推向市场的新型号,可能还不被系统支持。而目前尚未被支持的显卡,并不代表完全不能使用,用户可以尝试使用SVGA的XServer。

6.显示器

显示器基本上都能被Linux支持,只要在设置X-Windows System的分辨率时,注意调整显示器的水平和垂直扫描率即可。当设置的分辨率越高时,扫描频率也要越高,才不会造成画面闪烁的情况。这需要显示器与显卡相互配合,用户可以参阅所使用的显示器和显卡的说明手册来进行具体设置。

7.网卡

一般的网卡都能被RedHat Enterprise Linux AS4支持,如3com,d-link和RealTek等,对于不直接支持的网卡,可以尝试采用与ne2000网卡兼容的模式来使用。

8.光驱

一般的CD-ROM/DVD-ROM都能被RedHat Enterprise Linux AS4支持。

9.其他

其他的设备如键盘、鼠标等,一般系统都可以自动检测到;软驱属于可选设备。

2.1.2 系统硬件设备型号

硬件兼容是一个需要考虑的问题,为了能正确安装RedHat Enterprise Linux AS4,安装前最好了解系统硬件设备的具体型号(如鼠标、网卡、显卡和显示器的型号)。这些信息最好参考购买计算机时的硬件清单,如果没有清单,可以进入Windows系统,然后在设备管理器中查看。方法是在Windows系统中,右键单击桌面上的“我的电脑”图标,在弹出的快捷菜单中选择“管理”命令,打开如图2-1所示的“计算机管理”窗口。

图2-1 计算机管理

在“计算机管理”窗口中,选择左侧列表的“系统工具”选项,这时可以看到右侧有“设备管理器”选项,选择“设备管理器”,左键双击即可打开如图2-2所示的“设备管理器”窗口。

图2-2 设备管理器

在“设备管理器”窗口中,选择不同的设备即可查看其型号信息。

RedHat网站提供了经过兼容性测试和认证的“硬件兼容性列表”,在得到的系统硬件设备具体型号后,最好访问网站来查看用户的配置是否在清单之中,如果用户的硬件型号都能在这里找到,就说明硬件可以满足RedHat Enterprise Linux AS4的要求。

2.1.3 与其他操作系统并存的问题

Linux支持在一台计算机中安装多个操作系统,它可以通过使用GRUB多重启动管理器来支持多操作系统并存,GRUB可以引导FreeBSD、OpenBSD、DOS和Windows等操作系统。计算机启动时,用户可以使用GRUB提供的菜单选择需要启动的系统,所以不必担心出现安装了Linux后,导致其他操作系统不能使用的问题。

下面介绍一下安装多操作系统的一般步骤。

(1)一个简单的软件方案

一个操作系统需要一个运行平台,对计算机来说那就是一个磁盘分区。使用多系统要有一块大空间的硬盘,并分成不同的分区。通常把一个操作系统放在一个分区里。作为扩展分区的硬盘没有自己的存储空间,一个纯数据分区放置个人数据,另一个纯数据分区放置公共引导装载器,还有所有Linux需要的一个Swap分区,最后除去上边的几个分区留下的n分区放置那n个系统。

(2)一个简单的引导方案

把GRUB装入纯数据分区,在任何一个操作系统被安装之前就建立一个引导所有分区的引导菜单。当一个分区塞进系统以后立即就变得可引导了。这个方案绝对的简单,听来很有技术性,在所有的情况下都完美的可用,但对一些计算机高手来说这看起来很有内涵。对那些对GRUB知之甚少的人来说,它只不过是通常Linux里使用的双系统引导装载器而已。另一个相似功能的东西叫Lilo,在2007年初可能有大约40%Linux发行版使用它。

简而言之,使用GRUB去启动多个之中任何一个选择使用的系统的引导文件。接下来的工作就交给引导文件了,它会启动对应的系统。

(3)一个简单的安装方案

它真的很简单,只是把每一个系统安装到一个单独分区。对于微软系统工作稍微多一点,因为必须安装一个单独的系统,为了让它总能从“C”盘启动。然后把带有系统的硬盘移到最后一个分区,编辑GRUB菜单文件让它能重新以“C”盘的状态启动。

这个方案依赖于每一个系统的根分区内有一个引导文件。这在每一个微软系统和其他依赖从主分区启动的操作系统都固有这个引导文件。对于Linux来说这是一个可任意选择的选项。

(4)必要工具

● 一张可引导的Grub软盘或CD。

● 一张LinuxLive CD,理想的是有Grub集成在里面那种。

● 一张DOS 6或者更高版本的引导软盘,带fdisk.ext的那种。

● 一张Win 2k或XP安装CD。

(5)硬盘注意事项

大多数微软系统是安装在主分区,而一个硬盘最多可以有4个主分区。为了得到更多的分区用户必须要放弃一个主分区,而把它作为一个扩展分区。在Linux中,一个Pata(或者IDE)硬盘最多可以有63个分区,对于SATA或SCSI的限制则是15个。

扩展分区也占用一个设备名称,但是不能用于存储,因为它只是定义逻辑分区开始和结束点的边界。

Linux在主分区和逻辑分区都可以安装和引导,基于这一点把主分区分给微软系统是有利的。

在任何一个硬盘上,Linux通常把逻辑分区的每一个分区命名为第五分区。因此,理论上在一个PATA硬盘(也就是hda)上,主分区最多可以使用hda1、hda2和hda3三个名称,hda4作为扩展分区支持最多59个逻辑分区(从hda5到hda63)。

在实际中,一些Linux阻止显示第60个以后的分区,还有一些发行版,像红帽家族,不显示超过15以后的分区,甚至它们自己被安装在这些限制之后也是一样。

2.1.4 安装方式

Linux和Windows一样,可以通过多种方式进行安装,甚至比Windows的安装更为简单、方便。RedHat Enterprise Linux AS4可以支持以下几种安装方式。

(1)光盘安装:直接使用安装光盘的方式进行安装,这种方式是最简单的也是最常用的安装方法,推荐初学者使用。

(2)硬盘安装:将ISO安装光盘映像文件复制到硬盘上进行安装。

(3)网络安装:可以将系统安装文件放在Web、FTP或NFS服务器上,通过网络进行安装。

2.1.5 硬盘分区和文件系统

在安装Linux前,先要对硬盘分区和文件系统的基本概念进行一些初步的了解。

1.硬盘分区

分区从实质上讲就是对硬盘的一种格式化。当创建分区时,就已经设置好了硬盘的各项物理参数,指定了硬盘主引导记录(即Master Boot Record,MBR)和引导记录备份的存放位置。而对于文件系统,以及其他操作系统管理硬盘所需要的信息则是通过之后的高级格式化,即Format命令来实现。

安装操作系统和软件之前,首先需要对硬盘进行分区和格式化,然后才能使用硬盘保存各种信息。许多人都会认为既然是分区就一定要把硬盘划分成好几个部分,其实用户完全可以只创建一个分区使用全部或部分的硬盘空间。不过,无论划分了多少个分区,也无论使用的是SCSI硬盘还是IDE硬盘,都必须把硬盘的主分区设定为活动分区,这样才能够通过硬盘启动系统。

(1)扩展分区和逻辑分区

DOS和FAT文件系统最初都被设计成可以支持在一块硬盘上最多建立24个分区,分别使用从C到Z的24个驱动器盘符。但是主引导记录中的分区表最多只能包含4个分区记录。为了有效地解决这个问题,DOS的分区命令FDISK允许用户创建一个扩展分区,并且在扩展分区内再建立最多23个逻辑分区,其中的每个分区都单独分配一个盘符,可以被计算机作为独立的物理设备使用。关于逻辑分区的信息都被保存在扩展分区内,而主分区和扩展分区的信息被保存在硬盘的MBR内。这也就是说无论硬盘有多少个分区,其主启动记录中只包含主分区(也就是启动分区)和扩展分区两个分区的信息。

(2)一个误解

可能有许多人都会有这样一个错误的认识,那就是在对硬盘进行分区时最好多创建几个逻辑分区,这样可以避免出现问题的分区影响到保存在其他分区中的数据。但是事实往往并非如此,一个被损坏的分区往往会导致整个硬盘无法正常使用。我们已经在前面提到过主分区和扩展分区的信息都是被保存在MBR中,如果由于某种原因使MBR受到破坏,硬盘主分区将无法使用,进而使包含操作系统的启动盘也无法使用。

但是也许有人会认为逻辑分区的信息并不保存在MBR中,因此逻辑分区并不会受到任何影响。其实我们忽略了这样一个事实,那就是虽然逻辑分区的信息保存在扩展分区内,但是扩展分区的信息却是被保存在MBR中。这样,通过相互之间的作用,使逻辑分区最终也不能免受影响。不过一般情况下,一个分区受到损坏而其他分区仍然可以正常工作。例如,如果一个逻辑分区出现问题,很多时候其他的逻辑分区,以及主分区和扩展分区都不会受到任何影响。

(3)Windows操作系统分区

Windows操作系统一般采用一个主分区加一个扩展分区,在扩展分区中内建立多个逻辑分区的分区方案,如图2-3所示,其中,SYS(C)是主分区,剩下的四个为扩展分区。

图2-3 磁盘管理

2.Linux分区

(1)设备管理

在Linux中,每一个硬件设备都映射到一个系统的文件,对于硬盘、光驱等IDE或SCSI设备也不例外。Linux把各种IDE设备分配了一个由hd前缀组成的文件,而对于各种SCSI设备,则分配了一个由sd前缀组成的文件。

例如,第一个IDE设备,Linux就定义为hda;第二个IDE设备就定义为hdb;下面以此类推。而SCSI设备就应该是sda、sdb、sdc等。

(2)分区数量

要进行分区就必须针对每一个硬件设备进行操作,这就有可能是一块IDE硬盘或是一块SCSI硬盘。对于每一个硬盘(IDE或SCSI)设备,Linux分配了一个1~16的序列号码,这就代表了这块硬盘上面的分区号码。

例如,第一个IDE硬盘的第一个分区,在Linux下面映射的就是hda1,第二个分区就称做是hda2。对于SCSI硬盘则是sda1、sdb2等。

(3)各分区的作用

对于早期的DOS和Windows(Windows2000以前的版本),系统只承认一个主分区,可以通过在扩展分区上增加逻辑盘符(逻辑分区)的方法,进一步地细化分区。主分区的作用就是计算机用来进行启动操作系统的,因此每一个操作系统的启动(也成为引导程序)都应该存放在主分区上。这就是主分区和扩展分区及逻辑分区的最大区别。在指定安装引导Linux的bootloader的时候,必须指定在主分区上,就是最好的例证。

Linux规定了主分区(或者扩展分区)占用1~16号码中的前4个号码。以第一个IDE硬盘为例说明,主分区(或者扩展分区)占用了hda1、hda2、hda3、hda4,而逻辑分区占用了hda5~hda16等12个数字。因此,Linux下面每一个硬盘总共最多有16个分区。

对于逻辑分区,Linux规定它们必须建立在扩展分区上(在DOS和Windows系统上也是如此规定),而不是主分区上。因此,扩展分区能够提供更加灵活的分区模式,但不能用来作为操作系统的引导。

(4)分区指标

对于每一个Linux分区来讲,分区的大小和分区的类型是最主要的指标。容量的大小读者很容易理解,但是分区的类型就不是那么容易接收了。分区的类型规定了这个分区上面的文件系统的格式。Linux支持多种的文件系统格式,其中包含了我们熟悉的FAT32、FAT16、NTFS、HP-UX,以及各种Linux特有的LinuxNative和LinuxSwap分区类型。在Linux系统中,可以通过分区类型号码来区别这些不同类型的分区。

3.文件系统

文件系统指文件存在的物理空间。在Linux系统中,每个分区都是一个文件系统,都有自己的目录层次结构。Linux的最重要特征之一就是支持多种文件系统,这样它更加灵活,并可以和许多其他种操作系统共存。由于系统已将Linux文件系统的所有细节进行了转换,所以Linux核心的其他部分及系统中运行的程序将看到统一的文件系统。

Linux有4种基本文件系统类型:普通文件、目录文件、连接文件和特殊文件,可用file命令来识别。

(1)普通文件:如文本文件、C语言源代码、SHELL脚本、二进制的可执行文件等,可用cat、less、more、vi、emacs来查看和编辑,用mv来改名。

(2)目录文件:包括文件名、子目录名及其指针。它是Linux储存文件名的唯一地方,可用ls列出目录文件。

(3)连接文件:指向同一索引节点的那些目录条目。用ls来查看时,连接文件的标志用l开头,而文件面后以“->”指向所连接的文件。

(4)特殊文件:Linux的一些设备如磁盘、终端、打印机等都在文件系统中表示出来,则此类文件就是特殊文件,常放在/dev目录内。例如,软驱A称为/dev/fd0。Linux中没有C:的概念,而是用/dev/had来表示第一硬盘。

Linux的文件有不同的权限,用ls –l [filename]来列出。例如查看当前目录下所有的文件详细信息如图2-4所示。

图2-4 查看文件权限

4.目录系统

Linux的目录系统中常用的目录有:

● /etc--包括大多数引导系统或激活系统所需的系统专用数据,如:host.conf、httpd等。

● /lib--包含c编译程序需要的函数库,是二进制文件,如:cpp。

● /usr--包括所有其他内容,如:src,local。

Linux的内核就在/usr/src中。其下有子目录:

● /bin--存放所有安装的语言的命令,如:javac,java,gcc,perl等。

● /var--包含系统定义表,以便在系统运行改变时可以只备份该目录,如cache。

● /tmp--用于临时性的存储。

● /bin--大多数命令存放在这里。

● /home--主要存放用户账号,另外还有ftp;系统管理员增加用户时,系统会在这里自动增加与用户同名的目录,此目录下一般默认有Desktop目录。

● /dev--包含称为设备文件的特殊文件,如fd0、had等。

● /media--在Linux系统中,它是专门给外挂的文件系统使用的,里面有两个文件cdrom和floopy,登录光驱、软驱时要用到。

2.1.6 Linux分区方案

Linux下的分区方案比较优越。与Windows下抽象的C盘、D盘不同,Linux下的分区都有特定的名字(英文),而且都有特定的功能。

每个Linux系统中必须要有的分区只有两个。一个是根分区(/),相当于我的电脑(如果不设置其他子分区)。一个是交换区(swap),这个分区只能是swap格式(而非什么Ext2之类),其大小一般设置为内存的两倍大小(内存少于256 MB时)或和内存一样(内存为256 M及以上时)。

交换分区swap的功能和Windows下的交换文件相同,都是作为虚拟内存使用。但是Windows下,交换文件的大小是动态增长的(也可以固定),从而要求必须为交换文件所在分区保留一定的空间(一般C盘必须保留300 MB左右的空间备用),否则运行大程序时会提示[虚拟内存不足]。而Linux下,由于虚拟内存采用了独立的分区,在文件分区时可以不必考虑交换文件的问题,也不必保留“备用空间”。系统盘就算经常耗到几十KB,照样运行顺畅。

除了这两个区以外,其他的分区就完全自由安排了。其实这些分区,就像是把单个的文件夹“挂载”而成的。比如说,本来系统中有一个文件夹(/tmp,即根分区下的tmp目录,相当于C盘下的Windows\temp文件夹)专门用来存放临时文件,但也可以用某个单独的分区来存放,名字就叫/tmp,系统会自动把本来需要写到tmp目录中的文件写到这里。当你进入/tmp目录时,就不再是进入一个文件夹,而是进入了一个独立的分区。这就叫做“挂载”到/tmp这个“挂载点”上。

这种方案有什么好处呢?举例说,Windows下QQ的配置信息都保存到QQ的安装目录下,但如果在Linux下则需要保存到用户目录(/home/用户名)下。如果不在根分区下建立/home文件夹而单独建立/home分区的话,那么如果需要重装系统,格式化系统分区什么的,只要不改动/home分区,那么不管格式化几次,重装几次系统,重装几次QQ,配置文件都在那里,像自动回复设置什么的都不需要重新配置。所以通常建议将/home独立分出来,这样所有的软件配置文件都会保存到里面。

另一个好处就是,我们事实上可以将可以“挂载”的东西“挂载”到任何地方。比如将一个ISO光盘镜像文件直接挂载成一个分区(随你叫什么名字,但通常都会挂载到/media/cdrom目录下),这样就用不着什么虚拟光驱软件了,Linux下我们拥有无数个虚拟驱动器。

好的分区方案是独立分出/home区作为用户盘,/usr区作为软件盘(通常Linux下的软件都安装到/usr或其子目录下),余下的也就只有一些系统文件了,统统放到/区,作为系统盘。另外还有一个适于当前内存的swap交换区,一个40 GB的硬盘分区的例子如表2-1所示。

表2-1 系统分区方案

这里要提一下Linux下的设备命名方式。在Linux中,每一个硬件设备都映射到一个系统的文件,对于硬盘、光驱等IDE或SCSI设备也不例外。

Linux把各种IDE设备分配了一个由hd前缀组成的文件,而对于各种SCSI设备,则分配了一个由sd前缀组成的文件。例如,第一个IDE设备,Linux就定义为hda;第二个IDE设备就定义为hdb;下面以此类推。而SCSI设备就应该是sda、sdb、sdc等。

要进行分区就必须针对每一个硬件设备进行操作,这就有可能是一块IDE硬盘或是一块SCSI硬盘。对于每一个硬盘(IDE或SCSI)设备,Linux分配了一个1~16的序列号码,这就代表了这块硬盘上面的分区号码。例如,第一个IDE硬盘的第一个分区,在Linux下面映射的就是hda1,第二个分区就称做是hda2。对于SCSI硬盘则是sda1、sdb1等。