轻轻松松安装 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 & 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控制卡, 只要您的 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->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。
选配一部可以用的 Linux PC
要选配一部跑起来过得去的 Linux工作站硬体, CPU 至少必须 是386级, 另外更重要的, 是记忆体的容量, 一部马马呼呼可以跑 Linux的机器, 记忆体需求大约是8MB。您硬碟的容量也不要 太少, 以完整的 Slackware Linux 2.0 系统来说, 就占用150-200 MB 左右的空间。 假如我们以一套基本的 Linux/Unix工作站来说, 也就是 A、 B 及 N系列 (也就是基本 Unix应用软体, 加上 N系列的 网路通讯应用环境), 这大该只需要 50-80 之间的硬碟空间。
稍微分解来说, Linux对硬碟的需求, 除了基本系统软体所占用 之空间外, 您最好还要有只少两倍於实际记忆体的虚拟记忆体, 这 也是用硬碟空间换来的, 最後您要要空馀一些预备空间给系统运作, 比方 / 档案系统本身、 以及 /tmp 公用工作目录。 把以上加起来 就是您这部Linux工作站所需要最基本的硬碟空间。
我们拿 UUserv 社区网路做 Case Study的话, UUserv 内部是 一个 Ethernet网路, 网路中有两部 Linux 机器及其他 DOS client 机器, 其中一部直接以 PPP 连线 Internet, 这机器提供了基本 TCP/IP 对内及对外服务, 以及E-mail 及 Netnews的gateway。 提供 这样服务的机器是一部 386SX-20 的机器, 不要惊讶! 它的记忆有 16MB、 ISA Bus机器、 16550A UART 串列通讯界面、 Ethernet 卡、 330MB+420MB 两部 IDE 硬碟, 没有萤幕。 软体的大概细节, 它主要 提供 Name server、 Netnews Server、 Mail server 、 Gopher server、 PPP 等等服务。 这不机器, 也可当作您想像中的硬体需求 下限。
一部最佳组合的 Linux PC
对於想把 Linux 摆在严肃场合的朋友来说, 由於预算比较不是问 题, 您可以考虑购置一个更恰当的硬体, 搭配 Linux来建构出一部比美 各品牌高阶 Unix工作站或网路伺服器的系统。
以下笔者试图提出一个可能性的最佳建议, 这些建议是根据我於 1994年十月三十日, 在 tw.bbs.comp.linux 及 tw.bbs.comp.hardware 两个信区的问卷调查的回覆, 我将之归纳摘录如下。 先说明一点, 所 有的回覆当中, 没有一个人建议在台湾整机购买, 换句话说, 从 Linux 角度来看台湾的 PC硬体, 并没有足以让人满意的一个品牌, 假如情况 真的如此, 则有兴趣建构一部极佳的 Linux工作站的读者朋友, 您可能 有必要自行参照下面表列, 来组装出您理想中的硬体。 以下统计资料 於 1994年11月 采於tw.bbs.comp.hardware信区。
1. 主机板品牌及型号: Shin-Ray Lee ( srlee@csie.nctu.edu.tw ) 任一款 Pentium 主机板(根据实验结果,Linux“非常不挑板子“) 如果怕杂牌,那就用华硕 ASUS PCI/E 5MP(PCI/EISA+ dualCPU) or AIR P54CEP(PCI/EISA,注意勿买到Adaptec AIC-7870 on board的板子) 的吧!! avg.Price:NT$15000-18000
steven.bbs@bbs.cis.nctu.edu.tw Intel Premiere II(Plato) 目前最棒的 Pentium 90/100 主机板.... Intel 自己做的... flash BIOS, blah blah blah...
seeker.bbs@bbs.cis.nctu.edu.tw AIR 的EISA/PCI MB
2. CPU品牌及型号: Shin-Ray Lee ( srlee@csie.nctu.edu.tw ) & steven.bbs@bbs.cis.nctu.edu.tw & seeker.bbs@bbs.cis.nctu.edu.tw Intel Pentium-90(NT$17000)
Winggy.bbs@bbs.cis.nctu.edu.tw of sourse P5-90 .. 这是 x86 系列中最好的了 ... P5-100 还没量产 .. 应该不算 ...
3. SCSI Controller: Shin-Ray Lee ( srlee@csie.nctu.edu.tw ) From Linux-SCSI-HOWTO: NCR 53c810 PCI fast SCSI-2 controller.(NT$2500) or Buslogic BT-757S EISA fast-wide SCSI-2 controller($13000+)
Winggy.bbs@bbs.cis.nctu.edu.tw AHA-2742(EISA) or AHA-2842(VL) ..
4. SCSI Disks: Shin-Ray Lee ( srlee@csie.nctu.edu.tw ) Quantum Empire 1080S fast SCSI-2(10ms avg. seek),NT$16900 Seagate Barracudda-II ST-12550N 2GB fast SCSI-2 disk.
Winggy.bbs@bbs.cis.nctu.edu.tw Quantum Empire (or lightning series) , 再好的就 太~~贵~~~了
steven.bbs@bbs.cis.nctu.edu.tw Seagate ST-12550N(Barracuda 2) 2.1GB 还是... 要 ST-12551N(wide Barracuda 2)?
seeker.bbs@bbs.cis.nctu.edu.tw Barracuda 当然是最好的... 不然Micropolis 4110s也可以, 这台有5 片碟片, 每片碟片只用到一个小□围, 所以seek速度超快。 Barracuda (7200 rpm, 8 ms, unknown) Micropolis 4110s (5400 rpm, 8.5 ms, 5 disks) Empire 1080s (5400 rpm, 9.5 ms, 3 disks)
5. Video Controller (主要为 X Winodw环境考量): Shin-Ray Lee ( srlee@csie.nctu.edu.tw ) & Winggy.bbs@bbs.cis.nctu.edu.tw S3 Vison864/964 PCI 2Mb or 4Mb(miroCrystal 20/40 SD/V) capable for 1280x1024x16bit or 1152x900x32bit
steven.bbs@bbs.cis.nctu.edu.tw S3-964, 4MB VRAM 以上
seeker.bbs@bbs.cis.nctu.edu.tw 一片烂烂的, 值NT$ 4,300 元的S3 Vision864 就可以Sparc 10 的GX 加速卡解决掉了
6. Monitor: Shin-Ray Lee ( srlee@csie.nctu.edu.tw ) 我觉得青菜萝卜,各有所好,自个儿看的感觉较准.:) 可惜MAG MXP-17S & Sony 17se台湾尚未上市,否则17“我不会考虑其它选择...:( suggestion(sort by price): ViewSonic 17(17“,NT$30000):135MHz bandwidth/30-82KHz horizontal MAG MX-17S(17“,NT$25000):100MHz bandwidth/30-64KHz horizontal Sony 15sf(15“,NT$20000):100MHz bandwidth/30-64KHz horizontal Optiquest 7000DC/Acer VUEGO 17“(17“,NT$15000-17000): 86MHz bandwidth/30-64KHz horizontal ADI 5Gp(17“,Unknown):Unknown MAG MX-15F(15“,NT$13500):100MHz bandwidth/30-64KHz horizontal ADI 4Gp(15“,NT$9000):86MHz bandwidth/30-64KHz horizontal
Winggy.bbs@bbs.cis.nctu.edu.tw 至少要 17“ 的 .... 以我看 X 来说 .. 15“ 的仍嫌太小 .. ViewSonic 17“ 是不错的选择 .. 我不选 Mag 是因为良率太低 .. NEC 6fg 系列 .. 不错 .. 可惜太贵 .. 等等看 Sony 会不会出 17“ .. 那才真的物超所值 ... 不过你要先会去算 Xconfig 的参数就是了 ...
seeker.bbs@bbs.cis.nctu.edu.tw 21“ 的好了.... 看起来比较像WS。
7. Ethenet 网路卡: Shin-Ray Lee ( srlee@csie.nctu.edu.tw ) ISA: Accton MPX(ne2000 compatible) NT$2000 EISA: 3Com 3c579
seeker.bbs@bbs.cis.nctu.edu.tw EISA介面的可能比较high quality, 但也比较贵。
8. 其他 (请自行补充我漏列但值得一提的配件): Shin-Ray Lee ( srlee@csie.nctu.edu.tw ) Printer:EPSON EPL-5200 LaserPrinter(300DPI,6ppm)NT$20000 CD-ROM:Plextor 4X CD-ROM(SCSI-2,614Kb/s)NT$18000-24000 Mouse:Logitech MouseMan UPS:飞瑞UPS/750VA,NT$5000
steven.bbs@bbs.cis.nctu.edu.tw CD-ROM drive... Plextor PX43-CH 或是 Toshiba XM-3501 a good tape drive(像 8mm tape... 或是 DAT)
seeker.bbs@bbs.cis.nctu.edu.tw 如果这台是要当Ftp server用, 可以买个几台Plextor 4x(1 MB Buffer)
□ 如何把Linux装置在全新的机器上
前面我们谈的都有有关硬体的购置, 以下我们再往 OS层面浏览一 下, 看看如何把 Linux 安装在不同情况的硬体上。
能够有部全新的PC, 可以为您省下不少麻烦。假如您这部机器就是 用来当Linux主机, 且您也不需要跑DOS的话, 这时, 您可以在另外一台 DOS机器下, 利用RAWRITE.EXE 这支工具程式程式, 以及 Slackware 的 bootdisk 及 rootdisk 档案, 造出两张 Slackware Linux 安装磁片, 或者, 把这两个档案拿到附有软碟机的 Unix 或 Linux 工作站也行。 至於在细节部份, 笔者会把详细的操作细节在第四章「如何在DOS下造出 Linux 系统开机磁片」 做说明。
当您手上已经有了这两张磁片了, 您接著可以依照第五章「如何在 硬碟建置Linux系统」的说明, 用该张磁片启动机器後, 执行fdisk, 把 空空如也的硬碟规划出 Linux的分割区 (Partition), 接著执行mke2fs 建置档案系统的工作, 之後就可以进行系统软体的安装工作。
步骤摘要如下:
零. 手边备妥Slackware Linux系列磁片、 CD-ROM, 透过 NFS 安装则不须具备这些。 一. 取得(或制造) Slackware Linux 安装磁片 二. 用Slackware Linux bootdisk 安装磁片把机器启动, 之 後换 rootdisk, 让电脑继续进行启动系统的工作。 三. 对硬碟执行fdisk进行硬碟分割 (Partitioning) 四. 重新用该 Slackware Linux bootdisk/rootdisk 磁片把机 器启动 五. 对硬碟执行建置档案系统 六. 以 root 帐号进入系统, 无须密码 七. 执行 setup, 开始进行安装 八. 设定完成, 启动机器进入Linux系统
以上步骤三之後的操作, 读者可参考第五章″如何在硬碟建置Linux 系统″的示□。
其他相关需备妥的东西:
一. 一张刚FORMAT过的磁片(5.25“ 1.2M 或 3.5“ 1.4M都行, 但必须是属於A槽的磁片), 拿来做系统开机片 二. RAWRITE.EXE程式 三. Slackware Linux系列磁片 或 CD-ROM
□ 想让原来跑DOS的机器也同时跑Linux, 如何动手
假如您想把Linux装在原来属於DOS的机器里, 您第一件事就要确定 DOS是否占用您硬碟的全部, 假如是的话(大部分情况正是如此), 您就 要有一些额外的动作, 请参考第二章「DOS是否占用了您硬碟的全部了 ?」。之後, 您可能重新调整DOS的Partition, 调整Partition的工作是 用DOS的fdisk来执行。在执行fdisk之前, 您大抵需要先将DOS的东西备份 起来, 这一系列程序请参考第三章「细看DOS的Install程序」。
当您把DOS安置妥当後, 再来安装Linux, 这时您所执行的步骤, 与上 一节的操作没有什麽不同。
□ 给Unix高手速读
看完这一章後有消化系统失常或头痛徵兆者, 可能您不是UNIX高手, 要不然您对PC的认识还没到家, 笔者自己此刻正上吐下泻当中, 回头是 岸 :-)
Unix高手在确定硬碟Partition没有被DOS占满後, 就可以开始动手。
〔第一步〕当然是先造出一个Linux 装机用的启动磁片, 这动作是在 DOS下执行的, 您手上有 Slackware Linux bootdisk/rootdisk两个档案 ,以及RAWRITE.EXE程式, 接著您执行RAWRITE.EXE把这两个档案写到两张 刚FORMAT过的A磁片上, 您的所有步骤都是从这两张装机磁片开始。
〔第二步〕把这张装机磁片摆入A槽, 启动机器。没有错误的话, 您 现在已经进入Linux系统了, 您第一次的Login当然是″root″, 您现在所 处的环境是Bourne shell。
〔第三步〕执行fdisk造出Linux自己的空间来, 至於是否把全部硬碟 都给Linux, 这由您自己决定, 图1.1让您参考。
┌—图1.1 ——————————————————————————————┐ │ /# fdisk ← 在Shell提示符号後键入fdisk指令 │ │ │ │ Command (m for help): p ← 我们先来浏览目前的Partition配置情况 │ │ │ │ Disk /dev/hda: 15 heads, 17 sectors, 1001 cylinders │ │ Units = cylinders of 255 * 512 bytes │ │ │ │ /dev/hda1 1 1 161 20519 4 DOS 16-bit <32M │ │ /dev/hda4 162 162 483 41055 a5 Unknown │ │ │ │ Command (m for help): m ← 键入m求助 │ │ Command action │ │ a toggle a bootable flag ← 设定(或取消) Partition为Active │ │ d delete a Partition ← 删除Partition │ │ l list known Partition types │ │ m print this menu │ │ n add a new partition ← 增建一个新的Partition │ │ p print the partition table │ │ q quit without saving changes ← 中断执行fdisk │ │ t change a partition‘s system id │ │ u change display/entry units │ │ v verify the partition table ← 确认设定 │ │ w write table to disk and exit ← 设定完成後, 储存起来 │ │ x extra functionality (experts only) │ │ │ │ │ │ │ Command (m for help): n ← 回答n, ″n″是增建新Partition │ │ Command action │ │ e extended │ │ p primary partition (1-4) │ │ p ← 回答p, 指定primary partition │ │ │ │ Partition number (1-4): 2 ← 回答2 (因为我硬碟内编号1以及 │ │ 编号4的partition已经被其他系 │ │ 系统所用。这里若回答″3″也 │ │ 可以, 不过以下都要跟著改变。 │ │ First cylinder (484-1001): 484 ← 这里″484-1001″是fdisk自动 │ │ 侦测出来的, 假如您完全依照 │ │ 这两个数据来回答, 则表示您 │ │ 要把目前DOS剩下的空间全都给 │ │ Linux, 这例中我们就照著回答。 │ │ │ │ Last cylinder or +size or +sizeM or +sizeK (484-1001): 1001 │ │ │ │ Command (m for help): t ← 更改partition id │ │ Partition number (1-4): 2 ← 同样是编号2的Partition │ │ Hex code (type L to list codes): 81 ← 81 代表Linux/Minix │ │ │ │ Command (m for help): v ← 确认以上的设定 │ │ Command (m for help): p ← 浏览刚刚设定後的partition 表 │ │ │ │ Disk /dev/hda: 15 heads, 17 sectors, 1001 cylinders │ │ Units = cylinders of 255 * 512 bytes │ │ │ │ /dev/hda1 1 1 161 20519 4 DOS 16-bit <32M │ │ /dev/hda2 * 484 484 1001 66045 81 Linux/MINIX │ │ /dev/hda4 162 162 483 41055 a5 Unknown │ │ │ │ 果然, 硬碟内位於/dev/hda2的Partiion已经是Linux专用的Partition │ │ │ │ Command (m for help): w │ │ reboot now before doing anything else │ │ /# │ │ │ └——————————————————————————————————┘
〔第三步〕建置档案系统
┌—图1.2 ———————————————————————————┐ │ │ │ /# mke2fs -c /dev/hda2 66045 这操作, 意义上等同於DOS的 │ │ ″format c:″指令 │ └———————————————————————————————┘
〔第四步〕开始执行Linux系统的装置工作, 这步骤会把您软碟上的系 统软体及其他各种使用者软体一一的装置在Linux档案系统下恰当的地方。 这步骤所给″/dev/hda2″即是您之前执行fdisk时所指定的Partition。键 入″doinstall″ 指令後, 您顺著画面说明一一回答操作即可。
┌—图1.3 ———————————————————————————┐ │/# doinstall /dev/hda2 │ └———————————————————————————————┘
第二章 作业系统安装初步
这一章我们将来看看一些安装前所需要知道的事项, 熟悉本章的 介绍, 应该可以帮助您对进一步安装的准备。
如何把Linux装置在全新的机器上 想让原来跑DOS的机器也同时跑Linux, 如何动手 给Unix高手速读 如何将 A: 磁碟与 B: 磁碟互调 Slackware Linux 软体简介 Linux/Unix 对大小写字母过敏 分割区 (Partition) 考量 开机选择程式
□ 如何把Linux装置在全新的机器上
前面我们谈的都有有关硬体的购置, 以下我们再往 OS层面浏览一 下, 看看如何把 Linux 安装在不同情况的硬体上。
能够有部全新的PC, 可以为您省下不少麻烦。假如您这部机器就是 用来当Linux主机, 且您也不需要跑DOS的话, 这时, 您可以在另外一台 DOS机器下, 利用RAWRITE.EXE 这支工具程式程式, 以及 Slackware 的 bootdisk 及 rootdisk 档案, 造出两张 Slackware Linux 安装磁片, 或者, 把这两个档案拿到附有软碟机的 Unix 或 Linux 工作站也行。 至於在细节部份, 笔者会把详细的操作细节在第三章「如何在DOS下造出 Linux 系统开机磁片」 做说明。
当您手上已经有了这两张磁片了, 您接著可以依照第四章「如何在 硬碟建置Linux系统」的说明, 用该张磁片启动机器後, 执行fdisk, 把 空空如也的硬碟规划出 Linux的分割区 (Partition), 接著执行mke2fs 建置档案系统的工作, 之後就可以进行系统软体的安装工作。
步骤摘要如下:
零. 手边备妥Slackware Linux系列磁片、 CD-ROM, 透过 NFS 安装则不须具备这些。 一. 取得(或制造) Slackware Linux 安装磁片 二. 用Slackware Linux bootdisk 安装磁片把机器启动, 之 後换 rootdisk, 让电脑继续进行启动系统的工作。 三. 对硬碟执行fdisk进行硬碟分割 (Partitioning) 四. 重新用该 Slackware Linux bootdisk/rootdisk 磁片把机 器启动 五. 对硬碟执行建置档案系统 六. 以 root 帐号进入系统, 无须密码 七. 执行 setup, 开始进行安装 八. 设定完成, 启动机器进入Linux系统
以上步骤三之後的操作, 读者可参考第四章″如何在硬碟建置Linux 系统″的示□。
其他相关需备妥的东西:
一. 一张刚FORMAT过的磁片(5.25“ 1.2M 或 3.5“ 1.4M都行, 但必须是属於A槽的磁片), 拿来做系统开机片 二. RAWRITE.EXE程式 三. Slackware Linux系列磁片 或 CD-ROM
□ 想让原来跑DOS的机器也同时跑Linux, 如何动手
假如您想把Linux装在原来属於DOS的机器里, 您第一件事就要确定 DOS是否占用您硬碟的全部, 假如是的话(大部分情况正是如此), 您就 就必须重新分割硬碟。
与硬碟相关的一个名词非常重要, 本书从头到尾几乎都有用到这观 念 -- 分割区 (Partition)。 我们知道大部分电脑只有一个硬碟, 不 过我们却可以透过软体层面的方法, 把一个硬碟分割成 (Partitioning) 好几个, 这样分割後个别的部份, 我们称之为分割区, 在这些个别分割 区内, 我们可以安装不同的作业系统。 这是为什麽我们可以把 DOS 与 Linux两套作业系统安装在同一部机器的同一部硬碟内。
当您发现您原本跑 DOS的电脑硬碟内只有一个 DOS 分割区, 而且 已经占满了整个硬碟, 这时您要安装 Linux的话, 通常您必须先将该硬 碟的空间清出来, 也就是先备份起来, 之後, 用 DOS 的 FDISK.EXE 执 行硬碟分割的动作, 把整个硬碟的一小部份分割给DOS, 并重新安装 DOS 。 至於预留下来的空间, 之後要安装 Linux时, 再用 Linux自己的 fdisk 工具程式执行硬碟分割 (不动到 DOS的分割区), 把之前 DOS所剩 下来的空间再做一次规划。
□ 给Unix高手速读
看完这一章後有消化系统失常或头痛徵兆者, 可能您不是UNIX高手, 要不然您对PC的认识还没到家, 笔者自己此刻正上吐下泻当中, 回头是 岸 :-)
Unix高手在确定硬碟Partition没有被DOS占满後, 就可以开始动手。
〔第一步〕当然是先造出一个Linux 装机用的启动磁片, 这动作是在 DOS下执行的, 您手上有 Slackware Linux bootdisk/rootdisk两个档案 ,以及RAWRITE.EXE程式, 接著您执行RAWRITE.EXE把这两个档案写到两张 刚FORMAT过的A磁片上, 您的所有步骤都是从这两张装机磁片开始。
〔第二步〕把这张装机磁片摆入A槽, 启动机器。没有错误的话, 您 现在已经进入Linux系统了, 您第一次的Login当然是″root″, 您现在所 处的环境是Bourne shell。
〔第三步〕执行fdisk造出Linux自己的空间来, 至於是否把全部硬碟 都给Linux, 这由您自己决定, 图1.1让您参考。
┌—图1.1 ——————————————————————————————┐ │ /# fdisk ← 在Shell提示符号後键入fdisk指令 │ │ │ │ Command (m for help): p ← 我们先来浏览目前的Partition配置情况 │ │ │ │ Disk /dev/hda: 15 heads, 17 sectors, 1001 cylinders │ │ Units = cylinders of 255 * 512 bytes │ │ │ │ /dev/hda1 1 1 161 20519 4 DOS 16-bit <32M │ │ /dev/hda4 162 162 483 41055 a5 Unknown │ │ │ │ Command (m for help): m ← 键入m求助 │ │ Command action │ │ a toggle a bootable flag ← 设定(或取消) Partition为Active │ │ d delete a Partition ← 删除Partition │ │ l list known Partition types │ │ m print this menu │ │ n add a new partition ← 增建一个新的Partition │ │ p print the partition table │ │ q quit without saving changes ← 中断执行fdisk │ │ t change a partition‘s system id │ │ u change display/entry units │ │ v verify the partition table ← 确认设定 │ │ w write table to disk and exit ← 设定完成後, 储存起来 │ │ x extra functionality (experts only) │ │ │ │ │ │ Command (m for help): n ← 回答n, ″n″是增建新Partition │ │ Command action │ │ e extended │ │ p primary partition (1-4) │ │ p ← 回答p, 指定primary partition │ │ │ │ Partition number (1-4): 2 ← 回答2 (因为我硬碟内编号1以及 │ │ 编号4的partition已经被其他系 │ │ 系统所用。这里若回答″3″也 │ │ 可以, 不过以下都要跟著改变。 │ │ First cylinder (484-1001): 484 ← 这里″484-1001″是fdisk自动 │ │ 侦测出来的, 假如您完全依照 │ │ 这两个数据来回答, 则表示您 │ │ 要把目前DOS剩下的空间全都给 │ │ Linux, 这例中我们就照著回答。 │ │ │ │ Last cylinder or +size or +sizeM or +sizeK (484-1001): 1001 │ │ │ │ Command (m for help): t ← 更改partition id │ │ Partition number (1-4): 2 ← 同样是编号2的Partition │ │ Hex code (type L to list codes): 83 ← 83 代表Linux native │ │ │ │ Command (m for help): v ← 确认以上的设定 │ │ Command (m for help): p ← 浏览刚刚设定後的partition 表 │ │ │ │ Disk /dev/hda: 15 heads, 17 sectors, 1001 cylinders │ │ Units = cylinders of 255 * 512 bytes │ │ │ │ /dev/hda1 1 1 161 20519 4 DOS 16-bit <32M │ │ /dev/hda2 * 484 484 1001 66045 83 Linux native │ │ /dev/hda4 162 162 483 41055 a5 Unknown │ │ │ │ 果然, 硬碟内位於/dev/hda2的Partiion已经是Linux专用的Partition │ │ │ │ Command (m for help): w │ │ reboot now before doing anything else │ │ /# │ │ │ └——————————————————————————————————┘
〔第三步〕建置档案系统。 这步骤在标准 Slackware Linux 的 setup 安装程序下, 是可以省略的, 也就是说, 让 setup 自动帮您 执行。
┌—图1.2 ———————————————————————————┐ │ │ │ /# mke2fs -c /dev/hda2 66045 这操作, 意义上等同於DOS的 │ │ ″format c:″指令 │ └———————————————————————————————┘
〔第四步〕开始执行Linux系统的装置工作, 这步骤会把您软碟上的系 统软体及其他各种使用者软体一一的装置在Linux档案系统下恰当的地方。
┌—图1.3 ———————————————————————————┐ │/# setup │ └———————————————————————————————┘
□ 如何将 A: 磁碟与 B: 磁碟互调
Slackware Linux 的 bootdisk及 rootdisk 安装程式可以在 5 1/2“ (1.2MB) 以及 3 1/2“ (1.44MB) 磁片上制作, 所以, 基本 上我们可能不大有需求把 A: 与 B: 磁碟互换。
不论如何, 假如您有这需求的话, 也很简单, 以现在的电脑主 机板设计, 有些只需要把软碟排线接连磁碟机这端的两个接座互调, 之後重新开机, 趁开机修改 BIOS 资料。 大部分品牌的 BIOS, 在 开机时都可以按 键来修改其资料。
我甚至也听说, 现在有些主机板设计, 允许修改 BIOS值即可, 无须动到硬体排线。 只是听说。
□ Slackware Linux 软体简介
这节主要目的, 要帮助您了解 Slackware Linux 套装软体的大 概内容, 以及其各部份软体可能消耗之硬碟空间, 希望这样可以帮助 那些无法全部完整安装的朋友来做选择, 注意, 以下主要以 Slackware Linux 2.1.0 版本做说明。 另外有关更详细的介绍, 请参考『轻轻 松松管理 Linux/Unix』 第一章的说明。
有关安装以下系列软体所消耗的系统硬碟空间, 您可以由 a1-a4 系列算起, 假如您加装的 ap1-ap5 系列, 则将之累计上去, 馀此类 推。 另外, 有关各系列软体编号所用数字的意义, 以 a1-a4 来说, 表示其大约可以用四张 1.2MB 磁片来容纳, 其馀系列则以 1.44MB 磁片为单位。
bootdisk/rootdisk 一系列的系统安装磁片档案
a1 - a4 最基本系统所需 ap1 - ap5 基本应用软体与线上手册, 像是 groff、 ispell、 、term、 joe、jed、jove、 ghostscript、sc、bc 、ftape support、 以及 quota patches 等等。
d1 - d7 程式发展工具, 像是 GCC/G++/Objective C 2.5.8、 make (GNU and BSD)、 byacc and GNU bision, flex 、 C libraries (4.5.26)、 gdb、 kernel source (1.1.59)、 SVGAlib、ncurses、 cslip、f2c、p2c、 m4、 perl、 rcs、 dll tools 等等。
e1 - e5 GNU Emacs 19.27
f1 一系列的 FAQ (常见问与答) 文件收集
i1 - i2 GNU Info page 格式线上手册
n1 - n4 网路通讯应用软体, 像是 TCP/IP、 UUCP、 mailx、 dip (SLIP)、 PPP、 deliver、 elm、 pine、 BSD sendmail 8.6.9、 cnews、 inn、 nn、tin、trn等 等。
oop1 一些物件导向发展工具
q1 - q4 一些额外系统核心服务程式 ( kernel binary)
t1 - t10 一系列 TeX 排版工具软体
u1 一些 UMSDOS 档案系统工具, 这提供您在原有 DOS 系统下 安装 Linux。
x1 - x13 X Window 视窗系统核心与基本软体
xd1 - xd3 X Window 视窗系统发展工具
xv1 - xv3 XView 系列 openwin 工具软体
iv1 InterView libraries 以及著名 doc 文书软体、 idraw 绘图软体
□ Slackware Linux 的硬碟空间使用分析
以 Slackware Linux 2.1.0 来说, 假如我们想把它从 CD-ROM拷贝到 软碟片上, 大约要用掉70片 1.44MB 软碟才带得走! 这还不包括那些制 作 bootdisk及 rootdisk 系统安装磁片所需要的档案。 假若我想把这 七十张磁片的软体安装到硬碟去, 需要多少硬碟空间呢?
以下所测得的数据, 仅做为一般性参考, 可能的误差大约在 5MB 到 20MB 之间。 照这表看来, 假如我们安装一个基本的 Linux系统, 这系 统包含有A、AP、F及 I等系列软体, 这样的系统至少需要 30MB的硬碟 空间才能顺利安装。 假如这系统上网路的话, 我们加装 N 系列软体, 这样做又用掉额外的 12 MB, 若还想把系统开发软体也一并安装, 这又 需要另外的 23 MB。 其他关於 X Window 软体、 X Window 应用及开 发软体等等都安装进来的话, 一共就需要 137 MB的硬碟空间才能摆平 。 剩下的, E、OOP、T、Tcl 及 IV等系列软体都不想放过的话, 很可 能就要消耗至少 200MB的硬碟空间。
安装软体系列 累积使用空间 (单位 MB) ______________________________ A1-A4 11 AP1-AP5 25 F1、I1-I2 30 N1-N4 42 D1-D7 65 X1-X13 110 XAP1-3、XD1-3、XV1-3 137 其他全部安装 210
□ Linux/Unix对大小写字母过敏
对 Unix 环境仍不熟的朋友, 很可能您先要有一个心理准备, 这 可以减少您碰到无谓的挫折, 那就是, Unix 对大小写字母有不同的 诠释, 比方是小写的命令, 您用大写, 就不通。 再比方说, 帐号名 称 yuan 与 Yuan 是不一样的两个人。
□ 分割区 (Partition) 考量
一般来说, 我们安装作业系统时, 在该电脑硬碟内至少必须先预 留一个分割区。 假如该电脑的硬碟是刚买的, 通常硬碟内没有任何的 分割区, 这时候, 我们便可以新进行一下纸上系统配置规划, 之後我 们可以实际进行硬碟规划。
在 Linux环境下, 每一颗硬碟最多可以设置四个 Primary分割区, 或者, 设立三个 Primary分割区以及一个 Extended分割区, 而这一 个 Extended分割区又可以规划出好多个 Logical分割区。 我们可以 把 Linux安装在以上任一个 Primary或 Logical分割区。
进行硬碟规划时, 我建议读者朋友先考虑下列三个因素:
A. Slackware Linux 系统本身所需要硬碟空间: 完整的 Slackware Linux 2.02 大约会用掉 150MB - 200MB 之间, 这只是安装後软 体本身所占用的空间, 不包括系统运转所可能需要的空间。
B. 未来该 Slackware Linux 主机的可能使用者: 假如使用者不少於 50个人的话, 那 /home 可以独立成一个档案系统, 并给予其足够 的空间。
C. 以及主要应用软体类型: 比方说, 假如跑 Netnews Server的话, 这一类网路应用会消耗掉大量的硬碟空间, 而且平常的 Disk I/O 也很重, 对於这种应用, 最好我们这软体所需要的档案系统, 独 立在另外一颗硬碟之内, 所者至少另外一个分割区。
以下就是一部 UUserv 社区网路 Linux 主机的硬碟分割区配置, 提供给读者参考, 对於想把 Linux 主机摆在严肃场合的朋友来说, 您不妨以这为一个 Model, 再行跟对您的情况修改规划。 但是假如 您只是把 Linux 主机作为个人使用, 您把单一档案系统制作在一个 分割区内也蛮省事的。
$ df Filesystem 1024-blocks Used Available Capacity Mounted on /dev/hda1 139112 85470 46458 65% / /dev/hdb3 137825 52185 82793 39% /var /dev/hdb1 313715 115335 194792 37% /var/spool/news /dev/hda3 47586 33364 11758 74% /home /dev/hda2 198099 68226 119643 36% /usr/local /dev/hda4 19355 1597 16759 9% /tmp /dev/sbpcd 610320 610320 0 100% /cdrom
由上面我们可以看到, 该机器一共有两颗硬碟, 规划有六个分割 区 (cdrom 档案系统不算)。
/ 根档案系统, 越小越系统效率越佳, 只需要有足够的程式把系 统启动
/var 所有变动性的储存区域摆放在此, 比方所有系统记录档、 使用者信箱区域
/var/spool/news News spool 存放区域, 有跑 News Server的话, 这配置很重要 /home 使用者的工作目录 /usr/local 系统管理者所新增的工具程式或软体可以摆放在这一个独立的 分割区域 /tmp 系统临时性工作区域
□ 开机选择程式
笔者猜想, 有相当大量的玩家级人物在同一部机器安装好多个作 业系统, 比方说把 Linux、 FreeBSD、 OS/2 及 DOS 等等作业系统安 装在同一部机器 (把系统摆在严肃场合的朋友, 可不要这样做), 这情 况就需要能够在硬体开机时, 选择进入不同的作业系统。
开机选择程式非常多, 尤其在 DOS 环境下有很多 Sharewere 或 Freeware 软体, 不过这些笔者都不推荐, 因为 Linux 本身就有相当 优异的开机选择程式 -- LILO (Linux Loader), 这程式可以让您在开 机的煞那, 选择进入您指定的作业系统, 有了 LILO, 您可以把 Linux 安装在任一个分割区都无所谓, 安装在第一或第二个硬碟都无妨。
至於如何安装 LILO, 本书中笔者除了在第四章中, 示□ Slackware 标准程序之外, 在第五章中, 笔者也会有额外说明手工 LILO的安装法 。
最後, 我在此特别强调, LILO 的设计非常安全也非常强悍, 不过 假如您仍担心, 那我只要建议您, 最原始的开机选择, 就是用磁片开机, 也就是把 LILO 安装在磁片上, 这样子对硬碟内运转中的系统就不会有 影响。 这情况下, 若您以DOS磁片开机, 就可以进入 DOS系统, 若是 Linux 开机磁片, 则可以启动进入 Linux系统。
第三章 认识 Slackware Linux 及制作系统安装磁片
□ 选择可以配合您硬体的系统安装磁片
网路上经常有朋友这样问, 我机器安装有某某牌 CD-ROM drive , 我想透过该 CD-ROM 安装 Slackware Linux 系统, 可是为什麽我 的安装磁片却认不得该 CD-ROM?
类似的问题还很多, 比方说您想透过 NFS 来安装, 还不熟悉 Slackware Linux 的朋友, 就会遇到一些困难, 比方安装磁片内的 系统 Kernel可能没有您所用网路卡的 Driver, 这太容易发生了, 因为形形×××不同种类的网路卡实在太多了。 就即便有了网路卡 Driver 支援, 该Kernel 也要支援 NFS 档案系统, 如此您才有办 法透过 NFS 来安装 Slackware Linux。
Slackware Linux 的bootdisk/rootdisk 系统安装磁片, 其实 针对有不同的硬体配备以及特殊安装需求, 设计有不同的磁片组合, 本书所提的 bootdisk 及 rootdisk 其实可以说是观念而以, 以实 际上的档案名称来说, 也不是bootdisk 及 rootdisk。
往下我们就要来看看, 如何根据不同的情况, 选择恰当的 Slackware 系统安装磁片。 在本章的其馀部份, 笔者会把整个 Slackware Linux 的软体做更完整的分析。
□ 关於 bootdisk
Slackware Linux 的安装磁片一共有两片, bootdisk 就是其中 第一片, 如同其名次的字义, 这磁片是用来启动机器的。
bootdisk 安装磁片的制作方法, 是选择 bootdsks.144 或 bootdsks.12 目录下适当的一个档案 (假如已经压缩过, 先解压缩), 准备一张格式化 (Format) 过的磁片, 之後利用 RAWRITE.EXE (在DOS下用) 或 dd (在 Unix下用) 把该档案的 Image写到磁片上。
bootdisk 既然是用来开机, 它就必须要包含有尽可能多的硬体 Drivers, 否则, 假如您使用比较冷门的硬体设备, 您甚至无法用这 张制作好的bootdisk成功启动机器, 於是就更不用说要执行进一步的 系统安装。 这些话也同时补充上一节的说明, 为何您必须仔细选择 适当的 bootdisk档案, 来制作 bootdisk 磁片。
□ 关於 rootdisk
rootdisk 磁片也是选用 rootdisk 档案来制作的。 rootdisk 磁 片包含有一个阳春的 Linux 档案系统, 以及在该档案系统下附带的一 些基本工具程式, 我们就是透过这些工具程式, 进一步把 Linux 系统 安装到硬碟里面。
rootdisk 磁片的使用时机, 是紧接著 bootdisk 磁片之後, 稍微 具体来说, 我们用bootdisk启动机器, 几秒钟後, 萤幕上就会有提示 说明, 要我们把这张 rootdisk摆进 A: 磁碟机。
至於实际的操作示□, 笔者会在後面有详细介绍。
□ 万一仍然找不到合用的 bootdisk
有些时候, 由於您的硬体设备太新颖, 或者太老旧, Slackware Linux 的众多 bootdisk 无法开机後, 认得您的硬体设备。 碰到这 种情况时, 您就需要自行制作一份属於您自己版本的 bootdisk, 或 通常是在另外一部 Linux 主机来制作。 至於实际制作方法也很简单 , 有需要的朋友请发月到本书後面 「如何自行制作系统安装磁片 bootdisk」 乙节的说明。
□ 如何选择 Slackware Linux 的 bootdisk/rootdisk
不论您的 Slackware Linux 是取自市面上出版的 CD-ROM, 或 者是由 Internet FTP 档案库, 您可以发现底下几个目录:
bootdsks.12 bootdsks.144 rootdsks.12 rootdsks.144
这其中, bootdsks.12 及 rootdsks.12 是针对电脑第一个磁碟 机为 5 1/2□、 容量 1.2MB而设计, 用 DOS的观念来说, 假如您的 A: 槽是这种 5 1/2尺寸的, 您就在这两个目录下选择您所需要的 bootdisk 及 rootdisk。 至於 bootdsks.144 及 rootdsks.144 两 个目录则是为第一个软碟为 3□半、 容量 1.44MB 的机器所设计。
以下笔者主要以 3□半规格磁片来做说明。 在您手上的 CD-ROM 或者是 NCTUCCCA.edu.tw 档案库的 /UNIX/linux/Slackware 目录, 可以看到以下目录及档案。
<< 画面 2-1 >> ftp> pwd ftp> pwd 257 “/UNIX/linux/Slackware/bootdsks.144“ is current directory. ftp> dir 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls. total 6904 -r--r--r-- 1 SEEDNET NCTUCCCA 5352 Oct 17 1994 README -r--r--r-- 1 SEEDNET NCTUCCCA 4100 Oct 17 1994 WHICH.ONE -r--r--r-- 1 SEEDNET NCTUCCCA 505486 Oct 17 1994 bare.gz -r--r--r-- 1 SEEDNET NCTUCCCA 592060 Oct 17 1994 cdu31a.gz -r--r--r-- 1 SEEDNET NCTUCCCA 591056 Oct 17 1994 cdu535.gz -r--r--r-- 1 SEEDNET NCTUCCCA 661153 Oct 17 1994 loaded.gz -r--r--r-- 1 SEEDNET NCTUCCCA 591153 Oct 17 1994 mitsumi.gz -r--r--r-- 1 SEEDNET NCTUCCCA 588606 Oct 17 1994 nec260.gz -r--r--r-- 1 SEEDNET NCTUCCCA 569209 Oct 17 1994 net.gz -r--r--r-- 1 SEEDNET NCTUCCCA 603367 Oct 17 1994 old1118.gz -r--r--r-- 1 SEEDNET NCTUCCCA 599602 Oct 17 1994 sbpcd.gz -r--r--r-- 1 SEEDNET NCTUCCCA 600699 Oct 17 1994 scsi.gz -r--r--r-- 1 SEEDNET NCTUCCCA 645018 Oct 17 1994 scsinet.gz -r--r--r-- 1 SEEDNET NCTUCCCA 505467 Oct 17 1994 xt.gz 226 Transfer complete. ftp> ftp> cd /UNIX/linux/Slackware/rootdsks.144 ftp> pwd 257 “/UNIX/linux/Slackware/rootdsks.144“ is current directory. ftp> dir 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls. total 2160 -r--r--r-- 1 SEEDNET NCTUCCCA 1446 Oct 17 1994 README -r--r--r-- 1 SEEDNET NCTUCCCA 1250 Sep 2 1994 README.UMS -r--r--r-- 1 SEEDNET NCTUCCCA 1809 May 29 1994 README_T.APE -r--r--r-- 1 SEEDNET NCTUCCCA 546082 Oct 17 1994 color144.gz -r--r--r-- 1 SEEDNET NCTUCCCA 588779 Oct 17 1994 tape144.gz -r--r--r-- 1 SEEDNET NCTUCCCA 549218 Oct 18 1994 tty144.gz -r--r--r-- 1 SEEDNET NCTUCCCA 519420 Oct 17 1994 umsds144.gz 226 Transfer complete.
如何选择 bootdisk
如以上画面所示, 这里 bootdsks 有相当的选择。 下表采自 Slackware Linux 2.02 所附的 WHICH.ONE 档案, 这表的阅读方式 是根据安装方式为先, 也就是最左边一列, 我们可以看到软体 (Floppy)、 硬碟 (Hard Drive)、 CD-ROM、 NFS 及 Tape 几种方 式, 且其中, 硬碟、 CD-ROM 及 NFS都各自细分几种方式。
确定了您的安装方式後 (也就是来源) , 接下来要知道该机器 的硬碟形式, 这也就是您所要安装 Linux 的目的磁碟, 在这表中, 第二及第三两个栏位就是。 来源及目的都知道了, 接下来就可以查 表, 查的方法是指头放在最左边的栏位 (来源), 之後往右移动, 假 如您所要安装的硬碟是 IDE, 指头就停在第二个栏位, 是 SCSI 的话 就停在第三栏位, 假如是 MFM则停在最後栏位。
我们举三个例子来说明, 其馀的让读者自行查询。
Panasoic CD-ROM 安装, SCSI 硬碟
比方说您想安装的机器安装有 Panasonic 的 CD-ROM drive,您 想透过 CD-ROM 来安装, 而该机器的硬碟为SCSI 规格, 这时您可以选 择 sbpcd.gz 档案作为 bootdisk。
软碟安装, IDE 硬碟 这情况极可能是最普片的, 您可以选用 bare.gz。
NFS 安装, SCSI 硬碟 透过 NFS 安装是一件轻松愉快的事情, 您可以选择 scsinet.gz。
<< 表 2-1 >> ------------------------------------------------------------------------------ 安装方式(来源)| 安装目的磁碟形式 source on: | IDE SCSI MFM --------------+------------------+------------------+------------------------- Floppy: | bare | scsi | xt | * old1118 | * old1118 | | | * alpha | | | * loaded | --------------+------------------+------------------+------------------------- Hard Drive: | bare | scsi | xt | * old1118 | * old1118 | | | * alpha | | | * loaded | --------------+------------------+------------------+------------------------- SCSI CD-ROM: | scsi | scsi | | * old1118 | * old1118 | | * alpha | * alpha | | * loaded | * loaded | --------------+------------------+------------------+------------------------- | mitsumi | mitsumi | Mitsumi CD: | * old1118 | * old1118 | | * loaded | * loaded | --------------+------------------+------------------+------------------------- Sony CDU31a | cdu31a | cdu31a | or CDU33a CD: | * old1118 | * old1118 | | * loaded | * loaded | --------------+------------------+------------------+------------------------- Soundblaster, | sbpcd | sbpcd | Panasonic, | * old1118 | * old1118 | Kotobuki, | * loaded | *loaded | Matsushita, | | | & Lasermate | | | CD-ROM: | | | --------------+------------------+------------------+------------------------- Sony 535/531 | cdu535 | cdu535 | CD-ROM: | * loaded | * loaded | ------------------------------------------------------------------------------ NEC 260 IDE | nec260 | nec260 | CD-ROM: | * loaded | * loaded | --------------+------------------+------------------+------------------------- NFS: | net | scsinet | | * old1118 | * old1118 | --------------+------------------+------------------+------------------------- Tape: | bare (for floppy | scsi | xt (for floppy tape) | tape) | alpha (for SCSI | | scsi (for SCSI | tape on IN2000 | | tape) | or EATA) | | alpha (for SCSI | * old1118 | | tape on IN2000 | * loaded | | or EATA) | | | * old1118 | | --------------+------------------+------------------+-------------------------
如何选择 rootdisk
选择 rootdisk 比 选择 bootdisk 简单很多, 您想要一个漂亮 的彩色安装画面的话, 可以选择 color144.gz 这档案来制作 rootdisk 磁片, 一般的单色画面则选用 tty144.gz。 另外两个选择, 若装机方 式选择磁带的话, 这时就要选用 tape144.gz 来制作 rootdisk, 另 外一个方式则是在现有 DOS 分割区安装 Linux, 这则选用umsds144.gz ,但是我不鼓励读者做这选择。
如何制作系统安装磁片
对系统安装磁片 bootdisk 及 rootdisk 有更多了解後, 接著我 们就来谈谈如何实际来制作。
制作系统安装磁片很简单, 以下笔者会分别示□ DOS 及 Unix 环境下的方法。
DOS 环境下制作
DOS 环境下制作需要两支额外的工具程式, 一支是 GZIP.EXE, 这是用来解压缩的软体, 另外一支是 RAWRITE.EXE, 这程式可以把 解压缩後档案的 Image 写入软碟, 注意, RAWRITE.EXE 的『写』 其观念与 COPY 有极大的差异, COPY 所拷贝出来的磁片, 仍然是 DOS 属性的磁片, 而 RAWRITE 所制作出来的就不一定了, 以这里 所谈的 Linux安装磁片来说, RAWRITE 所制作出来的磁片, 是 DOS 所无法读取的 [注]。
注: 在这里, RAWRITE 所制作出来的 bootdisk 及 rootdisk 两张 磁片, 其属性其实是 Minix 档案系统格式。
以上提到的这两支程式多半可以在您取得 Slackware Linux 相 同的地方取得, 以Internet FTP 档案库来说, 您可以在 NCTUCCCA. edu.tw:/UNIX/linux/Slackware 目录下取得, 至於 CD-ROM 则应该 同样在 Slackware Linux 所在目录可以找到。
以下笔者把实际操作画面做示□摘录。 本示□的环境, 关於安 装方式是透过 Panasonic CD-ROM drive, Linux 系统将被安装在 SCSI 硬碟。
解压缩 及 RAWRITE.EXE 示□
<< 画面 2-2 >> ┌———————————————————————————————□ │ │ │ Volume in drive C is YUAN │ │ Volume Serial Number is 1951-051A │ │ Directory of C:LINUX │ │ │ │ RAWRITE EXE 13052 02-05-94 10:03p │ │ GZIP EXE 39910 05-29-94 10:03p │ │ COLOR144 GZ 546082 11-06-94 11:22p │ │ SBPCD GZ 599602 11-06-94 11:22p │ │ │ └———————————————————————————————┘
如图十所示, 将 RAWRITE.EXE 及 GZIP.EXE 两支, 以及 SBPCD.GZ (bootdisk) 和 COLOR144.GZ (rootdisk) 两档案摆在同一个目录下。
下面的操作, 我们先把 SBPCD.GZ 及 COLOR144.GZ 解压缩, 之後 用 RAWRITE.EXE 这支程式, 把这两个档案「写」到A磁片上。
<< 画面 2-3 >> ┌——————————————————————————————————□ │C:LINUX> gzip -d sbpcd.gz ← 解压缩 SBPCD.GZ 档案 │ │C:LINUX> gzip -d color144.gz ← 解压缩 COLOR144.GZ 档案 │ │ │ │C:LINUX>rawrite ← 下rawrite指令 │ │RaWrite 1.2 - Write disk file to raw floppy diskette │ │ │ │Enter source file name: sbpcd ← 回答″sbpcd″为来源 │ │Enter destination drive: a: ← 回答″a:″为目的磁片 │ │Please insert a formatted diskette into drive A: and press -ENTER- :│ │Number of sectors per track for this disk is 15 │ │Writing p_w_picpath to drive A:. Press ^C to abort. │ │Track: 79 Head: 1 Sector: 13 │ │Done. │ │ │ │C:LINUX>rawrite ← 下rawrite指令 │ │RaWrite 1.2 - Write disk file to raw floppy diskette │ │ │ │Enter source file name: color144 ← 回答″color144″为来源 │ │Enter destination drive: a: ← 回答″a:″为目的磁片 │ │Please insert a formatted diskette into drive A: and press -ENTER- :│ │Number of sectors per track for this disk is 15 │ │Writing p_w_picpath to drive A:. Press ^C to abort. │ │Track: 79 Head: 1 Sector: 13 │ │Done. │ │ │ └——————————————————————————————————┘
以上操作注意一点, SBPCD.GZ 及 COLOR144.GZ 档案经解压缩处 理後, 其档名将分变为 SBPCD 及 COLOR144, 也就是其延伸档案 .GZ 会消失不见。
您依照上面示□操作之前, 记得先准备好两张格式化(format)过 的磁片, 插入第一个软碟 (也就是A槽)。由於各硬体上的差异, 以 及BIOS设定的不同, 假如您有两个软碟机的话, 两个之中, 必有其中 之一是可以用来开机的, 您就是把format过的磁片摆入这个可以开机 磁碟机内。
Unix 环境下制作 以上的操作示□, 是在 DOS 环境下制作出 Slackware Linux 两 张安装磁片, 藉由这两张磁片, 您就可以启动一部 PC, 进入 Linux 作业系统, 在此之下, 接著再进一步进行系统安装作业。
不过假如您没有 DOS机器, 而只有工作站电脑, 或其他任何附有 软碟机的 Unix 机器 (包含 Linux), 您也可以在这环境下制作出 这两张安装磁片 (先决条件是该机器安装有gzip 工具程式)。
<< 画面 2-3 >> $ dir total 1130 drwxr-xr-x 2 root root 1024 Nov 6 21:42 ./ drwxr-xr-x 9 root root 1024 Nov 6 21:41 ../ -rw-r--r-- 1 root root 546082 Nov 6 21:42 color144.gz -rw-r--r-- 1 root root 599602 Nov 6 21:42 sbpcd.gz
$ gzip -d color144.gz sbpcd.gz ← 解压缩 $ dir
total 2896 drwxr-xr-x 2 root root 1024 Nov 6 21:44 ./ drwxr-xr-x 9 root root 1024 Nov 6 21:41 ../ -rw-r--r-- 1 root root 1474560 Nov 6 21:42 color144 -rw-r--r-- 1 root root 1474560 Nov 6 21:42 sbpcd
$ dd if=sbpcd of=/dev/fd0 obs=18k $ dd if=color144 of=/dev/fd0 obs=18k
上面指令中, fd0 假设为您的软碟机, 在您的系统可能会有不同 的名称 (比方 rfd0), 请自行替换。 另外, 执行 dd 指令之前, 记得 先放一张已经 FORMAT 过的磁片 (用DOS FORMAT A: 指令, 或者 Linux fdformat /dev/fd0H1440)。
分割区 (Partition) 考量 一般来说, 我们安装作业系统时, 在该电脑硬碟内至少必须先预留一个 分割区。 假如该电脑的硬碟是刚买的, 通常硬碟内没有任何的分割区, 这 时候, 我们便可以新进行一下纸上系统配置规划, 之後我们可以实际进行硬 碟规划。
进行硬碟规划时, 我建议读者朋友先考虑下列三个因素:
A. Slackware Linux 系统本身所需要硬碟空间: 完整的 Slackware Linux 2.02 大约会用掉 150MB - 200MB 之间。
B. 未来该 Slackware Linux 主机的可能使用者: 假如使用者不少於 50个人的话, 那 /home 可以独立成一个档案系统, 并给予其足够 的空间。
C. 以及主要应用软体类型: 比方说, 假如跑 Netnews Server的话, 这一类网路应用会消耗掉大量的硬碟空间, 而且平常的 Disk I/O 也很重, 对於这种应用, 最好我们这软体所需要的档案系统, 独 立在另外一颗硬碟之内, 所者至少另外一个分割区。
以下就是一部 UUserv 社区网路 Linux 主机的硬碟分割区配置, 提供给读者参考, 对於想把 Linux 主机摆在严肃场合的朋友来说, 您不妨以这为一个 Model, 再行跟对您的情况修改规划。 但是假如 您只是把 Linux 主机作为个人使用, 您可以忽略以下说明。
$ df Filesystem 1024-blocks Used Available Capacity Mounted on /dev/hda1 139112 85470 46458 65% / /dev/hdb3 137825 52185 82793 39% /var /dev/hdb1 313715 115335 194792 37% /var/spool/news /dev/hda3 47586 33364 11758 74% /home /dev/hda2 198099 68226 119643 36% /usr/local /dev/hda4 19355 1597 16759 9% /tmp /dev/sbpcd 610320 610320 0 100% /cdrom
由上面我们可以看到, 该机器一共有两颗硬碟, 规划有六个分割 区 (cdrom 档案系统不算)。
/ 根档案系统, 越小越系统效率越佳, 只需要有足够的程式把系统启动 /var 所有变动性的储存区域摆放在此, 比方所有系统记录档、 使用者信箱区域 /var/spool/news News spool 存放区域, 有跑 News Server的话, 这配置很重要 /home 使用者的工作目录 /usr/local 系统管理者所新增的工具程式或软体可以摆放在这一个独立的 分割区域 /tmp 系统临时性工作区域
以上的说明应该对您做系统规划及硬碟配置时有帮助。 假如我 以这例子的情况来做□本的话, 在一开始, 我们就要 Linux 的 fdisk 程式把两颗硬碟细分出六个分割区。 至於实际的操作, 我会在後面 示□说明。
最後有关於分割区的基本概念, 我再来补充一下。 一个硬碟最 多可以有四个 primary partition (分割区), 在每一个分割区我们 可以安装一个作业系统, 一般个人使用者可以这样做, 如此可以一 在一台机器上安装好几个不同的作业系统, 并且可以切换使用。
另外, 很多时候, 假如我们购买一部已经安装有 DOS 及 Windows 的新机器, 通常这机器的硬碟只规划有一个分割区, 而且全部给 DOS 了。 这种情况, 您几乎就没有办法再加装其他作业系统。
开机选择程式 大凡非严肃场合, 很多朋友会在同一部机器安装好多个作业系统, 比方说把 Linux、 FreeBSD 及 DOS 三个作业系统安装在同一部机器, 这情况就需要能够在硬体开机时, 选择进入不同的作业系统。
开机选择程式非常多, 尤其在 DOS 环境下有很多 Sharewere软 体, 不过这些笔者都不推荐, 因为 Linux 本身就有相当优异的开机 选择程式 -- LILO (Linux Loader), 这程式可以让您在开机的煞那, 选择进入您指定的作业系统, 有了 LILO, 您可以把 Linux 安装在任 一个分割区都无所谓, 安装在第一或第二个硬碟都无妨。