□ 您可以由本书得到哪些收获 -- 自序 不记得什麽时候开始着手写这本书了, 我只感觉到, 差不多才一 年半不到, 这本书的内容竟然就过期了这麽严重, 而从新改版的想法 一直都有, 只是诸事颇忙, 於是一拖再拖。 1994年十月, 我在资策会开了两个 linux 技术讨论会, 其中一个 谈 Linux安装, 另外一个谈进阶应用, 像是各种网路设定种种。 我记 得讲完第一场安装的部份後, 我感觉糟透了, 一来我发觉我应付不来 各式各样不同层度问题之外, 更严重的, 是我组织能力薄弱, 没有办 法用嘴巴很条理的解说。 於是我决定发奋着书 :-) 这是一本定位 在入门的书籍, 由其只介绍与 Linux系统安装有关的部份。 经过两个月的思考, 我几乎把旧版的内容完全丢到, 重新规划, 一 边写一边做测试, 其实也一边学习, 感觉更了解 Slackware Linux各方 面的设计, 我期望这些时间所留下来的文字, 能够对读者朋友们有帮助 ,也希望这本书能帮帮助您发现 Linux的了不起用途。 不过在此也再次 提醒读者, 本书所介绍的只局限在 Linux系统安装方面, 您若想发挥 Linux 三头六臂的本事, 您有必要多叁考各式各样的 FAQ 与 HOWTO 文 件等等, 在本书附录我有摘录一些, 而更丰富的部份, 请叁考笔者拙着 「轻轻松松管理 Linux/Unix」 的介绍。 最後, 这本书也存在有电子版本, 经济能力不许可买这本书的朋友 们假如可以上 Internet的话, 可以用 FTP 到 NCTUCCCA.edu.tw:/ Chinese/YuanInfo/Linux目录下取得。曾瑞源 1994/11/25 台湾.台北 yuan@uuserv.net.tw 第零章 观念篇 请读者用品读散文的心情, 轻松愉快的享受以下的文字。本章内容: 如何轻轻松松的阅读本书 DOS 等於 PC? 您满意DOS的表现? Unix 速写 什麽是Linux 何处可以买到 Linux CD-ROM? 关於 Kernel 版本与 Distribution 版本的澄清 关於 Linux的 硬体 drivers 如何选择 Slackwareⅱ Debian 及 SLS Linux着作权须知 GNU General Public License序文中译 (非完整全文) Slackware Linux 安装速成班 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━□ 如何轻轻松松的阅读本书给DOS的使用者 很多 DOS的使用者, 对於作业系统ⅱ 硬碟分割区 (Partition) 与 档案系统之间的关系没有概念, 假如您就是其中之一, 放轻松, 这本书 的写法非常浅显易懂, 相信即使您原本不熟Unix, 也可以很轻松进入 Linux的门槛, 并进而利用它。 这本书的另外一个风格, 就是罗唆且详尽的实际说明。笔者一直设法 把萤幕上实际的情况, 真实的节录出来, 且附上详细的解说, 希望这可以 让每一个读者都觉得浅显易懂, 即或不懂, 也可以依样画葫芦地架设起一 套高功能Linux/Unix工作站。 至於阅读本书的方法, 您大体上照着笔者各章节的顺序来阅读, 在各 章节中, 会有更明确的指引, 照着这样来读, 您应该可以很快补足原本 所欠缺的观念。 给Unix高手 Linux虽然没有名份及血统, 对於熟悉Unix的您, 绝对会惊讶於Linux 拥有Unix家族所应有的东西, 比方像典雅的气质且亲和力居Unix成员之冠( Unix家族的传统最是欠缺亲和力)ⅱ惯常一心多用(多工)ⅱ适应力强(在不 同硬体架构上, Unix都能存活)ⅱ沟通能力超强(网路ⅱ通讯)..等等, 您 都可以在Linux上发现这些您最熟悉的风采。 您有了Unix经验作背景了, 您大可很快速的浏览。为此, 在第一 章中, 我为您准备了〃给Unix高手速读〃一节, 让您最快速的知道如 何装置Linux, 所以笔者建议您在浏览本章(第零章)後, 不妨先浏览那 一节。但是, 万一您读起来仍然不顺, 那麽您不妨从头来, 依照我所 写章节的顺序浏览, 这样, 也许某些您欠缺的观念可以得到补强。 □ DOS 等於 PC ? 我们一般通称的PC, 是指 IBM PC 或者 IBM 相容 PC 而言。 PC 只是一个机器, 没有作业系统的话, 机器只是机器。 也就是说, 要 有作业系统来把PC启动, 这部PC才勉强算是一部电脑。 我之所以说 「勉强」, 是因为 PC 加上作业系统但没有应用软体的话, 仍然是废 物。 由上面这段话我们知道了, 要有作业系统才能把PC给启动起来, 那麽这里所说的作业系统专指MS DOSⅱDR DOS或PC DOS等等(以下简 称DOS)吗? 这问题让我想起一个不对但被普遍接受的观念, PC 与 DOS不能 划上等号!! 的确, 大部分PC而言都是跑DOS为主, 但DOS绝对不是唯 一能启动您 PC 的作业系统。换句话说, 我们一般说的PC, 常已经指 「跑DOS的PC」, 这不是很好的说法, 因为我们实际上可以装设 Unix 在PC内, 也可以装设Linux, 甚至要把UnixⅱLinuxⅱ及DOS三种作业 系统装在同一部PC内也行, 我甚至还可以任意选择其中之一来开机呢 。 有这一层认识後, 下次您可不要再把DOS与PC划上等号。 □ 您满意DOS的表现? 您可知道, 从硬体的角度来看, 您的PC在运算速度上, 已经超越 了大部分的大型电脑了(这样比较其实是不对的, 以笔者对这两者的了 解, PC 与大型电脑的差异实在太大了, 这里用 CPU 速度一项来做比 较是不恰当的), 但从软体的角度来看, 您的PC却仍是一个阳春ⅱ简陋 且不安全的系统。上面这句话是真的, 因为您使用DOS。 DOS是有史以来, 最成功商业化的作业系统之一, DOS是少数真正 可以号称为开放系统的作业系统。从软体上来看, 您不大需要害怕不 同厂商所供应的DOS, 会使得原来的软体不再执行。从硬体的角度来看 ,您几乎可以随便购买一些周边设备来搭配这一台跑DOS的PC, 只要您 跑DOS, 几乎不会有软硬体匹配的问题, 您有非常好的保障。 可惜上面这些优点都无法掩盖一个事实, DOS是一个极其阳春的作 业系统, DOS是一套16位元ⅱ单工单使用者的作业系统。单工表示在同 一个时间里, DOS只能一次执行一项工作, 於是使用者常常被迫用很多 时间在等待。 多使用者表示系统一次可以有多人使用, 您跑DOS的PC, 一次只能被一个人使用, 也就是一个人(或者一个软体) 就占用个整个 系统。由这个角度, 我们回头看我前面的话〃PC已经超越了几十年前的 大型系统〃, 不令人摇头吗? PC是超越了, 可是PC+DOS的组合却仍极 端落後。 上面这一段话对大部分使用者来说, 其实是没有道理的, 因为这 些使用者已经能够满足DOS亲切好用的风格, DOS刚好笨的恰恰好, 非 常容易驾驭。 请原谅笔者如此正负面交互着讲, 我只是想让您更清楚的知道,您 的PC也可以强悍到与工作站电脑脑互别苗头, 假如您将之搭配一个强 悍的作业系统的话。 您的PC也可以简单好用, 假如您搭配一个笨得恰 到好处的作业系统的话, 比方像DOS。这之间的差别, 就是作业系统的 选择。 有了这些心理建设, 您才有理由入Linux/Unix的门来。 Linux可 以充份发挥您 32 位元 PC 的高速运算能力, Linux/Unix可以免除您 对当机的恐惧, Linux/Unix各式各样的发展工具可以让您欣喜若狂, Linux/Unix可以轻易的让您成为网路通讯的天生赢家, 但Linux/Unix 同样会带给您在系统管理以及使用上的烦恼, 因为伴随强大系统功能 而来的, 也正是复杂ⅱ且使用难度高的系统。 为了给您更完整的概念, 我们先来看看这一部跑Linux的PC有何不 同, 对於「多工」ⅱ「多使用者」等概念较薄弱的读者, 下面图表或 许可以帮助读者想像如何充分的把一部 PC 做到最大利用, 以及当今 的 PC 硬体上已经多麽强悍, 只要搭配一个恰当的作业系统。 这例是 笔者所筹办的 「UUserv 社区网路」的主机系统, 有关这主机的硬体 规格, CPU 是 Intel 486DX-50, VESA local bus IDE controler 搭 配一个 420MB Seagate 及 540MB WD硬碟, 记忆体有 32MB RAMⅱ 256KB cache, 以及 NE2000 相容网路卡等等。 软体方面, 这机器所 执行的工作包括Terminal server (可以接受大多 8 条电话拨接连线) , 在内部 Ethernet网路提供 NFS (Network File System) 给网路中 其他两部电脑, 另外一条数据专线 24 小时连线 Internet, 是跑 PPP 上 Internet。 在通讯服务上, 这系统执行有完整的TCP/ip网路环境, 以所执行的Server来说, INN news serverⅱ Gopher serverⅱ Mail server (SMTPⅱPOP3ⅱUUCP)ⅱ Name server等等的工作在同一部 PC 之上。 以上这麽多工作同时集中在一部机器其实并不妥当, 这里我只是 想用一个实际例告诉大家, 一部 486 PC 可以做到这麽大的功能。 事 实上, 初期的 UUserv 主机确实是这样跑, 不过後来把 Local 的网路 (比方 Terminal Serviceⅱ UUCPⅱ NFS等等) 与对外 Internet (比 方 Mail serverⅱ Name serverⅱ Gopher serverⅱ INN Netnews serverⅱ 以及 SLIP/PPP 连线本身) 分开在不同的 PC做, 而後者则 是采用一部老旧 386sx-20 PC 配备 16MB记忆体, 跑得也非常满意。这题外话。$ uptime 11:27am up 5 min, 5 users, load average: 0.11, 0.08, 0.02 $ who ← who指令瞧瞧系统上有多少使用者上机, 共有七人 root tty2 Oct 2 01:08 guest tty3 Oct 2 01:47 root tty1 Oct 2 00:57 joel ttyS4 Oct 2 01:24 (:dialup_modem) guest ttyS5 Oct 2 01:47 (:dialup_modem) yuan ttyp0 Oct 2 01:03 (linux2.cfic2.com) yuan ttyp1 Oct 2 01:18 (linux2.cfic2.com) $ ps ← 我想知道系统目前正执行着多少工作 PID TTY STAT TIME COMMAND 1 con S 2:04 init auto 6 con S 0:00 bdflush (daemon) 7 con S 0:08 update (bdflush) 21 con S 0:07 /usr/sbin/crond -l10 40 con S 6:43 /usr/sbin/syslogd 42 con S 0:00 /usr/sbin/klogd -d -f /var/adm/kernel.log 44 con S 0:00 /usr/sbin/rpc.portmap 46 con S 0:00 /usr/sbin/inetd 48 con S 13:03 /usr/sbin/named 52 con S 0:00 /usr/sbin/lpd 54 con S 0:00 /usr/sbin/rpc.ugidd -d 56 con S 0:00 /usr/sbin/rpc.mountd 60 con S 0:00 /usr/sbin/rpc.nfsd 62 con S 0:00 /usr/sbin/rpc.pcnfsd /var/spool/lpd 101 p 1 S 0:03 -tcsh 102 p 2 S 0:03 -tcsh 103 p 3 S 0:03 -tcsh 764 con S 0:02 -waiting for connection @ 70 1894 con S 0:00 /usr/bin/runq 1900 con S 0:00 /usr/bin/runq 3458 p 4 S 0:04 -tcsh 3494 con S 0:08 /usr/sbin/in.telnetd+issue : 3511 p 2 T 0:00 less README.linux 4757 p 2 S 0:02 tail -f log 6217 p 4 T 0:00 vi README 6447 con S 0:06 /usr/sbin/in.telnetd+issue 6787 p 4 T 0:00 vi README 8151 con S 0:00 /etc/modem ttyS5 8350 con S 0:00 /etc/modem ttyS4 8654 pS0 S 0:00 pppd connect chat -v "" ATD CONNECT /dev/cua0 19200 8657 p 1 S 0:00 tail -f /usr/adm/pppdlog 8759 p 4 S 0:02 make -j4 zImage 8768 p 4 S 0:00 gcc -D__KERNEL__ -I/usr/src/linux/include -Wall 8770 p 4 S 0:00 /bin/sh -c set -e; for i in kernel drivers mm fs net ipc 8772 p 4 S 0:00 gcc -Wall -Wstrict-PRototypes -O2 8773 p 4 S 0:01 /usr/lib/gcc-lib/i486-linux/2.5.8/cpp -lang-c 8774 p 4 R 0:01 /usr/lib/gcc-lib/i486-linux/2.5.8/cc1 -quiet 8775 p 4 S 0:00 as -o init/main.o 8776 p 4 S 0:02 make -C kernel 8779 p 4 R 0:02 /usr/lib/gcc-lib/i486-linux/2.5.8/cc1 -quiet-dumpbase bu 8780 p 4 S 0:00 as -o /tmp/cca087721.o 8801 p 4 R 0:00 as86 -0 -a -o boot/bootsect.o boot/bootsect.s 8803 p 4 R 0:00 make -C kernel 8806 p 4 R 0:00 gcc -D__KERNEL__ -I/usr/src/linux/include -Wall 8807 p 4 R 0:00 gcc -D__KERNEL__ -I/usr/src/linux/include -Wall 1129 con S 0:40 /usr/lib/news/etc/innd -p4 -i0 3496 pp0 S 0:01 -tcsh 5618 pp0 T 0:39 tin 6449 pp1 S 0:02 -tcsh 8798 pp1 R 0:00 ps ax 8799 pp1 S 0:00 less 7396 con S 0:01 sh /usr/etc/bbs/service-2 7648 con S 0:00 sh /usr/etc/bbs/service-3 7651 con S 0:00 sh /usr/etc/bbs/service-news 7654 con R 11:24 /usr/local/bin/ctin 7226 con S 0:00 sh /usr/etc/bbs/service-2 7229 con S 0:00 sh /usr/etc/bbs/service-3 7232 con S 0:00 sh /usr/etc/bbs/service-news 7235 con R 20:26 /usr/local/bin/ctin 7968 pS7 S 0:01 sh /usr/etc/bbs/bbs-login 8281 pS7 S 0:00 sh /usr/etc/bbs/service-2 8287 pS7 S 0:00 sh /usr/etc/bbs/service-3 8290 pS7 S 0:00 sh /usr/etc/bbs/service-news 8293 pS7 S 0:14 /usr/local/bin/ctin 7647 pS6 S 0:01 sh /usr/etc/bbs/bbs-login 8617 pS6 S 0:00 sh /usr/etc/bbs/service-2 8645 pS6 S 0:00 less -fmer /usr/etc/bbs/announce-charge 上面这个表示范着, 一部 PC 在某一个时刻的运转情况, 这化许 可以帮助读者了解到现代 PC 的强悍。□ Unix 速写 这一节想对DOS的使用者讲述什麽是Unix, 用最精简的叙述来含括 Unix的过去与现在, 不光是历史面, 且包括哲学面。这个企图是笔者 从Don Libes及Sandy Ressler合写的LIFE WITH UNIX这本书盗来的, 我将设法用最精简的文字来提出我个人的看法 (也就是偏见)。不满足 或不满意笔者的叙述的读者, 我建议您到图书馆或书店拿〃LIFE WITH UNIX〃(ISBN 0-13-536657-7, Prentice Hall) 这本书来看, 这是笔 者见过讲UNIX历史ⅱ 发展ⅱ哲学及应用等等方面最好的书之一。假如 您想确切知道 Unix 年代记事ⅱUnix的标准等等, 或者多方面比较不 同记载的历史的话, 另外两篇文章您也不可错过, Eric S. Raymond 所着的〃PC-clone UNIX Software Buyer's Guide〃 (可以在 pit-manager.mit.edu /pub/usenet/comp.unix.bsd 档案库取得), 以 及 Unix常见问与答第六册 (Unix - Frequently Asked Questions (6/7), 本文件可以在pit-manager.mit.edu /pub/usenet/comp.unix /question档案库取得)。 传说, Unix在1970年诞生於Bell实验室, 那时Bell实验室与AT&T 公司仍是一家人。 Unix最初的版本是用组合语言写的, 之後又以C语言改写。大约在 最初的五年左右, Unix是一个只限於AT&T内部使用的作业系统。而在 第七年後, Unix才真正成为一个有厂商支援的商业产品, 这第一家卖 Unix的转销商是美商Interactive System Co. (现已被SUN收购)。 七十年代末, 第二个十年, Unix在加州大学柏克莱分校有很大的 发展, 这也就是着名的BSD Unix 系列。Unix在这学府里过着幸福美满 快乐的日子, 一天一天的成长, 一直到1992年中, 柏克莱大学决定不 再发展 Unix, BSD Unix最後的版本是 4.4BSD。也同时在这一年, AT&T/USL控告柏克莱不当使用 Unix 执照以及 BSDI 公司(据说, BSDI 成员就是柏克莱发展 4.3BSD 的同一批人)侵权, 最後结果是AT&T/USL 败诉。 後面图中, 笔者摘录了一些有关 BSD发展的时程表。 八十年代迄今, 除AT&T及柏克莱以外, 对Unix进行重大改进的一 个单位, 就是卡内基美浓大学(Carnegie-Mellon Unverisry, CMU)的 Mach 计画, 现在很多多重处理器迷你电脑以及超级电脑等等所采用 的作业系统, 很多都跟 Mach有关。 您大概可以猜想, 最好的Unix都 采用了Mach, NeXT就是其中之一。(根据可靠的谣言, NeXT是Unix中的 极品)。 值得一谈的是, Mach 2.5含有AT&T Unix的纯正血统, 但Mach 3.0就没有AT&T Unix的程式码了, CMU将Mach原本拥有的Unix贵族血统 彻底换成了个民家姑娘, 人人可以亲近的作业系统。於是, 采用Mach 3.0为核心的作业系统也就完全没有 AT&T 执照的限制了, 仍未诞生的 GNU Hurd就是架构在Mach 3.0之上的一套作业系统。 而在AT&T这方面, 似乎被冷落几年後又有新局面, 大约从1983年 System III诞生起, 接着 System IV以至於System V的演进。现今多 数的 Unix 版本便是根据System V发展而来。 至於System V本身的演 进则是从 System VR2 (R2表示Release 2)ⅱ System VR3ⅱ 以至於 System VR4, 最後一版也就是一般所称UNIX SVR4或更简称为 SVR4, SVR4与SVR3有很大的不同, 因为SRV4开始引进了 BSD Unix的特色, 也 就是把 SVR3 以及 BSD 4.2 融合一起。以上是发生在八十年代的故事 。仍活在八十年代的人, 便一直以System V (读作System 5)与BSD把 Unix做一分界。 八十年代初(1981), IBM个人电脑出现了。两年後, PC版本的Unix 也跟着推出出了, 这一个市场几乎一年比一年好卖, 美商 SCO (SCO UNIX) 公司是这一行的翘楚。 随IBM PC之後, 同样列身微电脑的 Macintosh以 及 Atari ST 等等也没有例外, Unix也马上被移植(Port) 到这些Motorola 68K CPU的微电脑上。 八十年代中, 工作站电脑也出现了, 这些跑Unix的工作站又把Unix 带入更广的应用领域, 尤其在绘图运算处理ⅱ资料库应用以及网路通 讯的应用等等, 工作站电脑与 PC Unix在九十年代时尤其好卖, 美商 SUN在这一行尤其是独领风骚。 与此同时, 在超级电脑上, Unix也同 样受宠, 这一行吃得开的有 CrayⅱFujitsu及Convex等等。在九十年 代後, Unix工作站更与Unix超级电脑联手起来攻打原属於大型电脑为 主的商业应用领域, 且显然越来越成功了。这无法阻止的趋势, 就连 电脑界的老大 IBM 也抢着要分一杯羹, 有趣的现象就是, 为了倾全力 抢攻Unix市场, IBM也不得不搬石头打自己的脚了, 因为, IBM在犹疑 一番後也看准了这趋势, 可是由於市场有太多的重叠, 所以IBM同时也 要使出吃奶的全部力量, 来大力来护住其原来在OS/2ⅱ迷你电脑甚至 大型电脑的市场不被Unix所侵蚀。 活在九十年代的我们所看到的就很明显了, Unix已广被使用了, 且不 同环境下都有Unix, 从PCⅱ工作站ⅱ迷你电脑到超级电脑等等都找得到, 所以, 站在使用者立场来想, 我们只要熟悉了其中一种环境下的Unix, 走 到哪里都不陌生。 从这里往下, 我要把话题稍转一下。传说, Unix最常被说成是〃开 放系统〃, 所谓开放系统, 从使用者角度来诠释, 也就是您把一个软体 拿到不同版本的Unix下, 也同样可以跑, 这样的一个环境称之。但从这 之前几段话看来, Unix既然有这麽多不同的版本, 且硬体架构又差异如 此多, 这有可能是开放系统吗? 笔者没有答案, 但对拥有无数Unix奇才 的研究单位或学校来说, 答案可以是〃Yes〃, 但对商业应用环境为主的 产业来说, 答案恐怕是〃No〃。也由此来看, 不同版本Unix之间, 是很 难谈〃相容性〃的, 这现象我们待一会看Linux与Unix的相容性时, 会很 有趣。 一个越完整的电脑系统, 常常也正是一个越趋於复杂的电脑, Unix 就是一个典型。 在这一类完整的电脑系统下, 常常就有三种人: 系统管 理者ⅱ(在更复杂的系统像是IBM 370系列主机下, 又细分有好几类人)系 统发展者以及基层使用者。 把这话题带到Linux, 您想要好好运用Linux 的话, 您最起码要扮演系统管理者以及使用者的角色。 从前Unix是AT&T的注册商标, 在AT&T成立一家叫UNIX System Lab. Inc. (USL)的子公司後, Unix的注册版权便转移到USL, 但由於USL还是 AT&T的子公司, 所以AT&T Unix还是一般人对Unix最常称呼的全衔。这 事实一直维持到1993年春天, AT&T把USL 卖给的Novell公司, 从此AT&T Unix这字眼只存在於历史, 或者只是观念上的名词而已了。 时间到了 1994年春天, Novell 公司破天荒的放弃了 UNIX商标, 把它授与位於 英国的一个 X/Open 标准组织, 这举动让所有符合 X/Open 所制定规格 的作业系统, 都可以冠上 UNIX名称, 不过 Novell公司仍保有原 UNIX 系统程式码的着作权。 至於本书从头到尾都使用小写 Unix, 这是取其属性而已 :-) 以 属性来说, 这本书的观点完全把 Linux视为 Unix的一种, 也是这原因 , 这本书经常出现Linux/Unix组合字眼。 图0.2就是Unix诸子百家归纳图, 这图应该可以帮助那些对Unix 家族有兴趣的社会学家或考古学家们。 我特别想提醒您注意的是,该 图的最右边〃渊源〃一栏, 这里我将Unix瓜分为SVR3ⅱSVR4ⅱMach 2.5以及 BSD 系列, 这完全是笔者的看法或偏见而已, 您不一定要 认同。另外, 有关本表之血统, 原出自台大萧永厌先生 (syc@cc.ntu.edu.tw) 之手, 笔者特此感谢。┏━图0.2 ━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃公 司 ┃ UNIX 产品名称 硬体 渊 源 ┃ ┣━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃USL ┃ UNIX SYSTEM V 4.2 x86 ┃ ┃Novell ┃ UnixWare x86 ┃ ┃大同公司 ┃ MITUX/SVR4.2 x86 ┃ ┃NCR ┃ NCU UNIX SVR4 MP x86 ┃ ┃Consensys ┃ Consensys V4 UNIX x86 ┃ ┃Dell ┃ Dell UNIX SVR4 v2.2 x86 ┃ ┃Esix ┃ Esix SVR4 v4.0.4 x86 SVR4 ┃ ┃Microport ┃ Microport SVR4.1 v4 x86 ┃ ┃MST ┃ Microport SVR4.1 x86 ┃ ┃UHC ┃ UHC UNIX SVR4 v3.6 x86 ┃ ┃Univel ┃ UnixWare x86 ┃ ┃IFS ┃ IFS SVR4.2 x86 ┃ ┃Cray ┃ UNICOS Cray(超级) ┃ ┃SUN ┃ Solaris Sparcⅱ x86 (SVR4+BSD) ┃ ┃Apple ┃ A/UX MAC (SV+BSD) ┃ ┣━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃资策会 ┃ SEEDix 3.21 x86 ┃ ┃HP ┃ UP-UX x86ⅱHP工作站 ┃ ┃SCO/MS ┃ SCO Xenix x86 ┃ ┃SCO ┃ SCO UNIX V3.2 R4 x86 SVR3 ┃ ┃SCO ┃ SCO OPEN DESKTOP 2.0 x86 ┃ ┃SUN ┃ Interactive UNIX 3.2 x86 ┃ ┃ IBM ┃ AIX RS6000ⅱPowerCPU ┃ ┃Unisys ┃ Unisys UNIX x86ⅱ迷你电脑 (SVR4+SVR3) ┃ ┣━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ ┃ ┃ ┃DEC ┃ OSF/1 Alphaⅱx86 ┃ ┃NeXT ┃ NeXTstep 68Kⅱx86 Mach 2.5 ┃ ┃Mt Xinu ┃ Mach386 x86 ┃ ┃Encore ┃ MultiMax 超级/迷你 (Mach+4.3BSD) ┃ ┣━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ SUN ┃ SunOS 68KⅱSparcⅱ x86 ┃ ┃ DEC ┃ Ultrix 迷你电脑 ┃ ┃ SGI ┃ IRIX PC/工作站 BSD ┃ ┃ UCB ┃ 4.4BSD HP 9000/300 ┃ ┃(柏克莱) ┃ Sparc, 386, DEC ┃ ┗━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 资料来源:1. 1992.10 UNIX系统世界 2. Eric S. Raymond 着〃PC-clone UNIX Software Buyer's Guide〃 3. Unix常见问与答第六册 (Unix - Frequently Asked Questions (6/7)) 谈到Unix使用执照也是很有趣, 这「使用执照」 的观念对不熟 Unix或网路应用软体的读者是个很新鲜的观念, 现在一般网路上的软 体的贩卖方式, 常常是「5个人的使用执照」来定价, 或者十人ⅱ百 人等等。 早期 Unix 的发行是以程式码(Source Code)为主, 而不一 定有可执行码(Binary Code), 不过AT&T Unix的顾客或转销商则须 同时购买Source 以及Binary 执照(license)。 现在的情况则有不同 , 各转销商所卖的Unix 渐渐的也都只有Binary执照而已, 且这类执照 都是「两个使用者」执照, 当您企图多於两个人使用或者完全不限制 使用者数目, 这时您就要购买「不限使用者数目」使用执照, 不用想 也知道, 为此您要额外付出不少银子才行。 至於谈到相容的(或相似的)Unix就更有趣了, 这里笔者所指「相 容Unix」泛指所有不含AT&T Unix 程式码, 自称相容(或相似)於Unix 的作业系统。以笔者所知, 早期最有名的两套相容Unix系统; 一个是 Minix, 这是一套相容於AT&T System 7 的系统, 可以在XT/AT上跑, 售价大约美金 150 元, 额外一提, 早期的Linux便是在Minix下所诞 生。另一套叫做 Coherent 的系统, 这是一套三十二位元系统, 由 Mark Williams 公司所发展, 售价美金99元。至於相似Unix的系统, 根据Eric S. Raymond在〃PC-clone UNIX Software Buyer's Guide〃 上的说明, Quantum Software Systems公司出品的QNX, 及 Lynx Real-Time Systems Inc. of Los Gatos, California公司出品的 LynxOS等, 都是属於这一类的作业系统。 另外大名鼎鼎, 曾经未演 先轰动的Microsoft NT也算是其中之一。 1991年四月诞生的Linux 0.01ⅱ1992年初的386BSD 0.0以及Mach 3.0 则是三套不用花钱的Unix相容系统, 另外, 未诞生的GNU Hurd作 业系统, 乃架构在Mach 3.0之上, 但笔者对Mach 3.0以及GNU Hurd所 知甚少。 而对於Linux及386BSD, 笔者则为此损伤了不少脑细胞。照 笔者使用 386BSD 与 BSD 4.3 的经验, 这两者非常的相容。 另外, 前阵子 Unix界最着名的控诉案, 被USL所告结果胜诉的BSDI公司的 BSD386 作业系统, 其与 386BSD 是同父母所生, 其程式码都同样来自 柏克莱的 NET2, 不同的是, BSD386采商业发行。 不含UNIX程式码的Unix相容或相似作业系统┏━图0.3 ━━━┳━━━━━━━━━━━━━━━━━━━┓ ┃出 品 ┃ UNIX 产品名称 硬体 售价 ┃ ┣━━━━━━━╋━━━━━━━━━━━━━━━━━━━┫ ┃FSF ┃ GNU Hurd 68K CPU 免费 ┃ ┃MarK Williams ┃ Coherent AT US$99 ┃ ┃Prentice Hall ┃ Minix x86 US$169┃ ┃Bill & Lynne ┃ 386BSD x86 免费 ┃ ┃ Jolitz ┃ ┃ ┃UCB 4.4BSD ┃ FreeBSD x86 免费 ┃ ┃UCB 4.4BSD ┃ NetBSD x86ⅱSparc 免费 ┃ ┃Linus Torvalds┃ Linux x86 免费 ┃ ┃Lynx Inc. ┃ Lynx 不详 不详 ┃ ┃Quantum ┃ QNX 不详 不详 ┃ ┃Microsoft ┃ NT 可以在大部分CPU上跑 不详 ┃ ┗━━━━━━━┻━━━━━━━━━━━━━━━━━━━┛ BSD发展的时程表3.0 BSD first demand paging unix | | v 4.1 BSD first TCP/IP | | v 4.2 BSD (1983) first widely available release of TCP/IP first sockets | | v 4.3 BSD (1986) TCP performance improvements | | v 4.3 BSD Tahoe (1988) -------------------> BSD Networking Software slow start, congestion avoidance Release 1.0 (1989) | | v 4.3 BSD Reno (1990) --------------------> BSD Networking Software TCP header prediction, Release 2.0 (1991) SLIP header compression, routing table changes | | v 4.4 BSD (1993) -------------------------> 4.4 BSD-Lite (1994) multicasting, long fat pipe modifications (摘自 1994 12月9日 Usenet comp.os.linux.misc 信区, 作者 Kenneth Stailey, kstailey@leidecker.gsfc.nasa.gov, 本文引用 经原作者许可) □ 什麽是Linux 在谈完了DOS以及Unix之後, 笔者终於回到主题, 什麽是Linux呢 。 首先我们要知道, Linux 是一套作业系统, 对 Linux的发展来说, Linux 字眼尤其是指 Linux 的 kernel (系统核心服务程式) 而言。 对我们一般 Linux使用者或管理者来说, 我们所谈的 Linux, 并不是 这一小区块, 我们是指一个可以具体提供某些解决方案的作业环境, 用电脑术语来说, 就是包含有 Linux kernelⅱ utilities (系统工具 程式) 以及应用软体的一个整体。 换句话说, 不论我们从网路或从 CD-ROM取得 Linux, 我们取得的就是这样一个拥有完整作业环境的套 装软体。 前面讲过, 照本书的看法, Linux是 Unix的一种, 细节上来说, Linux 是一套相容於 System V 以及 BSD Unix 作业系统, 至於这相 容字眼, 後者来说, 目前可以说有source level的相容, 对於前者 System V 则已经有 binary 相容。 所谓 source level相容, 就是 把软体程式码拿到 Linux底下重新编译之後就可以跑, 至於binary相 容, 就是软体执行档直接拿到 Linux下也可以跑。 我们观察到一个 有趣的现象是, Linux与Unix的相容, 恐怕胜过於不同版本Unix之间 的相容程度! 但这究竟如何, 各家见解有所不同, 笔者也不敢强迫您 据以相信。 至於Linux 原创者 Linus本人的说法, Linux 是一套遵 从 POSIX规范的一个作业系统, 至少在系统 kernel是如此。 Linux於1991年四月, 由芬兰人Linus Benedict Torvalds (torvalds@kruuna.helsinki.fi) 所独立草创, 之後, 历经无数版本 的演进, 才渐渐变成一个完整的作业系统, 这发展过程吸引了全球的 玩家以及部份商业组织的叁予, 这样的一个软体发展模式也只有透过 Internet才有可能。 另外, 光有系统核心一点用处也没有, 我们这 里所推荐的 Linux, 是指经过整合过的 Linux套装软体, 比方像 Slackware Linuxⅱ Debian Linux及 SLS Linux等等都是, 本书主要 介绍Slackware Linux为主。 Linux 主要是架构在 386/486/Pentium等等 CPU的电脑上的一套 作业系统 (未来也有可 能在 Alphaⅱ PowerPC 等 CPU的机器上跑), 至於该 PC 可以是传统 ISA busⅱ EISAⅱ VESA Local或 Intel PCI 等汇流排架构都无所谓, 读者朋友若要选购一部PC来跑 Linux, 当然 是以能够支援 EISAⅱ VESA Local及 PCI等等的PC为主要考量。 在硬体其他细节上, Linux支援有相当多的各式各样硬体设备。 几乎所有类型的萤幕显示卡及萤幕都可以跑 (有关 X Window图形显示 模式不在此讨论范围)ⅱ 各式各样的滑鼠装置ⅱ 几乎所有类型的 SCSI 界面设备 (像是CD-ROMⅱ 硬碟ⅱ磁带机等等), 大部分的 IDE界面硬 体也都支援, 其中像 Misumi CD-ROMⅱ Panasonic 562/563 CDROM (Linux最多支援 16部 Panasonic CD-ROM)ⅱ Sony CDU31A/CDU33A CD-ROM等等。 更详细的细节, 读者们有必要叁考附录『 附录一. Linux支援哪些硬体设备』。 接下来我简单的负面列表。 Linux不能在 80286 CPU的机器上执 行, 记忆体比 2MB少的机器也不行, 通常少於 4MB的话, 有时连安装 都安装不起来, 想跑 X Window 的话, 8MB 算是勉强可行。 一个有实 用功能的 Linux, 至少要有 16MB的记忆体。 至於硬碟空间, 从零到 几 GB byte都行, 假如想安装在硬碟的话, 最基本的 Slackware Linux 大约只要 10MB的空间就可以了, 假如把基本系统工具程式ⅱ 常用应用软体以及完成 TCP/IP网路软体安装的话 (就是AⅱB及N系列 编号软体), 差不多40-50MB之间, 至於所有软体原完整安装的话, 大 约150MB - 200MB之间。 截至目前为止, 在台湾已经有相当多的公私立单位采用 Linux, 尤其是把 Linux 拿来提供 Internet 网路服务。 最明显的例子就是 笔者经营的「 UUserv 社区网路」, 提供这社区网路服务的机器就是 一台 Linux的机器, 这机器出了连接 Internet之外, 同时也接受拨接 (Dialup) 连线。 这机器的配备是, Intel 486DX50 CPUⅱ 32MB记忆 体ⅱ 两颗 IDE硬碟 (Seagate 420MB + WD 540MB)ⅱ VESA IDE Multi-IO 卡ⅱ ET4000 显示卡ⅱ 两片 Multi-Port card (八颗 16550A UART chip)ⅱ 一部 Panasonic 562B CD-ROMⅱ 一片 AT-bus CD-ROM 控制卡ⅱ 一片 NE2000相容网路卡ⅱ 五台数据机ⅱ 一个1.44MB 软碟, 及一个VGA彩色萤幕。 本系统从安装容易度ⅱ 系统管理容易以 及系统稳定度来评估, 其表现都算不错。 这里我摘录两则国外的使用经验, 让读者叁考。根据 Lyle Meier (ldm@texaco.com), 「我感激Linux的创作者们推出这样好的作品, Linux至少与其他商业系统一样好, Linux还额外的有原始程式码。... 我管理80部 Sun (工作站)ⅱ 二十部SGI (工作站)以及十部IBM RS 6000 (工作站), 我现在把Linux装在我的Gateway 4dx2-66e上 (译者 注, Gateway是美国一家相当有名的个人电脑品牌, 其制造地为台湾) , 安装Linux的程序实在太容易了, Linux所表现的不比以上任何一个 系统差...」。 另一例子, 根据1993年4月27日, 接收自Linux Activist Mailing List, 法国人 Charles Lopes (lopes@infpc3.univ-pau.fr) 在〃Normal〃频道 发出的讯息说, 他们在学校(Univ. of Pau, France)内架设的Linux主机, 开放有200个使用帐号, 而最多有30个人同时连线上机... 实在令人讶异, 正巧, 这封信正是这位老兄(或老姐)从这部Linux主机发出的, 〃@infopc3. univ-pau.fr〃正是这部主机。 我们介绍 Linux时, 也不可忽略掉现实, 就是, Linux现有的商 业软体仍然不多。 到目前为止, Linux才逐渐吸引商业Unix应用软体 发展者的注意力, 在 Usenet 网路上可以在 comp.os.linux.announce 看到陆陆续续有商业产品发表。 最後, 请允许笔者比话题弄大一些, 我感觉, Linux 对台湾的软 体工业来说, 也许是契机之一, 因为台湾的软体工业一直都没有到达 OS 这个层次的产品, 尤其在高阶多工多使用者的作业系统上。 Linux 提供有完整的程式码, 甚至, 整套Slackware Linux 套装软体的程式 码都可以免费取得, 您喜欢的话, 您可以做任意的修改, 却不需要因 此付出一分一毛的版权费。 我在想, Linux有资格在台湾成为一个成 功本土化ⅱ且价廉物美 (这一点相当重要) 的高阶作业系统。若有这 一个可能, 便是因为Linux开放的着作权规范所致, 谈到这样开放的着 作权规范, 我们不免要感谢在美国由一群具有热情傻劲与伟大理想的 人所组成的自由软体基金会(Free Software Foundation, Inc), 这基 金会给电脑界带来的全新的着作权观念, Linux便是在这样观念下才普 传开来。□ 关於 Kernel 版本与 Distribution 版本的澄清 Linux 的演进模式, 完全无法套用於传统的「软体工程」模式, 这是因为 Internet这了不起的媒体存在, 不过这不是我们这里要谈 的 :-) 我们一般人对 Linux的发展, 常会把 Kernel 与 Distribution 弄混了, 我们以 Kernel 版本来说, 目前的版本的序号大约是 1.1.72 , 1.2.0 也快要推出。 相对於 Kernel版本, 所谓的 Distribution 版本, 比方 Slackware Linux 是从 1.0.4 以直到最近的 2.0.2 以及 2.1.0。 Linux Kernel 的发展与 Slackware Linux 的发展是各自独立的, Slackware Linux 通常内附有一个 Kernel Source, 以及好几个 Kernel Image, 一般人最常遇到的系统更新需求, 也就是拿最新版 (同时必须 确定是稳定版本) 的 Kernel Source, 取代随 Slackware Linux 所附 的旧版, 重新编译成 Kernel Binary, 之後进行新旧更新。 把 Kernel 与 Distribution 版本的观念弄清楚了, 对您的第一个 好处就是, 下次您遇到问题想问人时, 您可以正确的说明系统的最基本 讯息。□ 关於 Linux的 硬体 drivers 网路上 (tw.bbs.comp.linux) 经常有朋友问起, 「有关某某某硬 体的 Driver去哪里找?」, 这牵涉到一些观念上的混淆, 容许笔者在 此做一些说明。 Linux 支援有相当大量各式各样的电脑硬体, 这是透过软体 〃Driver〃 来办到, 这些 Drivers 也就摆在 Kernel Source (原始 码) 里面, 假如读者想学 Driver 的写法, 可以到 /usr/src/linux /drivers 目录下自行去找。 Linux 环境下要「挂上」 某 Driver, 方法上与 DOS 完全不同, 以目前为止来说, Linux 的方法, 是透过系统核心的编译 (Recompile Kernel), 编译过程中, 做必要的功能与硬体类别选择, 之後所有对应 的 Drivers 就会被自动编译进去, 成为 Kernel image (这时是Binary ) 的一部份。 有关系统编译的细节, 请叁考拙着「轻轻松松管理 Linux/Unix」 这本书。□ 何处可以买到 Linux CD-ROM? 完整的 Slackware Linux 可以免费用 FTP 到 NCTUCCCA.edu.tw 档案库取得, 其目录是/UNIX/linux/Slackware。 假如您不想大费 周章去拿 (即使拿回来, 用磁片装的话, 也要六七十片磁片以上), 或者您根本没有办法上 Internet去拿, 我建议您购买 CD-ROM 版本 回来安装。 在台湾, 据笔者所知买, 至少有三处地方可以买到 Slackware Linux 2.0 以及以後的版本。 我建议您购买前, 先联络一下确定 是否买到最新版。良鹰科技 Linux CD-ROM Series 2 售价: NT$ 1090 特色: 拥有 Slackware Linuxⅱ SLS Linuxⅱ Debian Linux 且附有丰富的 sunsite.unc.edu FTP 档案库收集 购买方式: 邮政划拨 17798865, 户名: 廖国良 联络方式: (02) 832-7959 Hope Net光碟月刊: 售价: NT$ 299 特色: 1994/八月号 Slackware Linux 2.0.0 标准版 1994/十月号 Slackware Linux 2.0.0 完整核心码 1994/十二月号 Slackware Linux 2.0.2 标准版 购买方式: 各大书局 联络方式: Voice (02) 3816977, BBS (02) 3616556 交通大学云观 CD-ROM III -- Linux Plug and Play CD-ROM: (Messages mostly quoted from srlee@csie.nctu.edu.tw) 售价: 每套两片300元 或 五套10片1000元 ( + 邮购邮资60元) 特色: (1)可选择由 CD-ROM 直接执行标准 Slackware Linux 2.0.2 系统 ,外加 dosemu 0.53pl30ⅱ Andrew User Interface Systemⅱ 6.3.1 xwpe 1.3.3 (Intergrated Developement Environment) (2) 标准 Slackware Linux 2.1.0 购买方式: 亲洽交通大学计算机中心收发柜台ⅱ 宏棋软体银行 或划拨帐号:16573216 户名:李美蓉 在台北的朋友, 据说到光华商场二楼也可以买到, 价钱每片 NT$ 300 联络方式: 企划执行 李欣??先生 srlee@csie.nctu.edu.tw □ 如何选择 Slackwareⅱ Debian 及 SLS 由 Internet 上能够取得的 Linux 版本非常多, Slackware Linux ⅱ Debian Linux 及 SLS 只是其中较着名的三个 (Distribution) 而 已, 至於架构在各版本 Slackware Linux 之上的 CD-ROM 版本则是更 多, 这些 CD-ROM 很多也都加上自己不同层度的添加设计。 依照笔者的偏见, 读者朋友最好离 SLS Linux远一些, 这是因对 相对於 Slackware Linux 及 Debian Linux来说, SLS 其系统管理上 的瑕疵实在太多。 但若把 Slackware 与 Debian 拿来比, Debian 的 设计理念比较精致与简洁, 但我总有一种直觉, Debian 也有可能因为 陈义过高而难产, 以笔者使用过的最後版本 0.93 Debian Linux 来说, 把它拿来与仍密集更新与发展的 Slackware Linux 来说, 已经相差有 段距离, 也就是假如以後 Debian 有新版推出, 我感觉应该也是一个 选择之一。 本书所唯一推荐的 Slackware Linux, 是非常精致以及软体相当丰 富的 Linux 版本 (Distribution), 我们有关 Slackware 的细节不在 这里重复介绍, 值得一提的, Slackware Linux 2.0 版本有一个关於 Smail 的瑕疵, 也是由於这个原因, 从 Slackware Linux 2.02 以後起, 它的邮递软体 (MTA), 已经由 Smail 3.1.28 改为 Sendmail 8.6.9。 □ Linux着作权须知 Linux 系统核心的着作权主要是Linus本人所拥有 (核心内个别 的 drivers 其着作权为个别, 但对於实际版权规范, 乃引用美国自 由软体基金会(Free Software Foundation, Inc)着名的GNU General PublicLicense使用执照, 根据该使用执照, 任何人都可以采收费或 非收 费方式来发行Linux, 在符合该使用执照条件规范下, 做任意的 修改等等。 由於这具体涉及美国着作权法律规范, 笔者建议任何想销售Linux 或发展 Linux 的读者, 在您看到Linux所存在的商机同时, 也得小心 谨慎, 先把着作权声明好好研究明白, 之後您才有办法将Linux做最 大的运用以及最大的获益。反之, 万万不要放任自己对着作权观念的 无知, 惹讼上身, 致使您公司数年根基瞬间倾倒。为此, 在附录二有 〃GNU General Public License版权声明全文〃 英文原本, 您可不 要等到上法院才来研究本着作权声明, 这可能有些迟。另外一个同样 重要的是〃GNU Library General Public License〃, 通常您在 Linux 环境下, 用她的发展工具(GNU C C++等等)来发展应用软体时, 您就有可能必须接受这版权声明的规范了, 这版权声明可以在本书附 带软体A1磁片上找到。 下面的两段话设计来提供您有关GNU使用执照的基本概念, 这些 说明不具法律效力, 也不保证与该执照规范吻合, 您最好找您的律师 一起赏读 :-) 这里您不妨先记住一个大原则, 不论您从任何管道取得Linux (包 括 Linux系统程式及所有相关软体), 您都被允许做任意的拷贝。同 样的, 当您将Linux分送或销售出去时, 您也不可以限制收受人不准 拷贝, 也就是, GNU 使用执照要求您给予您的收受人同样的权利以及 义务, 您能够做与不能够做的事, 您的收受人都 与您一样。 另外, 您可以取得程式码(Source code), 做您喜欢的更动, 您 更被允许将之贩卖图利。但特别注意的是, 当您的收受人要求您提供 程式码时, 您不可以拒绝, 最起码您必须告知何处可以得到该程式码 。此外, 您不可据此宣称这是您公司专属品 (这便是偷窃了!)。 □ GNU General Public License序文中译 下面所列是该使用执照的序文(注意, 不是执照的法律条文本身), 笔 者将之译成中文, 目的是用来帮您了解该执照的精神面。序言 |
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.