第一章:介绍Linux
什么是Linux?
Linux是一个操作系统。最初它是由在芬兰赫尔辛基大学念书的Linus Torvalds作为一种业余爱好开发出来的。Linus对用于教学的一种小型的Unix操作系统-Minix很感兴趣,决定开发出超过Minix的操作系统。在1991年,他开始Linux的开发,那时候的Linux是0.02版。到了1994年,Linux内核的1.0版发布了。现在稳定的Linux内核版本是2.2版,开发工作还在继续进行。
Linux的开发是遵循GPL的,它的源代码任何人都可以免费获得。但是这并不是说Linux以及Linux的发行版本是免费的。只要源代码保持公开,开发人员是可以要求获得适当的报酬。Linux可以用在很多方面,包括:网络、软件开发和桌面平台。Linux常被认为是其它昂贵的操作系统的替代品。
因为Linux操作系统的稳定和健壮,以及很容易得到,它在世界上越来越流行。成千上万的程序员在根据自己的需要利用Linux的源代码。现在,有很多正在进行中的项目尝试着把Linux移植到不同的硬件平台上,或把Linux用于其它的用途。
为什么要用Linux
首先,它是免费的。尽管Linus Torvalds拥有Linux的商标。Linux的内核和相关的软件是遵循GPL的。这意味着你可以更改源代码,并靠买程序获利,但是最初的作者拥有版权而且你必须公布修改过的源代码。
尽管Linux在基于Intel平台的计算机上最流行,但是相对其它操作系统,它可以运行在更多的CPU和硬件平台上。其原因是:除了拥有很多天才的开发人员之外,Linux是带着源代码一起发行的,而且它的内核是可移植的。
现在软件和硬件行业的趋势是让用户去买更快的计算机,不断地扩充内存和增加硬盘空间。Linux并不受这些“增肥”趋势的影响,它甚至可以在内存不是很多的486计算机上运行得很好。
Linux很少死机,你可以停止那些有问题的进程,而让操作系统正常地运行下去。而且,Linux用的是最先进的内存管理技术,不会让你的操作系统失去控制,也根本不要经常重启操作系统。
如果需要安装的是一个服务器操作系统,那么Linux是有很多优势的,特别是比起其它操作系统,如Windows 2000,要便宜得多了。还有一个优点是:Linux几乎不受病毒的攻击。因为遵循GPL和开放源代码,基本上你可以获得操作系统以及操作系统上所有软件的源代码。
让我们排除对使用Linux的一些害怕和疑虑
Linux不过是一个象玩具一样的操作系统
Linux正被越来越多的Fortune 5000的企业、政府部门和消费者所采用。不信的话,去问一问IBM、Compaq、Dell、Apple Computer、Burlington Coast Factory、Amtrak、Virginia Power、NASA或成百上千万的Linux用户吧。
Linux没有技术支持
尽管有不少人认为Linux是没有技术支持的操作系统,但是每个Linux的发行版都提供12,000多页的文档。Linux的商业发行版,例如:RedHat Linux、Caldera、SuSE 和OpenLinux给注册用户提供安装支持,小企业和公司可以得到一些商业技术支持公司的服务支持。作为一个开放源代码的操作系统,你可以得到Linux的全部源代码。如果你遇到一些问题而且自己有解决问题的能力,就自己解决吧!不用为了得到技术支持等上很长的时间,许多严重的问题(如系统安全问题)可以在Internet上的Linux社团的帮助下几个小时内解决。
第二章:安装Linux服务器
了解你的硬件环境
了解硬件环境是成功安装RedHat Linux的关键。因此,必须用一些时间熟悉一下自己的硬件环境。准备好回答如下的问题:
1. 计算机上有几个硬盘?
2. 每个硬盘的大小?
3. 如果有两个以上的硬盘,哪一个是主盘?
4. 内存有多大?
5. 计算机上有SCSI卡吗?如果有,型号是什么?由哪家公司生产的?
6. 鼠标是什么类型的(串口,还是PS/2)?
7. 鼠标有几个键?
8. 如果是串口鼠标,那么连在哪个串口上?
9. 显卡的产商和型号,有多少显存?
10. 显示器的产商和型号?
11. 如果想把计算机连接到网络上,请再注意下面几个问题:
a) 计算机的IP地址?
b) 网络掩码?
c) 网关地址?
d) 域名服务器的地址?
e) 域名?
f) 主机名?
g) 网卡型号和厂商?
创建启动盘,引导Linux
如果你安装过很多次Linux,结果都失败了,那么可能需要一个修正过的软盘镜像。在这种情况下,可以去RedHat Linux的勘误网站去下载特殊的软盘镜像。
因为这是很少见的情况,应该尽可能地先试一下标准的安装软盘,只有在实在不能完成安装的情况下,才有必要去勘误网站看看。RedHat 6.1的光盘可以从光驱直接启动。如果你的计算机不支持直接启动,那么也可以在MS-DOS下创建启动盘,请用下面的命令(假定CD-ROM的盘符是d:,里面放的是RedHat Linux 6.1的光盘):
在windows下打开MS-DOS方式(开始 | 程序 | MS-DOS方式):
C:$#@62; d:
D:$#@62; cd dosutils
D:dosutils$#@62; rawrite
Enter disk image source file name: ..imagesoot.img
Enter target diskette drive: a:
Please insert a formatted diskette into drive A: and press --ENTER-- :
D:dosutils$#@62;
当rawrite.exe要求输入软盘镜像的时候,输入完整的boot.img的路径名,把软盘插入A驱。当程序问你把镜像写入哪个软盘驱动器的时候,输入a:。
RedHat Linux的勘误网站是:http://www.redhat.com/errata。
因为我们不从CD-ROM启动,而从软盘启动安装,所以把软盘插入A:驱,然后重新启动计算机。当出现boot:的时候,按下回车键,继续引导。
* 选择语言
* 选择键盘类型
* 选择鼠标类型
安装类型和方法
RedHat Linux 6.1有以下几种安装类型:
* GNOME工作站
* KDE工作站
* 服务器
* 自定义
有些安装类型(GNOME工作站、KDE工作站和服务器),简化了安装过程,但是失去了很多灵活性。
因此,我们建议你选择“自定义”安装,这样你可以选择安装什么服务器软件以及如何划分你的硬盘。我们的目标是安装尽可能少的软件,以保证系统的高效率。而且,安装的软件越少,安全漏洞也就越少。
选择“Custom”,继续安装。
创建分区
警告
我们强烈建议在分区之前,先备份你当前的系统。为了保证系统高效、稳定和安全,我们还建议你象下面介绍的那样分区。我们这样分区是假定你要配置一个Web和Proxy服务器。
之所以在分区中有两个特殊的“/chroot”和“/cache”分区是因为:“/chroot”分区是为DNS服务器、Apache服务器和其它需要改变根目录的(chrooted)服务器准备的;“/cache”分区是为Squid Proxy服务器准备的。如果你不打算安装Squid Proxy服务器,那么不必创建“/cache”分区,但是请注意:Squid+Apache的结合会把服务器的性能和安全提高很多。
如果想让数量比较多的用户访问你的服务器,必须把“/tmp”和“/home”放在不同的分区上,这几乎是强制的。这样做可以避免分区被一些用户文件填满。把“/var”和“/usr”放在不同的分区也是一个好主意。使“/var”和其它分区分开也可以避免分区被填满。
在我们的分区安排中,特别保留了400MB的磁盘空间给改变根目录的(chrooted)程序,比如:Apache、DNS以及其它软件。这是必须的,因为Apache的DocumentRoot文件和其它可执行的程序都会被安装在这个分区上。注意:Apache chrooted目录在“/chroot”分区上的大小是和“DocumentRoot”文件的大小成正比的。如果不准备安装和使用Apache,可以把分区大小减小到10M,这10M是DNS服务器所必需的。
最小的分区要求
下面是Linux能够正常运行的最小分区要求。这样的分区安排甚至可以适用于只有512MB硬盘的老式486计算机机。当然,这种分区安排只是一个建议。
/ 35MB
/boot 5MB
/chroot 10MB
/home 100MB
/tmp 30MB
/usr 232MB
/var 25MB
Disk Druid分区工具
Disk Druid是RedHat Linux带的一个分区工具。选择“Add”添加新的分区,“Edit”改变分区,“Delete"删除分区,“Reset”恢复原来的分区状态。在添加一个新分区的时候,会出现一个窗口,要求你添上有关这个分区的一些必要的信息。要求添的信息是:
* Mount Point: 分区装载(mount)的目录
* Size: 分区的大小,以兆为单位
* Partition Type: 分区类型。Linux的文件系统要使用Linux native类型的分区,Linux交换分区请用Linux Swap类型。
如果你有一个SCSI硬盘,那么这个设备的名称将是“/dev/sda”;如果你有一个IDE硬盘,那么这个设备名称将是“/dev/hda”。如果很在意系统的高性能和稳定性,我们建议你用SCSI硬盘。
Linux分区的命名方式是字母和数字相结合的,这种命名方式很灵活也很直观。下面是一个小小的总结:
* 前两个字母:前两个字母表示设备类型,“hd”代表IDE硬盘,“sd”表示SCSI硬盘
* 第三个字母:这个字母是说明具体的设备。例如:“/dev/hda”表示第一个IDE硬盘;“/dev/hdb”表示第二个IDE硬盘。
请记住这些,这样给Linux分区的时候,会觉得容易一些也不会混淆。
交换分区
交换分区是用