轻轻松松安装Linux第一章
第一章 前置篇
本章内容:
□ 如何选购Linux可以搭配的机器
这一节笔者要带领读者, 用 Linux的角度来看电脑硬体的一些细节。 在此我先提醒读者朋友一个事实, 作者本人在硬体方面并没有深入的研究, 我所知道的,只能算是一般性的电脑硬体常识。 这并不是笔者自谦。 因此对於我往下的建议, 读者们参考之馀, 有需要额外寻求真正专家们的背书。 我感觉这样子您会比规划出最符合您需求的一个硬体配备。
电脑硬体杂谈
对商业环境的使用者来说, 可能多半已经有主意, 要拿 Linux执行哪些任务, 这种任务导向的需求之下, 要选择可以搭配 Linux作业系统的硬体设备, 可能会比较容易。 至於玩家或者只是想□试一下高阶 OS 的学生来说, 情况的弹性有时比较大, 考虑之事项有时反而多。 这现象常常是因为您这一台机器除了 Linux之外, 还会用来执行其他作业系统 (比方DOS、OS/2、 NT、NeXTStep等等), 另外, 这一个族群的朋友在预算上比较需要精打细算, 因此, 在进行硬体选择评估时就不是那麽容易。 无论如何, Linux 对应体的最低要求、 您所期待的功能以及价格几个因素, 是大家共同的基本衡量项目, 这几个项目也就是我们据以采购可以搭配 Linux 作业系统的电脑硬体底线。
照笔者浅见, 在大约 1992年之前, 在台湾个人电脑 (PC)市场上多半都可以说是大众规格的 PC, 意思是说, 大部分的 PC纵使品牌不一样, 其规格的差别很少。 那种时代, 人们买电脑时大概只需要知道所谓『286』、『386』 或『486』电脑即可。 现在的差别则越来越明显, 高低阶产品的差别像是主机板设计、 CPU 选用、 RAM多寡及最大扩充量、 Cache多寡、汇流排 (Bus) 种类、 硬碟种类及其控制卡、 显示卡种类以及萤幕等等, 个别组件之差异已经很大, 光是一个部份有差异, 其硬体效能可能就会有很大差异。 换句话说, 现在这时代, 已经不是用『386』、 『486』 等名词就足以分别 PC 层级了, 这对於搭配三十二位元高阶作业系统的硬体尤其明显。 也或许我们可以观察到, 由於 PC的架构本身已经有了结构性的改变, 配备良好的高阶 PC 已经不再是 『个人电脑』了, 它甚至已经可以工作站电脑或甚至迷你主机相抗衡了, 假如这样的硬体搭配像Linux 这样的多工多使用者高阶 OS的话。
整体考量
我首先建议一般性的采购原则: 我们所建议的, 是所谓 IBM 相容 PC。
很多朋友知道台湾大约生产了全球百分之 70 左右数量的PC, 这些几乎都是 IBM 相容 PC, 换句话说, 只要我们购买一部台湾产制的PC, 我们几乎可以大胆假设, 这就是一部可以跑 Linux的PC。 不过这并不是说没有例外, 一畜厂的产品仍然会有独家规格的设计, 比方DEC、 HP、 IBM、 Compac 及 Acer (宏□) 等等品牌的PC会有这些例外的情况。 我建议您, 当选择大厂产品作为 Linux平台时, 切记要额外的检查其相容性。 作法上, 至少要拿 Bootdisk 及 Rootdisk 开机看看, 最好也能够进一步安装及运转测试。
至於到底什麽才是『IBM 相容PC』, 请注意, 不是 IBM PC、也不是IBM PS/2或PS/55 系列 PC。 有一个观念很重要, 全世界除了IBM生产 (或OEM) 的PC 叫做 IBM PC以外, 其他厂商所生产的PC,一般才称之为『IBM相容PC』。 这里真正建议您采购的, 正是IBM 相容PC。
顺便介绍一点, 假如我们采购整套的电脑时, 最好能留意一点,现在很多PC在出厂时, 已经把DOS以及MS-Window装在硬碟了, 这是一个明显趋势, 让消费者买回家, 一插上电源就可以使用, 不需要额外的装置。 这一种电脑非常好, 但是这刚好也不是您想买的电脑, 特别提醒您, 您要买的是一部硬碟里面什麽也没有的PC, 您无须浪费钱, 您更不需要带给自己麻烦, 因为这一类现成可用的电脑已经把硬碟全部都给了DOS了, 这不是您乐於看到的局面。
您甚至连DOS (不论MS-DOS或DR DOS等等)也可以不要购买, 除非您想同时跑Linux及DOS。
由於『IBM 相容 PC』 仍然是一个非常模糊的定义, 以下我们就用分解动作, 来看看到底搭配 Linux的一部机器, 其各部份组件是如何一回事。
CPU 考量
上面两三段话的介绍, 是从轮廓面来谈 PC, 以下我们就要更细的看 PC 的各部份组件。
截至目前为止, Intel、AMD或 Cyrix这三家出品的 x86 系列CPU并没有听说与 Linux不相容的例子, 这三家出品的所有 386、 486及 Pentium (或者俗称为 586) CPU 都可以用来跑 Linux。 但是1994年最後一季市面上出现了第一颗非美国品牌的 x86 CPU -- 台湾联华 U5, 根据目前已经得到的测试, 仍然无法用来跑 Linux。
与 CPU 很接近的话题, 就是 FPU 数学辅助运算器。 由於 Linux Kernel 本身可以支援 FPU 模拟, 所以 Linux 可以在没有 FPU 的机器也可以运转, 只是这会具体影响系统的效能, 尤其针对编译、 图形处里方面的工作会尤其明显。 照目前 CPU 的市场来看, 所有 386 级, 一直到 486SX或SLC/DLC等等 CPU的电脑, 其出厂时多半没有内建FPU 装置, 所以购买这类机器搭配 Linux时, 就要额外询问该机器是否有外加像是 80387 这类的处理器。 486DX 以上层级 CPU 则内建有FPU。 Linux 机器自动侦测到 FPU 装置时, 它就不会再做模拟, 而直接利用 FPU 作为运算辅助引擎。
最後一点, 截至目前 (1994十一月) 为止, Linux 并不支援多CPU架构的机器, 长期的将来应该可以期待。 其他非 x86 的CPU, 目前都尚未有成熟的支援, 但是将来或许 Linux 也有可能被移植到 DEC Alpha、 Motorola 68K 及 IBM PowerPC 等等 CPU 的机器上, 至少目前的 Linux kernel source tree 已经完成了这样的预备与调动。
Bus 考量
这里所要谈的, 也会把很多朋友给搞糊涂了。 这一两年来,PC之所以有结构性改变, 我感觉, 就是 Bus 汇流排架构的改变, 以及由此所带动的周边控制器的升级。 对内行人来说, 也就只有在这样架构改变之下, 使用最新高速 CPU 才有意义。
另外, 关於汇流排 (Bus)架构, ISA、 EISA、 VESA Local 及 Intel PCI 等等都可以选择。 目前 586 CPU (Pentium) 层级的主机板普遍都是 PCI 汇流排架构, 这种主机板有些可以配合支援 PCI 或 传统 ISA 汇流排的控制卡, 有些甚至还可以支援 VESA Local 或 EISA。 也就是假如您选用这些新式设计的 586 级主机板的话,您可以根据该版子的实际设计规格, 来搭配选用 PCI、 EISA 或 VESA Local等规格的控制卡 (Controller), 像是绘图界面卡 (Video card)、 网路卡、 硬碟控制卡等等, 这样就可以充份利用这些先进 的 Bus设计, Linux 也可以支援这些新式设计。
Video Controller 考量
您若有不跑 X Window 环境的话, 几乎任何显示控制卡及萤幕都无所谓, 市面上看得到的像是 Hercules、 CGA、 EGA、 VGA 及 SVGA等等显示控制卡, 以及其对应搭配的显示器。 另外, 拿 Linux 作为 Server级机器的话, 也可以完全不需要显示控制卡或萤幕。
不过若要在这部 Linux机器执行 X Window的话, 这时候萤幕显示卡的规格细节就变得很重要, 这是因为显示卡类型太多了, 想想,刚提到 ISA、 EISA、 VESA Local 及 PCI 等等这麽多的架构, 这些个别架构目前都已经有支援这些架构的萤幕显示卡推出了, 目前整个电脑软体工业本来就跟不上硬体的演进。 X Window 没有办法支援所有这些不同的控制卡。
对这话题很关心的朋友, 大概都是有需要用到 X Window的朋友,我建议您, 一定要参考附录 XFree-HOWTO 这文件的说明来选择合适的卡。 底下我就做一个最精要的摘录, 这是截至 XFree 2.1 版所支援的硬体:
o nonaccelerated chipsets:
o Tseng ET3000, ET4000AX, ET4000/W32
o Western Digital/Paradise PVGA1
o Western Digital WD90C00, WD90C10, WD90C11, WD90C24, WD90C30
o Genoa GVGA
o Trident TVGA8800CS, TVGA8900B, TVGA8900C, TVGA8900CL, TVGA9000,TVGA9000i, TVGA9100B, TVGA9200CX, TVGA9320, TVGA9400CX, TVGA9420
o ATI 28800-4, 28800-5, 28800-6, 28800-a
o NCR 77C22, 77C22E, 77C22E
o Cirrus Logic CLGD6205, CLGD6215, CLGD6225, CLGD6235
o Compaq AVGA
o OAK OTI067, OTI077
o accelerated chipsets:
o Cirrus GLGD5420, CLGD5422, CLGD5424, CLGD5426, CLGD5428
o Western Digital WD90C31
Disk Controller &;amp; Disk Drive 考量
假如不严格考虑执行效能的话, 或者说您的 Linux机器没用在Disk IO很重的场合, 这情况硬碟控制卡选择 IDE 或 SCSI倒是无所谓。 目前新式设计的 IDE Controller搭配 IDE Disk, 它的表现与 SCSI Control SCSI Disk 已经不会有明显差异。 不过, 以多工作多使用者做业环境来说, SCSI 应会有远优於 IDE 的整体表现。 换句话说, 假如您的 Linux主机是把在数十人或数百人使用者的场合, 我的建议是, 不要使用 IDE。
IDE 硬碟
大部分的 IDE 硬碟控制卡的存在型态, 多半是所谓 Multi-IO 卡, 这些卡把PC必备的串列埠、并列埠以及软碟控制统统包含一起了。 几乎决大部分的 IDE 硬碟控制卡与 Linxu搭配都不会有问题,不过一些新式的 Enhanced IDE, 据说可以控制四部 IDE 硬碟, 这种控制卡我就没试过, 想试试的朋友可以上网路拿 EIDE driver,patch 到系统核心程式码, 之後重新编译即可。 不过, 也许不久的将来在标准的核心就可以有 EIDE 的支援 (可能会 1.2.0 版以後的核心)。
SCSI 硬碟
至於 SCSI控制卡, 只要您的 SCSI 卡可在 Linux下成功运转,我们几乎就可以大胆假设, 您的 SCSI 硬体装置就可以搭配 Linux 运作, 比方SCSI 磁带机、 SCSI CD-ROM、 SCSI 硬碟等等。 不过话说回来, 由於SCSI控制卡其种类及品牌实在太多了, 我们实在不容易分辨哪些可以搭配 Linux, 而哪些不能, 当然像大品牌的 AHA Adaptec 15xx、 17xx 等系列的卡不会有问题, 但是一大推所谓这些卡的相容卡, 我就不清楚。 底下我根据 1994年七月份的SCSI-HOWTO文件, 摘录一些目前已经支援以及尚未支援的 SCSI卡。
Linux 支援与不支援的 SCSI 控制卡
已经支援的SCSI卡:
Adaptec 152x, Adaptec 154x (including clones from Bustek and DTC 329x boards), Adaptec 174x, Future Domain 850, 885, 950, and other boards in that series (but not the 880 board unless you make the appropriate patch), Future Domain 16x0 with TMC-1800 or TMC-18C50 chip, PAS16 SCSI ports, Seagate ST0x, Trantor T128 boards, Ultrastor 14F, 24F, and 34F, and Western Digital 7000.
仍测试支援中的 SCSI卡:
Adaptec 2742, DPT, Richoh GSI-8, Adaptec 2842, 2940, various AIC 7770/7870 implementations NCR53c8x0/7x0, NCR53c9x family, Qlogic, Trantor T130B / generic NCR53c400 using pseudo DMA
不支援的 SCSI 卡:
All parallel-$#@62;SCSI adapters, Rancho SCSI boards, and Grass Roots SCSI Non Adaptec compatable DTC boards (including the 3270 and 3280).
Linux 不能用 1024以上的 Sylinder吗?
这一节的最後, 我们来谈一个很有趣的问题: Linux 究竟能不能利用有 1024 Sylinder以上的大容量硬碟? 答案当然是 Yes。
很多朋友不知道, 所谓 1024 的限制主要出现在 BIOS 这层,大凡是1994年前出厂的 BIOS, 大概都没有支援这畜容量 IDE 硬碟 (主要是 540MB以上的硬碟)。 解决的方法很简单, 把做为 Linux / filesystem 的 partition 想办法设在编号 1023 之内的 Sylinder , 至於其他 partition, 像是作为 /usr、 /var、 /tmp、/home 等等的 filesystem, 这些可以设定在硬碟的任何partition。 也就是说, 电脑启动时, 我们把 Linux 摆在 BIOS看得到的位置, 至於启动之後, Linux 不再需要 BIOS的服务, 也就不会在受限於设计不良的BIOS。
RAM 考量
再重复提醒您一个事实, 在大部分的情况, Linux 系统对 RAM 的需求, 会比 CPU 重要很多。 假如有两部 Linux 主机做比较, 一部 486DX-33 32MB RAM, 另一部 486DX-66 16MB RAM, 假设这两部机器同样经常性的会有10个同时上线的使用者, 让我凭感觉及经验猜测其效能比较的话, 我会猜前者较佳。 信不信由您:-) 请 容许我没有提供任何的数据。
Linux 的 RAM的需求, 我想应该说越多越好吧! 一个稍微具有实际用途的 Linux 平台, 16MB RAM 大约是一个下限。 一部真正可以与商业 Unix工作站或 Unix Server 平起平坐的 Linux 工作站或 Server, 在记忆体上不能少於 64MB 或 32MB。
其他硬体设备
一部PC的硬体结构最重要的部份大约就如同上面介绍, 由於作者本人并非硬体专家, 这大概是我能力所及的最详细介绍了 :-) 请再次原谅我没有足够时间对 Linux 的硬体面做更深入研究, 可以提出有数据支援的论点, 而不是感觉经验!
最後, 有关 PC 硬体的其他一些元件像是滑鼠, 一般串列滑鼠都支援, 其他各类型的 Bus 滑鼠都有支援。 萤幕的话, 以文字模式来说, 古老的 Monocrome 萤幕都无所谓。 以网路卡来说, 几乎大部分市面上就得出名字的品牌都有支援, 像是 WD80*3、 SMC Ultra、3c501、3c503、3c507、3c509/579、AT1500、NE2100 (LANCE and PCnet-ISA)、Cabletron E21xx、 DEPCA、EtherExpress、AT1700、NI5210、NI6510、 HP PCLAN、NE2000/NE1000、SK_G16、 Ansel Communications EISA 3200、Apricot Xen-II, 以及一些口袋型网路卡, 像是友讯公司出品的口袋型网路卡 D-Link DE600及DE620、 AT-LAN-TEC/RealTek 及 Zenith Z-Note等等也有支援。 其他设备像是印表机与音效卡等等, 笔者没有什麽接触, 只能够建议您阅读本书附录的 Hardware-HOWTO。
我们把上面罗哩罗唆介绍的拼凑起来, 就可以变成一部 PC, 换句话说, 要买一部搭配 执行 Linux的 PC的话, 您有必要在这些元件的每一个细节规格斤斤计较。 作者本人虽不甚懂硬体, 但所用电脑也都是自己买零件自行组装, 而零件多半都没有牌子, 跑 Linux 也都很顺, 包括执行 UUserv社区服务的两部 Linux主机都是这样做起来的, 在台湾一般电脑硬体品质都算可靠了。 以下, 我再用三言两语谈一下, 什麽是 PC。
|