﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-游世集</title><link>http://www.cnitblog.com/xlmo/</link><description>遨游人世，累文一集
</description><language>zh-cn</language><lastBuildDate>Fri, 01 May 2026 09:13:19 GMT</lastBuildDate><pubDate>Fri, 01 May 2026 09:13:19 GMT</pubDate><ttl>60</ttl><item><title>[ZT]Linux简史</title><link>http://www.cnitblog.com/xlmo/archive/2006/01/16/6198.html</link><dc:creator>xlmo</dc:creator><author>xlmo</author><pubDate>Mon, 16 Jan 2006 03:56:00 GMT</pubDate><guid>http://www.cnitblog.com/xlmo/archive/2006/01/16/6198.html</guid><wfw:comment>http://www.cnitblog.com/xlmo/comments/6198.html</wfw:comment><comments>http://www.cnitblog.com/xlmo/archive/2006/01/16/6198.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/xlmo/comments/commentRss/6198.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/xlmo/services/trackbacks/6198.html</trackback:ping><description><![CDATA[<!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by:  Nikos Drakos, CBLU, University of Leeds
* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<META content=Linux简史 name=description>
<META content=History_of_Linux name=keywords>
<META content=document name=resource-type>
<META content=global name=distribution>
<META content="LaTeX2HTML v2002-2-1" name=Generator>
<META http-equiv=Content-Style-Type content=text/css><LINK href="History_of_Linux.css" rel=STYLESHEET>
<P>
<H1 align=center>Linux简史</H1>
<DIV class=author_info>
<P align=center><STRONG>原著：Ragib Hasan</STRONG></P>
<P align=center><I>Department of Computer Science</I></P>
<P align=center><I>University of Illinois at Urbana-Champaign</I></P>
<P align=center><STRONG>翻译：王晓林</STRONG></P></DIV><BR>
<H2><A name=SECTION00010000000000000000>目录</A> </H2><!--Table of Contents-->
<UL class=TofC>
<LI><A href="History_of_Linux.html#SECTION00020000000000000000" name=tex2html21>混沌初开</A> 
<LI><A href="History_of_Linux.html#SECTION00030000000000000000" name=tex2html22>Linux的诞生</A> 
<LI><A href="History_of_Linux.html#SECTION00040000000000000000" name=tex2html23>冲突与发展</A> 
<LI><A href="History_of_Linux.html#SECTION00050000000000000000" name=tex2html24>风雨十年</A> 
<UL>
<LI><A href="History_of_Linux.html#SECTION00051000000000000000" name=tex2html25>Linux桌面应用的崛起</A> 
<LI><A href="History_of_Linux.html#SECTION00052000000000000000" name=tex2html26>Linux在第三世界</A> 
<LI><A href="History_of_Linux.html#SECTION00053000000000000000" name=tex2html27>从桌面系统到超级计算机</A> 
<LI><A href="History_of_Linux.html#SECTION00054000000000000000" name=tex2html28>道路在延伸</A> </LI></UL><BR>
<LI><A href="History_of_Linux.html#SECTION00060000000000000000" name=tex2html29>穿黑色燕尾服的小家伙：Linux吉祥物</A> 
<LI><A href="History_of_Linux.html#SECTION00070000000000000000" name=tex2html30>趣事</A> 
<LI><A href="History_of_Linux.html#SECTION00080000000000000000" name=tex2html31>年谱</A> 
<LI><A href="History_of_Linux.html#SECTION00090000000000000000" name=tex2html32>参考链接</A> 
<LI><A href="History_of_Linux.html#SECTION000100000000000000000" name=tex2html33>鸣谢与版权声明</A> </LI></UL><!--End of Table of Contents-->
<P>
<H1><A name=SECTION00020000000000000000></A><A name=sec:beginning></A><BR>混沌初开 </H1>
<P>那是在一九九一年，令人痛苦难耐的冷战渐渐走到了尽头。和平安详的空气开始升起在地平线。在计算科学领域，随着强大硬件的推出，计算机的极限能力已超出了我们的想象，一个辉煌的未来似乎已渐露端倪。 
<P>但还是缺了点儿什么。在操作系统领域，存在着一片巨大的空白。 
<P>一方面，DOS还统治着庞大的个人电脑王国。比尔盖茨花$50,000从一个西雅图黑客手中买来DOS。之后，靠着聪明的市场策略，这个简陋的操作系统悄悄渗透到了世界的每一个角落。PC用户没有其它的选择。苹果机虽好，但它的天价没人能承受得起。它和大众需求保持着遥不可及的距离。 
<P>计算领域的另一个阵营是UNIX世界。但UNIX更是贵不可攀。为了追求高额利润，UNIX销售商把价格抬得足以吓跑随便哪个PC用户。贝尔实验室曾慷慨地提供UNIX的源代码给大学。但现在，这些源代码被小心地看管起来，不再对外公开。更令全球PC用户心烦的是，软件市场的大玩家们没能为解决这一问题提供个有效的方案。 
<P>MINIX似乎是个选择。它是美裔荷兰教授Andrew S. Tanenbaum从零开始编写出来的。他写MINIX的目的是为了向学生讲授操作系统的内部工作原理。MINIX的设计面向当时最为流行的Intel 8086微处理器。 
<P>作为一个操作系统，MINIX算不上一流。但它的好处是你能得到它的源代码。只要你有Tanenbaum写的《操作系统：设计与实现》这本书，你就能得到那12,000行用C和汇编写的源码。头一次，程序员或黑客可以有机会读一读操作系统的源码--这种被软件商严加看管的东西。Tanenbaum用详尽简洁的笔触探讨了编写操作系统的艺术。他是个一流的作者，迷住了一批当时计算机领域最聪明的大脑。全世界学计算机的学生都在钻研这本书，通过读它的源码来了解他们电脑里运行的MINIX操作系统。 
<P>Linus Torvalds就是这些学生中的一个。 
<P>
<H1><A name=SECTION00030000000000000000></A><A name=sec:born></A><BR>Linux的诞生 </H1>
<P>在1991年，Linus Benedict Torvalds还是个芬兰学生，在赫尔辛基大学念计算机专业二年级。同时他也是个自学成才的黑客。这个长着沙滩黄头发、说话软绵绵的二十一岁芬兰帅哥喜欢折腾他的电脑，把它不断推向能力的极限。但他缺少一个合适的操作系统来满足他如此职业的需求。MINIX不错，可它只适合学生，是个教学工具，而不是一个强大的实战系统。 
<P>当时，全世界的程序虫们都很看好Richard Stallman的GNU项目---一个致力于推出自由、高质量软件的运动。在计算科学的王国里，Stallman是个倍受尊崇的神话式英雄。他令人景仰的职业生涯是从大名鼎鼎的MIT人工智能实验室开始的。七十年代中后期，他在那里开发出了著名的Emacs编辑器。八十年代早期，商业软件公司从人工智能实验室吸引走了绝大多数优秀的程序员，并和他们签署了严格的保密合同。Stallman为此大大不爽。他认为软件和其它产品不同，在复制和修改方面它不该受到任何限制。只有这样，才能开发出更好更强的软件。1983年，他在著名的《GNU宣言》中，向世人宣告了GNU项目的启动，开始了贯彻其哲学的自由软件运动（顺带一句，GNU一词是‘GNU's Not Unix’的递归缩写）。为了最终实现开发出一个自由操作系统的梦想，他得先制造些工具。于是，在1984年初，Stallman开始创作一个令商业企业程序员叹服的作品--GNU C编译器（gcc）。他出神入化的技术天才，令所有商业软件程序员自愧不如。gcc被公认为世界上最高效最强健的编译器之一。 
<DIV align=center><A name=fig:rms></A><A name=21></A>
<TABLE>
<CAPTION align=bottom>Richard Stallman，GNU项目的创始人</CAPTION>
<TBODY>
<TR>
<TD>
<DIV align=center><IMG src="http://cisd-ftp.swfc.edu.cn/~wx672/course_materials/unix-linux/linux_history/figs/stallman.jpg"> </DIV></TD></TR></TBODY></TABLE></DIV>到1991年，GNU项目已经开发出了众多的工具软件。大家期待已久的GNU C编译器也问世了。但自由操作系统还没有。MINIX也是受版权约束的（后来，在2000年4月，Tanenbaum在BSD许可证下发布了自由的MINIX）。GNU操作系统内核--HURD--还在开发之中，几年之内还不可能面世。 
<P>拖了这么久，终于该说说Linus了。 
<P>1991年8月25号，Linus在MINIX新闻组发出了历史性的一贴... 
<P>
<BLOCKQUOTE>
<TABLE cellPadding=3>
<TBODY>
<TR>
<TD align=left><CODE>From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)</CODE></TD></TR>
<TR>
<TD align=left><CODE>Newsgroups: comp.os.minix</CODE></TD></TR>
<TR>
<TD align=left><CODE>Subject: What would you like to see most in minix?</CODE></TD></TR>
<TR>
<TD align=left><CODE>Summary: small poll for my new operating system</CODE></TD></TR>
<TR>
<TD align=left><CODE>Message-ID: &lt;1991Aug25.205708.9541@klaava.Helsinki.FI&gt;</CODE></TD></TR>
<TR>
<TD align=left><CODE>Date: 25 Aug 91 20:57:08 GMT</CODE></TD></TR>
<TR>
<TD align=left><CODE>Organization: University of Helsinki</CODE></TD></TR>
<TR>
<TD align=left>&nbsp;</TD></TR></TBODY></TABLE></BLOCKQUOTE>
<P>
<BLOCKQUOTE>Hello，各位使用minix的朋友， </BLOCKQUOTE>
<P>
<BLOCKQUOTE>我正在写一个基于386（486）AT机器的（自由）操作系统（只是出于爱好，不会做得象gnu那么大、那么职业）。我从四月份开始酝酿，现在已经做得差不多了。我现在想知道一些你们对minix的看法，它哪点好？哪点不好？因为我这个操作系统和 minix多少有点儿类似（文件系统采用同样的物理布局（因现实原因），其它方面也有类似的地方）。我已经把bash（1.08）和gcc（1.40）移植过来了，它们好象还工作。这意味着在下面几个月里，我将给它加上更多实际的功能。所以我想知道大家都希望它有哪些功能。欢迎多提建议，但我不敢保证能实现你的建议 :-) <BR><CODE>Linus (torvalds@kruuna.helsinki.fi)</CODE> </BLOCKQUOTE>
<P>
<BLOCKQUOTE>PS. 没错，它不包含任何minix的代码，而且它有一个多线程文件系统。它现在不能在其它硬件上转（因为用了386任务切换机制，等等），而且除了AT硬盘，它基本上不支持任何其它硬件。这就是我的全部了 :-(。 </BLOCKQUOTE>
<P>从这个帖子不难看出，Linus自己并没预料到他的小创造将有本事改变整个计算科学领域。1991年9月中旬，Linux 0.01版问世了，并且被放到了网上。它立即引起了人们的注意。源代码被下载、测试、修改，最终被反馈给Linus。10 月5号，0.02版出来了，同时伴随着Linus著名的声明： 
<P>
<BLOCKQUOTE>
<TABLE cellPadding=3>
<TBODY>
<TR>
<TD align=left><CODE>From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)</CODE></TD></TR>
<TR>
<TD align=left><CODE>Newsgroups: comp.os.minix</CODE></TD></TR>
<TR>
<TD align=left><CODE>Subject: Free minix-like kernel sources for 386-AT</CODE></TD></TR>
<TR>
<TD align=left><CODE>Message-ID: &lt;1991Oct5.054106.4647@klaava.Helsinki.FI&gt;</CODE></TD></TR>
<TR>
<TD align=left><CODE>Date: 5 Oct 91 05:41:06 GMT</CODE></TD></TR>
<TR>
<TD align=left><CODE>Organization: University of Helsinki</CODE></TD></TR>
<TR>
<TD align=left>&nbsp;</TD></TR></TBODY></TABLE></BLOCKQUOTE>
<P>
<BLOCKQUOTE>你在怀念minix-1.1时代的美好时光吗？那时你自己写着驱动，充满了成就感。现在没什么好项目可做了，是吗？你在拚命啃一个操作系统，修改它以满足你自己的需要，是吗？现在minix已经没什么需要你去改进的了，你为此怅然若失，是吗？没机会再熬通宵去改进一个小程序了，是吗？如果是这样的话，那这个帖子就是给你的 :-) </BLOCKQUOTE>
<P>
<BLOCKQUOTE>一个月（？）前我曾经提到过，我正在一个AT-386计算机上开发一个自由版本的、类似minix的操作系统。现在它终于可以用了（尽管未必能满足你的期待）。我乐意把源代码公开出来，让它传播得更广。它现在仅仅是0.02版（外加一个（很小的）补丁）。但是我已经成功地在它上面跑了 bash/gcc/gnu-make/gnu-sed/compress等程序。我这个小宝贝儿的源程序在 nic.funet.fi (128.214.6.100) 下面的 /pub/OS/Linux 目录中可以找到。该目录中还有些 README 文件，还有几个在linux下能工作的可执行文件（bash，update和gcc，你还要求些什么呢 :-)。完整的内核源代码都在这儿了，因为没有用到minix 的源程序。函数库的源程序只是部分开放，所以目前还不能提供出来。拿到源代码后，直接编译就行了。编译完就能转了。哈哈。可执行程序（bash和gcc）的源代码可以在同一网站的/pub/gnu目录里找到。 </BLOCKQUOTE>几周以后，Linux 0.03版发布了。12月份，0.10版发布了。这时的Linux还显得很简陋。它只能支持AT硬盘，而且不用登录（启动就进bash）。0.11版有了不少改进，可以支持多国语言键盘、软驱、VGA、EGA、Hercules等等。Linux的版本号从0.12直接上升到了0.95、0.96......不久，Linux的源代码就通过在芬兰和其它一些地方的FTP站点传遍了全世界。 
<P>
<H1><A name=SECTION00040000000000000000></A><A name=sec:confrontation></A><BR>冲突与发展 </H1>
<DIV align=center><A name=fig:laptop></A><A name=41></A>
<TABLE>
<CAPTION align=bottom>Linus在展示一台Linux笔记本电脑</CAPTION>
<TBODY>
<TR>
<TD>
<DIV align=center><IMG src="http://cisd-ftp.swfc.edu.cn/~wx672/course_materials/unix-linux/linux_history/figs/laptop.jpg"> </DIV></TD></TR></TBODY></TABLE></DIV>不久，Linus开始面对挑战。他面对的不是别人，正是Andrew Tanenbaum，那个开发出MINIX的伟大教师。在给Linus的一个回贴中，Tanenbaum写到： 
<BLOCKQUOTE>“我还是坚持我的观点，在1991年还设计这样一个整体架构的内核是个根本性的错误。你该庆幸不是我的学生。这么个设计，在我这儿你得不了高分 :-)” <BR>(Andrew Tanenbaum to Linus Torvalds) </BLOCKQUOTE>Linus后来承认说，这是他关于开发Linux所得到的最坏评价。Tanenbaum是当时的知名教授，他说的话自然很有份量。但这次面对Linux，他的话没能奏效，因为Linus不是个轻易服输的人。 
<P>Tanenbaum还说： 
<BLOCKQUOTE>“Linux过时了。” </BLOCKQUOTE>
<P>现在轮到新的Linux一代开始反击了。以强大的Linux社区为后盾，Linus给了 Tanenbaum一个恰如其分的回复： 
<BLOCKQUOTE>你的工作是教授、研究员。这对于minix的大脑损伤是个绝妙的解释。 <BR>(Linus Torvalds to Andrew Tanenbaum) </BLOCKQUOTE>Linux的开发在继续。不久，加入开发的人数就超过了一百，然后是数千，然后是数十万。Linux不再只是个黑客的玩具，配合上GNU项目开发出的众多软件， Linux已经可以走向市场了。它最终在GNU公共许可证下发布，这保证任何人都可以自由获得它的源代码，可以自由复制、学习和修改它。学生和程序员们都没错过这个机会。 
<P>不久，软件商们也来了。Linux是自由的操作系统。软件商们需要做的只是把各种各样的软件在Linux平台上编译，然后把它们组织成一种可以推出上市的形式。这和其它操作系统在运作模式上没什么区别，只是Linux是自由的。Redhat、 Caldera、和其它一些公司都获得了相当大的市场，获得了来自世界各地的用户。除了这些商业公司，非商业的编程专家们也志愿地组织了起来，推出了他们自己的品牌--享誉全球的Debian。配上崭新的图形界面（比如X Window、KDE、 GNOME），Linux的各个品牌都倍受欢迎。 
<P>好戏连台，惊喜不断。除了PC机，Linux又被移植到了许多其它平台上（PowerPC、Sun Sparc、ARM、Alpha...Debian就支持十几种CPU）。它还被人安装到了3com的手掌计算机上。另外，利用集群技术，许多Linux单机可以被组织成一个整体，用于并行计算。1996年4月，Los Alamos国家实验室的研究人员利用68台 Linux单机搭建了一个并行计算系统，用它来模拟原子弹爆炸的冲击波。与其它超级计算机不同的是，用Linux搭建的集群计算机非常便宜。这种DIY出来的超级计算机只花费$152,000，连人工（连接68台PC的线缆）都包括了。这价格只是同级别商业机的十分之一。它的峰值计算速度可达每秒19万亿(billion)次。在世界最强的超级计算机中它排在第315位。它也极其稳定可靠，投入运行三个月后，还不必去重启动。 
<DIV align=center><A name=fig:beaming></A><A name=53></A>
<TABLE>
<CAPTION align=bottom>今天锋芒毕露的Linus</CAPTION>
<TBODY>
<TR>
<TD>
<DIV align=center><IMG src="http://cisd-ftp.swfc.edu.cn/~wx672/course_materials/unix-linux/linux_history/figs/linusnow2.jpg"> </DIV></TD></TR></TBODY></TABLE></DIV>今天，Linux最大的优势就是推动它前进的巨大开发热情。一旦有新硬件问世， Linux内核就能快速被改进以适应它。比如，Intel Xeon微处理器才问世几个星期，Linux新内核就跟上来了。它还被用在了Alpha、MAC、PowerPC上。甚至在手掌机这一少人问津的领域都可以运行Linux。正如它在1991年诞生时那样，Linux正以同样的热情阔步走向新世纪。 
<DIV align=center><A name=fig:2002></A><A name=58></A>
<TABLE>
<CAPTION align=bottom>Linus在2002年</CAPTION>
<TBODY>
<TR>
<TD>
<DIV align=center><IMG height=307 src="http://cisd-ftp.swfc.edu.cn/~wx672/course_materials/unix-linux/linux_history/figs/Linus_Torvalds.jpg" width=200> </DIV></TD></TR></TBODY></TABLE></DIV>至于Linus本人，他保持着简单的生活。不象比尔盖茨，Linus不是亿万富翁。完成学业之后，他移居美国，在Transmeta公司找了个工作。Transmeta公司在指导完成了一个绝密项目的研发之后，推出了自己的Crusoe处理器。Linus是这个研发小组中活跃的一员。最近，他和Tove结了婚，生了个女儿，取名Patricia Miranda Torvalds。世界范围内的计算机社区都对Linus推崇备至，到目前为止，他是我们这个星球上最受欢迎的程序员。 
<DIV align=center><A name=fig:family></A><A name=63></A>
<TABLE>
<CAPTION align=bottom>全家福</CAPTION>
<TBODY>
<TR>
<TD>
<DIV align=center><IMG src="http://cisd-ftp.swfc.edu.cn/~wx672/course_materials/unix-linux/linux_history/figs/family.jpg"> </DIV></TD></TR></TBODY></TABLE></DIV>
<P>
<H1><A name=SECTION00050000000000000000></A><A name=sec:decade></A><BR>风雨十年 </H1>
<P>Linux的开发已经走过了十个年头。它用十年的蓬勃发展否定了所有持怀疑态度的警告和预言。今天，Linux是有史以来发展速度最快的操作系统之一。从91、92年的几个技术狂热者发展到今天数以百万计的普通用户，这绝对是个不平凡的历程。大商业公司们“发现”了Linux，将数以百万计的美元倾入到开发中来，这一事实无情地驳斥了“开源运动反商业”的谬论。IBM曾经视开源社区为洪水猛兽。而现在，它已经将大量的资金转移到以Linux为平台的开源解决方案中来。 
<P>但真正让人感到惊喜的是，Linux开发团队持续不断地壮大，并在世界范围内扩散开来。这些开发者以旺盛的精力和高涨的热情不断改进着Linux的功能和性能。Linux的开发工作并没有象“代码封闭论者”所妄言的那样“最终消失在一片混乱之中”。正相反，Linux的开发是有组织有秩序的，它采用的是一种精心设计并被细心维护的开发模式。在这一高效开发模式下，数以千计的开发者们把各种各样的应用软件注入到Linux平台中来。 
<P>商业企业不再对Linux心怀戒惧，因而大量的软件商开始提供Linux平台上的产品支持，软件质量有了更可靠的保障，在办公室里用Linux不必再有“风险自负” 的担心了。说到可靠性，Linux在1999年CIH病毒肆虐和一年后的‘爱虫’病毒流行时，证明了自己的强健。这些相当简单的小病毒把世界搞得一团糟，而所有的Linux机器却丝毫不受影响。这充分显示了它出色的免疫力。当Redhat这样的 Linux排头兵走向市场的时候，它们受到了热烈的欢迎。甚至在近几年dot-com 网络泡沫破灭之后，它们还在持续蓬勃地发展壮大。这也大大增强了人们对 Linux的信心，许多大大小小的商业公司开始采用Linux作服务器和工作站平台，把Linux作为办公室系统的可靠支撑。 
<P>
<H2><A name=SECTION00051000000000000000></A><A name=sec:desktop></A><BR>Linux桌面应用的崛起 </H2>
<P>那么，针对Linux人们报怨最多的是什么呢？在过去，也许就数它的字符界面了。很多对Linux感兴趣的人被传统的字符界面吓着了。“字符界面可以让你无所不能”，一些执着的黑客会向你这样辩解。但对于数百万的普通用户，这意味着要花费大量的时间和精力去学习它。现成的X Window图形界面和窗口管理器并不能满足普通计算机用户的期待。这一直是MS Windows追随者们的攻击把柄。但在过去的几年间，情况发生了改变。象KDE和GNOME这样非常职业的桌面环境呈现在了人们的面前。这些桌面环境的较新版本使人们对Linux的“用户友好性” 有了更好的认识。尽管一些铁杆用户在报怨，图形化使黑客文化失去了其原有的纯正品位。但图形化大大改善了Linux在普通用户心目中的形象，促进了 Linux的流行与推广。 
<P>
<H2><A name=SECTION00052000000000000000></A><A name=sec:3rd_world></A><BR>Linux在第三世界 </H2>
<P>Linux 在发展中国家得到了广泛的传播? 这也许是它对世界影响最大的地方。在Linux出现之前，发展中国家在计算科学领域大大落后于西方。硬件价格虽然不断下滑，但在第三世界国家，软件的高昂价格一直是有热情、没银子的计算机爱好者们的巨大负担。无奈中，他们只能求助于各种各样的盗版软件。这直接导致了盗版的泛滥，盗版金额达数万亿美元。话又说回来，大多数商业软件的标价都大大超过了发展中国家人民的承受力。举例来说，一个典型的操作系统软件至少标价$100。在一个年人均收入只有$200-$300的国家，这$100是个巨额数字。 
<P>Linux和其它开源软件的崛起彻底改变了这一切。在适当的缩减之后，Linux可以在硬件配置极低的计算机上运行。这使得Linux成为穷人的理想选择。在发达国家已经成为历史的老旧机器，比如486/Pentium 1计算机，在发展中国家还在被使用着。Linux使得这些老旧机器继续发挥作用。由于在穷国，高昂的软件价格是个大问题，所以开源软件得到了广泛的传播。在亚非拉，Linux成了广大计算机爱好者们的选择。在世界的各个角落，Linux被本地化。这标志着它真正走向了全球。Linux的相关文件被翻译成了各种语言，包括很多冷门的语言，比如，越南语。 
<P>
<H2><A name=SECTION00053000000000000000></A><A name=sec:super></A><BR>从桌面系统到超级计算机 </H2>
<P>Linus Torvalds当初开发Linux，只是出于一个黑客的爱好。自从Linux运行在了一个破386机器以后，到现在，它已经走过了一条很长的路。今天，它最令人瞩目的应用领域是大规模并行计算集群。 
<P>2001年8月，BBC报道说，美国政府正在计划一个超大规模计算机。这个超级计算机将能够进行每秒13百亿亿（13 trillion）次计算（13.6 TeraFLOPS）。这一项目被命名为“Teragrid”，是一个由四个美国超级计算中心组成的网络。这四个超级计算中心是： 
<OL>
<LI>National Center for Supercomputing Applications at the University of Illinois(NCSA) 
<LI>San Diego Supercomputer Center (SDSC) at the University of California 
<LI>Argonne National Laboratory in Chicago 
<LI>California Institute of Technology in Pasadena </LI></OL>在每个计算中心都有一个Linux超级计算机集群。在Teragrid网中，总共将会有超过3000个处理器进行并行运算。 
<P>
<H2><A name=SECTION00054000000000000000></A><A name=sec:ahead></A><BR>道路在延伸 </H2>
<P>Linux从一个黑客的个人项目发展到一个遍布全球的操作系统，这一历程就象一次生物的进化。八十年代早期，Richard Stallman发起了GNU项目，为开源软件的发展奠定了基础。Andrew Tanenbaum教授开发的MINIX系统，把操作系统的学习研究从单纯的理论教学带入了实践阶段。最终，Linus Torvalds用他追求完美的无尽热情催生了Linux。在过去的几年中，开源社区成千上万的人们不断地呵护滋养着它，谱写了计算机革命史册的光辉一页。今天，Linux不再是一个学生黑客的项目，它成了一个世界范围的奇迹。在开源运动的精神感召下，IBM这样的大公司和千百万热情的人们都加入了进来。在计算科学的历史上，它将是人类最辉煌的成就之一。 
<P>
<H1><A name=SECTION00060000000000000000></A><A name=sec:tux></A><BR>穿黑色燕尾服的小家伙：Linux吉祥物 </H1>
<DIV align=center>
<DIV align=center><IMG src="http://cisd-ftp.swfc.edu.cn/~wx672/course_materials/unix-linux/linux_history/figs/logo.jpg" width=200> </DIV></DIV>Linux的标志是一只小企鹅。不象其它商业操作系统，Linux没有采用一个令人肃然起敬的徽标。这个穿着黑色燕尾服的小家伙充分表达了自由软件运动无忧、无虑、无畏的态度。这个可爱的徽标诞生于一个有趣的小故事。据Linus说，Linux最初并没有徽标。一次，Linus去南半球某地度假，碰到了一只企鹅。它长得并不象现在的Linux徽标。Linus想去亲近这小家伙。结果，小企鹅在他手掌上重重地拍了一翅膀。这次有趣的经历导致了后来Linux徽标的诞生。 
<P>
<H1><A name=SECTION00070000000000000000></A><A name=sec:cookies></A><BR>趣事 </H1>
<P>下面是一些Linus的名言。 
<P>
<BLOCKQUOTE>Dijkstra八成讨厌我 <BR>(Linus Torvalds, in kernel/sched.c) </BLOCKQUOTE>
<P>
<BLOCKQUOTE>“我怎么知道它转不转？这是beta测试该做的事情。我只管编码。” <BR>（Linus Torvalds的个性写照。摘自某个帖子） </BLOCKQUOTE>
<P>
<BLOCKQUOTE>“我真白痴...至少这个bug花了我五分钟才找到...” <BR>（Linus Torvalds 给一个bug报告的回应） </BLOCKQUOTE>
<P>
<BLOCKQUOTE>“如果你想周游世界，想被邀请去到处演讲，那就写个Unix操作系统吧。” <BR>(By Linus Torvalds) </BLOCKQUOTE>
<P>
<BLOCKQUOTE>&gt;&gt; Linux除了有一个酷名字以外，谁能说说为什么我该用Linux而不是BSD？ <BR>&gt; 不，这就够了，有个酷名字就够了。在取名方面，我们花了老大的力气，希望它的名字能引起大家的兴趣。这招挺有效，数以千计的人们选择了Linux，就是为了说：“OS/2？哈。我有Linux。多酷的名字。”386BSD的名字里有太多数目字和奇怪的缩写，太失败了。听起来太技术化，把人都吓跑了。 <BR>(摘自Linus Torvald的一个关于Linux的跟贴) </BLOCKQUOTE>
<P>
<BLOCKQUOTE>&gt; 有朝一日，大家觉得有人能把Linux搞得更好的时候（自由软件基金会就是个选择），我就“退位”。我觉得这还不是我们现在该操心的事情，至少在可见的将来还不会发生。我喜欢搞Linux，尽管工作量不小。而且我还没听到有人报怨我（也就听到些很小声的提醒，都是关于我忘了或者忽略了某个小补丁。至今也没有什么真正的负面反映）。 </BLOCKQUOTE>
<P>
<BLOCKQUOTE>&gt; 别误会，我上面这些话并不是说一旦有人报怨我，我就撂挑子不干了。我皮很厚（Lasu正在我背后偷看我写这些东西，他说“更确切地说该是‘脸皮’很厚”），厚得足以接受些难听的话。如果不是这样，早在听到ast（译注：Andrew S. Tanenbaum）嘲笑我模仿、复制minix的时候，我就停止开发了。我只是想说， Linux到现在一直是我的宝贝儿，如果有人想把它搞得更好，我不会死抱不放、舍不得撒手的。 <BR>Linus </BLOCKQUOTE>
<P>
<BLOCKQUOTE>&gt; 嘿，也许我该到教皇那儿申请个圣徒的头衔。谁知道教皇的email？很高兴我让你恶心了。 <BR>（摘自Linus给某位为Linux未来表示担忧的人的回复） </BLOCKQUOTE>
<P>
<BLOCKQUOTE>当你向人炫耀“我写了个能搞死Windows的程序”的时候，大家会木然地盯着你说“呵，我Linux系统里有得是这类程序，而且这系统不花钱”。 <BR>(By Linus Torvalds) </BLOCKQUOTE>
<P>
<H1><A name=SECTION00080000000000000000></A><A name=sec:timeline></A><BR>年谱 </H1>
<TABLE cellPadding=3 border=1>
<TBODY>
<TR>
<TD vAlign=top align=left width=100>日期</TD>
<TD vAlign=top align=left width=400>事件</TD></TR>
<TR>
<TD vAlign=top align=left width=100>1984年1月</TD>
<TD vAlign=top align=left width=400>Richard Stallman从MIT辞职，开始了他的GNU项目。</TD></TR>
<TR>
<TD vAlign=top align=left width=100>1985年某月</TD>
<TD vAlign=top align=left width=400>Richard Stallman成立了自由软件基金会。</TD></TR>
<TR>
<TD vAlign=top align=left width=100>1985年3月</TD>
<TD vAlign=top align=left width=400>Richard Stallman在Dr. Dobb's杂志上发表了《GNU宣言》。在宣言中，他陈述了自由软件运动的起因。</TD></TR>
<TR>
<TD vAlign=top align=left width=100>1991年8月25号</TD>
<TD vAlign=top align=left width=400>Linus在Usenet新闻组上公开了关于Linux的构想。</TD></TR>
<TR>
<TD vAlign=top align=left width=100>1991年9月</TD>
<TD vAlign=top align=left width=400>Linux 0.01版在网上发布。</TD></TR>
<TR>
<TD vAlign=top align=left width=100>1992年1月</TD>
<TD vAlign=top align=left width=400>第一个Linux新闻组诞生：alt.os.linux。</TD></TR>
<TR>
<TD vAlign=top align=left width=100>1992年4月</TD>
<TD vAlign=top align=left width=400>Ari Lemmke在Usenet上创立了广受欢迎的comp.os.linux新闻组。</TD></TR>
<TR>
<TD vAlign=top align=left width=100>1992年11月</TD>
<TD vAlign=top align=left width=400>Adam Richter宣布他的公司推出了第一个Linux发行版： Yggdrasil。</TD></TR>
<TR>
<TD vAlign=top align=left width=100>1993年6月</TD>
<TD vAlign=top align=left width=400>Peter Volkerding推出了著名的Linux发行版：Slackware。</TD></TR>
<TR>
<TD vAlign=top align=left width=100>1993年8月</TD>
<TD vAlign=top align=left width=400>Matt Walsh推出《Linux安装与入门：第一版》。</TD></TR>
<TR>
<TD vAlign=top align=left width=100>1994年3月</TD>
<TD vAlign=top align=left width=400>Linux内核1.0版问世。</TD></TR></TBODY></TABLE>
<P>
<H1><A name=SECTION00090000000000000000></A><A name=sec:links></A><BR>参考链接 </H1>
<P>下面是一些关于Linux历史的参考链接，也许对你有帮助。 
<DL>
<DT><STRONG>www.linux.org，</STRONG> 
<DD>一个回答Linux相关问题的网站。 
<DT><STRONG>www.cs.helsinki.fi/u/~torvalds，</STRONG> 
<DD>Linus Torvalds的个人网站。上面有一些关于Linus一家的照片和趣事。 
<DT><STRONG>www.slashdot.org，</STRONG> 
<DD>一个专门针对geeks和技术痴迷者的网站。上面有很多关于Linux和其它自由技术的信息。 
<DT><STRONG>http://en.wikipedia.org/wiki/Linux，</STRONG> 
<DD>Wikipedia上关于Linux的文章。 
<DT><STRONG>http://en.wikipedia.org/wiki/GNU，</STRONG> 
<DD>Wikipedia上关于GNU项目的文章。 </DD></DL>
<P>
<H1><A name=SECTION000100000000000000000></A><A name=sec:ack></A><BR>鸣谢与版权声明 </H1>
<P>历史通常是枯燥乏味的，但计算科学和 Linux的历史却是相当有趣的。这篇文章中的大多数信息都取自互联网。它的很多灵感来源于在孟加拉Linux用户俱乐部中的交流。谢谢大家。 
<P>本文涉及的所有资料的版权属于资料的原作者。所有的商标都属于它们的公司。 Microsoft和Windows是微软公司的注册商标。 
<P>本文的版权属于Ragib Hasan（1991+），作者保留所有版权。但不必担心，本文的任何部分都可以随意复制，前提是事先征得作者的同意。很简单，只要给他发个email就行了，不收钱。欢迎大力弘扬自由软件运动的精神。 
<P>如有任何建议和更正，请联系： 
<BLOCKQUOTE>
<TABLE cellPadding=3>
<TBODY>
<TR>
<TD align=left>Ragib Hasan</TD>
<TD align=left>&nbsp;</TD></TR>
<TR>
<TD align=left>Department of Computer Science</TD>
<TD align=left>&nbsp;</TD></TR>
<TR>
<TD align=left>University of Illinois at Urbana-Champaign,</TD>
<TD align=left>&nbsp;</TD></TR>
<TR>
<TD align=left>Urbana, IL 61801</TD>
<TD align=left>&nbsp;</TD></TR>
<TR>
<TD align=left>United States</TD>
<TD align=left>&nbsp;</TD></TR>
<TR>
<TD align=left>电子邮件：ragibhasan aaaaht gmail daaawt com (你明白我的意思 ;-)</TD>
<TD align=left>&nbsp;</TD></TR></TBODY></TABLE></BLOCKQUOTE>本文可以从下列网址获得： 
<UL>
<LI><A href="http://ragibhasan.com/linux">http://ragibhasan.com/linux</A> 
<LI><A href="http://netfiles.uiuc.edu/rhasan/linux">http://netfiles.uiuc.edu/rhasan/linux</A> </LI></UL>中文PDF版可以从<A href="History_of_Linux_cn.pdf">这里</A>获得。<BR>中文TeX源文件可以从<A href="History_of_Linux.tex">这里</A>获得。<BR>关于中文翻译的任何意见和问题，欢迎与<A href="mailto:wx672@cisd-mail.swfc.edu.cn">我</A>联系。 
<P>
<H1><A name=SECTION000110000000000000000>About this document ...</A> </H1><STRONG>Linux简史</STRONG>
<P>This document was generated using the <A href="http://www.latex2html.org/"><STRONG>LaTeX</STRONG>2<TT>HTML</TT></A> translator Version 2002-2-1 (1.71) 
<P>Copyright © 1993, 1994, 1995, 1996, <A href="http://cbl.leeds.ac.uk/nikos/personal.html">Nikos Drakos</A>, Computer Based Learning Unit, University of Leeds. <BR>Copyright © 1997, 1998, 1999, <A href="http://www.maths.mq.edu.au/~ross/">Ross Moore</A>, Mathematics Department, Macquarie University, Sydney. 
<P>The command line arguments were: <BR><STRONG>latex2html</STRONG> <TT>-split 0 History_of_Linux.tex</TT> 
<P>The translation was initiated by WANG Xiaolin on 2006-01-15 
<ADDRESS>WANG Xiaolin 2006-01-15 </ADDRESS><img src ="http://www.cnitblog.com/xlmo/aggbug/6198.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/xlmo/" target="_blank">xlmo</a> 2006-01-16 11:56 <a href="http://www.cnitblog.com/xlmo/archive/2006/01/16/6198.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[ZT]Become Your Own Web Host in 75 Steps</title><link>http://www.cnitblog.com/xlmo/archive/2006/01/16/6197.html</link><dc:creator>xlmo</dc:creator><author>xlmo</author><pubDate>Mon, 16 Jan 2006 03:42:00 GMT</pubDate><guid>http://www.cnitblog.com/xlmo/archive/2006/01/16/6197.html</guid><wfw:comment>http://www.cnitblog.com/xlmo/comments/6197.html</wfw:comment><comments>http://www.cnitblog.com/xlmo/archive/2006/01/16/6197.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/xlmo/comments/commentRss/6197.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/xlmo/services/trackbacks/6197.html</trackback:ping><description><![CDATA[<P>One of the biggest issues involved with becoming a web publisher is the question of hosting.&nbsp; With an internet clogged with false hosting review sites, hosting companies trying to rip you off, and hosting companies run by 14 year olds, the majority of web publishers are at the mercy of random chance when it comes to finding a quality host.&nbsp; To solve this huge problem and to grant freedom to all, we have come up with 75 extremely specific steps that will get you up and running with a *nix box (running FreeBSD), along with the most recent versions of Apache, Perl, PHP, and MySQL.</P>
<P><STRONG>Minimum Requirements:&nbsp;</STRONG></P>
<P>To use this guide, you are going to need the following:</P>
<UL>
<LI>1 burnable CD-R 
<LI>A computer with at least a 4GB hard drive 
<LI>A working ethernet card 
<LI>A network that uses DHCP.</LI></UL>
<P><STRONG>Overview:</STRONG></P>
<P>Part I of this guide will guide you through the installation of the operating system</P>
<P>Part II will explain the installation of MySQL 5.0, Apache 2.0, and PHP 5.1.2.</P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal><STRONG>Part I</STRONG></P>
<P class=MsoNormal>&lt;!--[if !supportLists]--&gt;1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--[endif]--&gt;Download the FreeBSD 6.0 Disc 1 from the internet (<A href="http://www.freebsd.org/where.html">http://www.freebsd.org/where.html</A>).&nbsp; If you are going to be running on what used to be a Windows machine, you probably have i386 architecture, so select that one.&nbsp; If you have a 64 bit processor (AMD makes several of these now, including the Opteron processor), select a 64 bit architecture.<BR></P>
<P class=MsoNormal>&lt;!--[if !supportLists]--&gt;2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--[endif]--&gt;Burn the FreeBSD “6.0-Release-i386-disc1.iso” to a disc.</P>
<P class=MsoNormal>&lt;!--[if !supportLists]--&gt;3.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--[endif]--&gt;Insert the Disk into the CD drive of the computer you want to turn into a server.</P>
<P class=MsoNormal>&lt;!--[if !supportLists]--&gt;4.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--[endif]--&gt;Start the machine.</P>
<P class=MsoNormal>A menu titled “sysinstall Main Menu”, this is the menu that will give you all of the installation options.</P>
<P class=MsoNormal>5.&nbsp; Use the arrows to select “Standard” and hit enter.</P>
<P class=MsoNormal>6. Hit OK to the message that pops up.</P>
<P class=MsoNormal>7. Hit Shift+A, and then Shift+Q.</P>
<P class=MsoNormal>8. Choose the “BootMgr” option.</P>
<P class=MsoNormal>Either the "bootmgr" or "standard boot manager" will work, but for simplicity we will go with the default option.</P>
<P class=MsoNormal>9. Hit OK to the message that pops up.</P>
<P class=MsoNormal>10 .Hit Shift+A and then Shift+Q</P>
<P class=MsoNormal>This will select the standard and most likely best setup of your hard drive.&nbsp;</P>
<P class=MsoNormal>11. Select option 8, “User”.</P>
<P class=MsoNormal>12. Hit “Yes” when you are prompted whether or not you want to install the FreeBSD ports collection.</P>
<P class=MsoNormal>The FreeBSD ports colection is a collection of thousands of open-source software programs that are extremely easy to install.&nbsp; We want this so that it is easy for us to install MySQL, Apache, and PHP.&nbsp;</P>
<P class=MsoNormal>13. Scroll back up to “Exit” now that we have selected a configuration set.</P>
<P class=MsoNormal>"Configuration set" is just the name for the settings and features of the operating system that we want.<BR></P>
<P class=MsoNormal>14. Select option 1, “CD/DVD”.</P>
<P class=MsoNormal>You could also choose FTP at this step, but for reasons of speed, I recommend you just use the disk that we already have in the drive, since we already burned it.&nbsp; You may want to choose FTP if you burned the disk more than a couple months ago, and you want the absolute latest features of the operating system.<BR></P>
<P class=MsoNormal>15. Select “Yes” if you are absolutely sure you are willing to sacrifice this machine to be a web server, and that you will never need any of the current contents of the hard drives again.</P>
<P class=MsoNormal>Hitting "Yes" is going to erase and reformat the entire hard-drive, so make sure that you actually want to do this before hitting it.&nbsp;</P>
<P class=MsoNormal>Approximately 15 minute wait.</P>
<P class=MsoNormal>FreeBSD has now been installed!</P>
<P class=MsoNormal>16. Hit OK to the installation message.</P>
<P class=MsoNormal>17. Yes, you would like to configure Ethernet or SLIP/PPP.</P>
<P class=MsoNormal>18. Select your Ethernet card (Mine is “3COM 3c90x / 3c90xB PCI Ethernet card”)</P>
<P class=MsoNormal>19. “No” do not try IPv6 configuration.</P>
<P class=MsoNormal>20. “Yes” try DHCP configuration.</P>
<P class=MsoNormal>This step is going to assume that your network automatically assigns DHCP addresses.</P>
<P class=MsoNormal>21. Enter one of the main domain names that will be hosted from this server (preferably the main one) in the “Host” box.</P>
<P class=MsoNormal>By one of the main domain names, I mean that if you are going to be hosting johndoespersonalwebsite.com, enter that domain name.&nbsp;</P>
<P class=MsoNormal>22. Note the IP that your machine has been assigned (Will probably look like 192.168.*.*, where the stars could be any number between 1 and 255). Tab to the end and hit OK.</P>
<P class=MsoNormal>23. “No” we do not want this machine to function as a network gateway.</P>
<P class=MsoNormal>24. “No” we don’t want to configure inetd and the network services that it provides.</P>
<P class=MsoNormal>25. “Yes” we want to enable SSH login.</P>
<P class=MsoNormal>SSH login is the standard way that people can access a *nix box remotely.&nbsp; If you want, you will be able to use any machine in the world to access and manage this server by using SSH.&nbsp;</P>
<P class=MsoNormal>26. “No” anonymous FTP access.</P>
<P class=MsoNormal>27. “No” not an NFS server.</P>
<P class=MsoNormal>28. “No” not an NFS client.</P>
<P class=MsoNormal>29. “No” don’t customize console settings.</P>
<P class=MsoNormal>30. “Yes” set the time zone.</P>
<P class=MsoNormal>31. Most machines are set to local time, and not UTC, so hit “No” unless you know that your machine is set up otherwise.</P>
<P class=MsoNormal>32. Select your region (America – North and South for me)</P>
<P class=MsoNormal>33. Select your country (United States for me, number 45)</P>
<P class=MsoNormal>34. Select your time zone (11, Central for me)</P>
<P class=MsoNormal>35. Select “Yes” the time zone looks reasonable.</P>
<P class=MsoNormal>36. “Yes” we want to enable Linux binary compatibility.</P>
<P class=MsoNormal>Approximately 3 minute wait.</P>
<P class=MsoNormal>37. “No” we don’t need to bother with a mouse.</P>
<P class=MsoNormal>38. “No” don’t browse the collection of packages.</P>
<P class=MsoNormal>39. “Yes” add an initial user account to the system.</P>
<P class=MsoNormal>40. Select option 2; add a new user to the system.</P>
<P class=MsoNormal>41. Enter the username that you would like to normally use and enter it in the “Login ID” box.&nbsp; Also enter a password for this user.</P>
<P class=MsoNormal>This step ensures that you have a user in the system other than the all-powerful "root".&nbsp; It is a good idea to have at least one other use in the system that you use on a normal basis, because if you always work as root, there is chance that you could accidently modify or delete some system files.&nbsp;</P>
<P class=MsoNormal>42. For the “Group” field, enter “wheel”, if you don’t do this, then you won’t be able to perform remote admin tasks.</P>
<P class=MsoNormal>43. Hit OK.</P>
<P class=MsoNormal>44. Go back up and select “Exit”.</P>
<P class=MsoNormal>45. Hit “OK” to the message that pops up.</P>
<P class=MsoNormal>We are about to set the “root” password, which is the most important password on a *nix box, so make sure that you come up with a good password that you are not going to forget or lose.&nbsp; You need to balance the difficulty of the password because if you forget it, you may have to reinstall the entire machine, but if the password is too easy, then malicious users or hackers will be likely to gain control of your machine.</P>
<P class=MsoNormal>46. Enter the root password twice.</P>
<P class=MsoNormal>47. “No”, you don’t want to return to the configuration menu.</P>
<P class=MsoNormal>48. Select “Exit Install”.</P>
<P class=MsoNormal>49. Select “Yes”, and while the system is rebooting, remove the FreeBSD disk from the drive.</P>
<P class=MsoNormal>50. As the machine boots up it will ask you for an entropy source, just hit a few keys at random and hit the enter key.</P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal>You have now installed and configured the main FreeBSD operating system, all future configuration and installs can be done remotely without ever touching the machine again. And, barring any unforeseen hardware or software problems, you should never need the monitor or keyboard of this machine ever again.</P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal><STRONG>Part II</STRONG></P>
<P class=MsoNormal>Use a program called <A title=Putty href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html" target=_blank>Putty</A> to connect to the machine via the IP that we were assigned during the DHCP step, or continue using the local keyboard and monitor connected to the machine.</P>
<P class=MsoNormal>1. Log in using the username and password that you came up with (webmaster, myJa3e9@npasS)</P>
<P class=MsoNormal>2. Log in as the super user by entering “su”, and then entering the “root” password when prompted.</P>
<P class=MsoNormal>Logging in as the super user gives you access to install and configure programs and change operating system settings.&nbsp;</P>
<P class=MsoNormal>3- 11. Enter the following commands, waiting until each completes before running the next one:</P><PRE>cd /usr/ports/databases/mysql50-server</PRE><PRE>make install clean</PRE><PRE>mysql_install_db</PRE><PRE>chown -R mysql /var/db/mysql/</PRE><PRE>chgrp -R mysql /var/db/mysql/</PRE><PRE>/usr/local/bin/mysqld_safe -user=mysql &amp;</PRE><PRE>cd /usr/ports/www/apache20</PRE><PRE>make install clean</PRE>
<P class=MsoNormal>12. Hit OK</P>
<P class=MsoNormal>13-14: Enter the following commands:</P><PRE>cd /usr/ports/lang/php5</PRE><PRE>make install clean</PRE>
<P class=MsoNormal>15. Select "use Apache 2.x instead"</P>
<P class=MsoNormal>16-17. Enter the following commands:</P><PRE>cd /usr/ports/lang/php5-extensions</PRE><PRE>make config</PRE>
<P class=MsoNormal>18. Select any php extensions you want for your webserver and hit "OK".</P>
<P class=MsoNormal>This is part of the configuration for PHP.&nbsp; PHP has many possible features that come in modules, such as the ability to manage user sessions, interface with a database, etc.&nbsp; By selecting a module at this step, it will automatically be installed and configured for you.&nbsp;</P><PRE>19. make install clean</PRE>
<P class=MsoNormal>20. Simply hit "OK" for any option configurations that pop up.</P><PRE>21. apachectl start</PRE>
<P class=MsoNormal>22. To be able to upload the files for your website, you will need to download a program like <A title=WinSCP href="http://winscp.net/eng/download.php" target=_self>WinSCP</A>.</P>
<P class=MsoNormal>23. Upload all of the files to /usr/local/www/</P>
<P class=MsoNormal>24. (Optional step) Purchase a domain name and point the DNS to your IP.</P>
<P class=MsoNormal>25. Connect to the server by the domain name that you have purchased, or by the IP that you wrote down in an earlier step, and everything should work. Congratulations, you have installed a FreeBSD server, complete with Apache, PHP, and MySQL!</P><img src ="http://www.cnitblog.com/xlmo/aggbug/6197.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/xlmo/" target="_blank">xlmo</a> 2006-01-16 11:42 <a href="http://www.cnitblog.com/xlmo/archive/2006/01/16/6197.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>vsftpd.conf</title><link>http://www.cnitblog.com/xlmo/archive/2006/01/14/6181.html</link><dc:creator>xlmo</dc:creator><author>xlmo</author><pubDate>Sat, 14 Jan 2006 14:10:00 GMT</pubDate><guid>http://www.cnitblog.com/xlmo/archive/2006/01/14/6181.html</guid><wfw:comment>http://www.cnitblog.com/xlmo/comments/6181.html</wfw:comment><comments>http://www.cnitblog.com/xlmo/archive/2006/01/14/6181.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/xlmo/comments/commentRss/6181.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/xlmo/services/trackbacks/6181.html</trackback:ping><description><![CDATA[<P>用vsftp建立个人ftp站点</P>
<P>首先是最基本的配置,请看我的/etc/vsftpd/vsftpd.conf<BR><BR><BR></P>
<P>###############################################################################<BR>#接受匿名用户<BR>anonymous_enable=YES<BR>#匿名用户login时不询问口令<BR>no_anon_password=YES<BR>#接受本地用户<BR>local_enable=YES</P>
<P>#可以上传(全局控制).若想要匿名用户也可上传则需要设置anon_upload_enable=YES,若想要匿名用户可以建立目录则需要设置anon_mkdir_write_enable=YES.这里禁止匿名用户上传,所以不设置这两项.<BR>write_enable=YES<BR>#本地用户上传文件的umask<BR>local_umask=022</P>
<P>#使用上传/下载日志,日志文件默认为/var/log/vsftpd.log,可以通过xferlog_file选项修改<BR>xferlog_enable=YES<BR>#日志使用标准xferlog格式<BR>xferlog_std_format=YES</P>
<P>#login时的欢迎信息<BR>ftpd_banner=Welcome to KingArthur's FTP service.<BR>#设置的话将覆盖上面的ftpd_banner设置,用户login时将显示/etc/vsftpd/banner中的内容<BR>banner_file=/etc/vsftpd/banner<BR>#为YES则进入目录时显示此目录下由message_file选项指定的文本文件(,默认为.message)的内容<BR>dirmessage_enable=YES<BR>#本地用户login后所在目录,若没有设置此项,则本地用户login后将在他的home目录(/etc/passwd的第六个字段)中.匿名用户的对应选项是anon_root<BR>local_root=/var/ftp</P>
<P>#设置为YES则下面的控制有效<BR>chroot_list_enable=YES<BR>#若为NO,则记录在chroot_list_file选项所指定的文件(默认是/etc/vsftpd.chroot_list)中的用户将被chroot在登录后所在目录中,无法离开.如果为YES,则所记录的用户将不被chroot.这里选择YES.<BR>chroot_local_user=YES</P>
<P>#若设置为YES则记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)中的用户将无法login,并且将检察下面的userlist_deny选项<BR>userlist_enable=YES<BR>#若为NO,则仅接受记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)中的用户的login请求.若为YES则不接受这些用户的请求.<BR>userlist_deny=NO<BR>#注意!!!vsftpd还要检察/etc/vsftpd.ftpusers文件,记录在这个文件中的用户将无法login!!</P>
<P>#服务器以standalong模式运行,这样可以进行下面的控制<BR>listen=YES<BR>#匿名用户的传输比率(b/s)<BR>anon_max_rate=51200<BR>#本地用户的传输比率(b/s)<BR>local_max_rate=512000<BR>#可接受的最大client数目<BR>max_clients=100<BR>#每个ip的最大client数目<BR>max_per_ip=5</P>
<P>connect_from_port_20=YES<BR>tcp_wrappers=YES<BR>pam_service_name=vsftpd</P>
<P>##############################################################################</P>
<P>下面是我的/etc/vsftpd.user_list<BR>##############################################################################</P>
<P>ftpuser<BR>anonymous</P>
<P>##############################################################################<BR>/etc/vsftpd.ftpusers可以使用系统自带的文件<BR>/etc/vsftpd.chroot_list内容为空<BR>接着建立系统用户ftpuser,将他加入ftp组并将/etc/passwd中他的记录的最后一个字段改成/sbin/nologin(禁止本地登录).<BR>设置/var/ftp的所有者和所有组为root,权限为755<BR>设置/var/ftp/pub的所有者为root,所有组为ftp,权限为775</P>
<P>至此vsftpd的基本配置就完成了.这里我们接受匿名用户anonymous和本地用户ftpuser的请求.anonymous只能下载, ftpuser可以下载和上传.他们登录后均在/var/ftp目录下且无法离开这个目录(被chroot了).ftpuser可以在 /var/ftp/pub目录中建立目录和上传文件,上传文件的权限为755(设置了local_umask=022).匿名用户的传输比率为 50kb/s,ftpuser的传输比率为500kb/s.可联接的最多客户数为100,每ip可联接的最多客户数为5.<BR>如果需要使本地用户ftpput可以login,只需要将他加入/etc/vsftpd.user_list,要使他可以上传,只需将他加入ftp组.<BR>接着我们可以在/var/ftp下的各个目录(包括/var/ftp)下建立.message文件,这样用户进入这个目录时vsftpd将显示. message的内容,你可以在这里面写上欢迎信息或者注意事项等等.另外可以编辑/etc/vsftpd/banner,建立login时的欢迎信息, 让你的ftp更加个性化.</P>
<P>下面我们使用quota为ftpuser加入磁盘限额,避免恶意用户用垃圾数据塞满你的硬盘.<BR>假设/var/ftp在根分区/(/dev/hda5)中,则将/etc/fstab中根分区的记录的第4个字段改成defaults,usrquota,这样这条记录看起来类似这样:<BR>LABEL=/ / ext3 defaults,usrquota 1 1<BR>接着重启系统后输入下列命令:<BR>quotacheck -acu #检查启用了配额的文件系统，并为每个文件系统建立一个当前磁盘用来的表<BR>quotacheck -avu #生成每个启用了配额的文件系统的当前磁盘用量表<BR>edquota ftpuser #为用户ftpuser设置磁盘配额<BR>这时系统会在默认文本编辑器(vi)中打开配额文件,显示类似这样:<BR>Disk quotas for user ftpuser (uid 501):<BR>Filesystem blocks soft hard inodes soft hard<BR>/dev/hda5 0 0 0 0 0 0<BR>第一列是启用了配额的文件系统的名称。第二列显示了用户当前使用的块数。随后的两列用来设置用户在该文件系统上的软硬块限度。inodes 列显示了用户当前使用的i节点数量。最后两列用来设置用户在该文件系统上的软硬i节点限度.硬限是用户或组群可以使用的磁盘空间的绝对最大值。达到了该限度后，磁盘空间就不能再被用户或组群使用了。软限定义可被使用的最大磁盘空间量。和硬限不同的是，软限可以在一段时期内被超过。这段时期被称为过渡期（grace period）。过渡期可以用秒钟、分钟、小时、天数、周数、或月数表示。如果以上值中的任何一个被设置为 0，那个限度就不会被设置.按你的需要修改后存盘推出.<BR>要校验用户的配额是否被设置，使用以下命令：<BR>quota testuser<BR>接着使用edquota -t来设置过渡期（grace period）<BR>和另一个 edquota 命令相似，这个命令也会在文本编辑器中打开当前的文件系统配额：<BR>Grace period before enforcing soft limits for users:<BR>Time units may be: days, hours, minutes, or seconds<BR>Filesystem Block grace period Inode grace period<BR>/dev/hda5 7days 7days<BR>按你的需要修改后存盘退出</P>
<P>这样我们就成功的为ftpuser增添了磁盘配额.而一个比较完整的FTP站点也配置完成了</P><img src ="http://www.cnitblog.com/xlmo/aggbug/6181.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/xlmo/" target="_blank">xlmo</a> 2006-01-14 22:10 <a href="http://www.cnitblog.com/xlmo/archive/2006/01/14/6181.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[ZT]Apache2的httpd.conf翻译</title><link>http://www.cnitblog.com/xlmo/archive/2006/01/14/6180.html</link><dc:creator>xlmo</dc:creator><author>xlmo</author><pubDate>Sat, 14 Jan 2006 14:06:00 GMT</pubDate><guid>http://www.cnitblog.com/xlmo/archive/2006/01/14/6180.html</guid><wfw:comment>http://www.cnitblog.com/xlmo/comments/6180.html</wfw:comment><comments>http://www.cnitblog.com/xlmo/archive/2006/01/14/6180.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/xlmo/comments/commentRss/6180.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/xlmo/services/trackbacks/6180.html</trackback:ping><description><![CDATA[<P>Apache2的httpd.conf翻译<BR>摘自http://www.linuxaid.com.cn/forum/</P>
<P>#<BR># 基于 NCSA 服务的配置文件。<BR>#<BR>#这是Apache服务器主要配置文件。<BR>#它包含服务器的影响服务器运行的配置指令。<BR>#参见以取得关于这些指令的详细信息<BR>#<BR>#不要只是简单的阅读这些指令信息而不去理解它。<BR>#这里只是做了简单的说明，如果你没有参考在线文件，你就会被警告。<BR>#</P>
<P>#这些配置指令被分为下面三个部分：<BR>#1. 控制整个Apache服务器行为的部分（即全局环境变量）<BR>#2. 定义主要或者默认服务参数的指令，也为所有虚拟主机提供默认的设置参数<BR>#3. 虚拟主机的设置参数<BR>#<BR>#配置和日志文件名：如果你指定的文件名以“/”开始（win32下以“dirver:/”），<BR>#服务器将使用绝对路径，如果文件名不是以“/”开始的，那么它将把ServerRoot<BR>#的值附加在文件名的前面，例如，对“logs/foo.log"，如果ServerRoot的值<BR>#为“/usr/local/apache2”，则该文件应为“/usr/local/apache2/logs/foo.log”<BR>#<BR>##第一区：全局环境参数<BR>#<BR>#这里设置的参数将影响整个Apache服务器的行为；<BR>#例如Apache能够处理的并发请求的数量等。<BR>#<BR>#ServerRoot:指出服务器保存其配置、出错和日志文件等的根目录。<BR>#<BR>#注意！如果你想要将它指定为NFS或其它网络上的位置，<BR>#请一定要去阅读与LockFile有关的文档（可能在<BR>#)。<BR>#这将会使你自己也能解决很多问题。<BR>#<BR>#路径的结尾不要添加斜线。<BR>#<BR>ServerRoot "/usr/loacl/apache2"</P>
<P>#<BR>#串行访问的锁文件必须保存在本地磁盘上<BR>#</P>
<P>#LockFile logs/accept.lock</P>
<P>#ScoreBoardFile:用来保存内部服务进程信息的文件。<BR>#如果未指明（默认），记分板（scoreboard）将被保存在一个匿名的共享内存段中，<BR>#并且它不能被第三方软件所使用。<BR>#如果指定了，要确保不能使用两个Apache使用同一个记分板文件，<BR>#这个记分板文件必须保存在本地磁盘上。<BR>#</P>
<P>#ScoreBoardFile logs/apache_runtime_status</P>
<P>#<BR>#PidFile:记录服务器启动进程号的文件。<BR>#</P>
<P>PidFile logs/httpd.pid</P>
<P>#<BR>#Timeout:接收和发送前超时秒数<BR>#<BR>Timeout 300</P>
<P>#<BR>#KeepAlive:是否允许稳固的连接（每个连接有多个请求），<BR>#设为"Off"则停用。<BR>#<BR>KeepAlive On</P>
<P>#<BR>#MaxKeepAliveRequests:在稳固连接期间允许的最大请求数，<BR>#设为0表示无限制接入。<BR>#我们推荐你将其设为一个较大的值，以便提高性能<BR>MaxKeepAliveRequests 100</P>
<P>#<BR>#KeepAliveTimeout:在同一个连接上从同一台客户上接收请求的秒数<BR>#<BR>KeepAliveTimeout 15</P>
<P>##<BR>##Server-Pool大小设定（针对MPM的）<BR>##</P>
<P># prefork MPM<BR># StartServers:启动时服务器启动的进程数<BR># MinSpareServers:保有的备用进程的最小数目<BR># MaxSpareServers:保有的备用进程的最大数目<BR># MaxClients:服务器允许启动的最大进程数<BR># MaxRequestsPerChild:一个服务进程允许的最大请求数</P>
<P>StartServers 5<BR>MinSpareServers 5<BR>MaxSpareServers 10<BR>MaxClients 150<BR>MaxRequestPerChild 0</P>
<P># worker MPM<BR># StartServers:服务器启动时的服务进程数目<BR># MaxClients:允许同时连接的最大用户数目<BR># MinSpareThreads:保有的最小工作线程数目<BR># MaxSpareThreads:允许保有的最大工作线程数目<BR># ThreadsPerChild:每个服务进程中的工作线程常数<BR># MaxRequestsPerChild:服务进程中允许的最大请求数目</P>
<P>StartServers 2<BR>MaxClients 150<BR>MinSpareThreads 25<BR>MaxSpareThreads 75<BR>ThreadsPerChild 25<BR>MaxRequestsPerChild 0</P>
<P># perchild MPM<BR># NumServers:服务进程数量<BR># StartThreads:每个服务进程中的起始线程数量<BR># MinSpareThreads:保有的最小线程数量<BR># MaxSpareThreads:保有的最大线程数量<BR># MaxThreadsPerChild:每个服务进程允许的最大线程数<BR># MaxRequestsPerChild:每个服务进程允许连接的最大数量</P>
<P>NumServers 5<BR>StartThreads 5<BR>MinSpareThreads 5<BR>MaxSpareThreads 10<BR>MaxThreadsPerChild 20<BR>MaxRequestsPerChild 0</P>
<P># WinNT MPM<BR># ThreadsPerChild:服务进程中工作线程常数<BR># MaxRequestsPerChild:服务进程允许的最大请求数</P>
<P>ThreadsPerChild 250<BR>MaxRequestsPerChild 0</P>
<P># BeOS MPM<BR># StartThreads:服务器启动时启动的线程数<BR># MaxClients:可以启动的最大线程数（一个线程等于一个用户）<BR># MaxRequestsPerThread:每个线程允许的最大请求数</P>
<P>StartThreads 10<BR>MaxClients 50<BR>MaxRequestsPerThread 10000</P>
<P># NetWare MPM<BR># ThreadStachSize:为每个工作线程分配的堆栈尺寸<BR># StartThreads:服务器启动时启动的线程数<BR># MinSpareThreads:用于处理实发请求的空闲线程数<BR># MaxSpareThreads:空闲线程的最大数量<BR># MaxThreads:在同一时间活动的最大线程数<BR># MaxRequestPerChild:一个线程服务请求的最大数量，<BR># 推荐将其设置为0，以实现无限制的接入</P>
<P>ThreadStackSize 65536<BR>StartThreads 250<BR>MinSpareThreads 25<BR>MaxSpareThreads 250<BR>MaxThreads 1000<BR>MaxRequestPerChild 0</P>
<P># OS/2 MPM<BR># StartServers:启动的服务进程数量<BR># MinSpareThreads:每个进程允许的最小空闲线程<BR># MaxSpareThreads:每个进程允许的最大空闲线程<BR># MaxRequestsPerChild:每个服务进程允许的最大连接数</P>
<P>StartServers 2<BR>MinSpareThreads 5<BR>MaxSpareThreads 10<BR>MaxRequestsPerChild 0</P>
<P>#<BR># Listen:允许你绑定Apache服务到指定的IP地址和端口上，以取代默认值<BR># 参见指令<BR># 使用如下命令使Apache只在指定的IP地址上监听，<BR># 以防止它在IP地址0.0.0.0上监听<BR>#<BR># Listen 12.34.56.78:80</P>
<P>Listen 80</P>
<P>#<BR># 动态共享支持（DSO）<BR>#<BR># 为了能够使用那些以DSO模式编译的模块中的函数，你必须有相应的“LoadModule”行，<BR># 因此，在这里包含了这些指令，以便能在使用它之前激活。<BR># 那些静态编译的模块不需要在这里列出 (即以“httpd -l”列出的模块)<BR>#<BR># 示例：<BR># LoadModule foo_module modules/mod_foo.so<BR>#</P>
<P>#<BR># ExtendedStatus：当调用“server-status”时，控制Apache是产生“全”状态<BR># 信息（ExtendedStatus On），还是产生基本信息（ExtendedStatus Off）。<BR># 默认为off<BR>#<BR># ExtendedStatus On</P>
<P>### 第二区：“主”服务配置<BR>#<BR># 这一区建立被 “主” 服务器用的指令值,以回应那些不被<BR># 定义处理的任何请求。<BR># 这些数值也提供默认值给后面定义的容器。<BR># 如果中有定义，那么这里定义的指令值将被<BR># 中的定义所覆盖。<BR># </P>
<P>#<BR># 如果你想使httpd以另外的用户或组来运行，你必须在开始时以root方式启动<BR># 然后再将它切换为你想要使用的用户或组。<BR>#<BR># User/Group:运行httpd的用户和组<BR># 在SCO (ODT3)上使用“User nouser”和“Group nogroup”<BR># 在HPUX上，你可能不能以nobody身份使用共享内存，建议创建一个www用户。<BR># 注意一些核心（kernel）在组ID大于60000时拒绝setgid(Group)或semctl(IPC_SET)，<BR>#节在这些系统上不要使用“Group #-1”。<BR>#<BR>User nobody<BR>Group #-1</P>
<P>#<BR># ServerAdmin:你的邮件地址，当发生问题时Apache将向你发出邮件。<BR># 作为一个出错文档，这个地址显示在server-generated页上，<BR># 例如：admin@your-domain.com<BR>#<BR>ServerAdmin <A href="mailto:kreny@sina.com">kreny@sina.com</A></P>
<P>#<BR># ServerName指定Apache用于识别自身的名字和端口号。<BR># 通常这个值是自动指定的，但是我们推荐你显式的指定它以防止启动时出错<BR>#<BR># 如果你为你的主机指定了一个无效的DNS名，server-generated重定向将不能工作。<BR># 参见UseCanonicalName指令<BR>#<BR># 如果你的主机没有注册DNS名，在这里键入它的IP地址<BR># 无论如何，你必须使用它的IP地址来提供服务，<BR># 这里使用一种容易理解的方式重定向服务<BR>ServerName <A href="http://www.dalouis.com/">www.dalouis.com:80</A></P>
<P>#<BR># UseCanonicalName:决定Apache如何构造URLS和 SERVER_NAME 和 SERVER_PORT 的指令。<BR># 当设置为 “Off”时,Apache会使用用户端提供的主机名和端口号。<BR># 当设置为“On”,Apache会使用ServerName指令的值。<BR>#<BR>UseCanonicalName Off</P>
<P>#<BR># DocumentRoot:你的文档的根目录。默认情况下，所有的请求从这个目录进行应答。<BR># 但是可以使用符号链接和别名来指向到其他的位置。<BR>#<BR>DocumentRoot "/home/redhat/public_html"</P>
<P>#<BR># Apache可以存取的每个目录都可以配置存取权限（包括它的子目录）。<BR>#<BR># 首先，我们配置一个高限制的特征。</P>
<P># 这将禁止访问文件系统所在的目录，并添加你希望允许访问的目录块。<BR># 如下所示</P>
<P>Order Deny,Allow<BR>Deny from all</P>
<P>#<BR># 注意从这里开始你一定要明确地允许哪些特别的特征能够被使用。<BR># - 所以，如果Apache没有象你所期待的那样工作的话,<BR># 请检查你是否在下面明确的指定它可用。<BR>#</P>
<P>#<BR># 这将改变到你设置的DocumentRoot<BR>#</P>
<P>#<BR># Options：这个指令的值可以是“None”，“All”，或者下列选项的任意组合：<BR># Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews<BR>#<BR># 注意，“MultiViews”必须被显式的指定，“Options All”不能为你提供这个特性。<BR>#<BR># 这个指令既复杂又重要，请参见<BR>#“http://httpd.apache.org/docs-2.0/mod/core.html#optioins”以取得更多的信息。<BR>#<BR>Options FollowSymLinks</P>
<P>#<BR># AllowOverride控制那些被放置在.htaccess文件中的指令。<BR># 它可以是“All”，“None”，或者下列指令的组合：<BR># Options FileInfo AuthConfig Limit<BR>#<BR>AllowOverride None</P>
<P>#<BR># 控制谁可以获得服务。<BR>#<BR>Order allow,deny<BR>Allow from all</P>
<P>#<BR># UserDir:指定在得到一个~user请求时将会添加到用户home目录后的目录名。<BR>#</P>
<P>UserDir public_html</P>
<P># 为防止在UserDir指令上的漏洞，对root用户设置<BR># 象“./”这样的UserDir是非常有用的。<BR># 如果你使用Apache 1.3或以上版本，我们强烈建议你<BR># 在你的服务器配置文件中包含下面的行</P>
<P>UserDir disabled root</P>
<P>#<BR># 下面是一个使用UserDir指令使一个站点的目录具有只读属性的示例：<BR>#<BR>#<BR># AllowOverride FileInfo AuthConfig Limit Indexes<BR># Options MultiViews Indexes SymLinksIfOwnerMatch IncludeNoExec<BR>#<BR># Order allow,deny<BR># Allow from all<BR>#<BR>#<BR># Order deny,allow<BR># Deny from all<BR>#<BR># </P>
<P>#<BR># DirectoryIndex:定义请求是一个目录时，Apache向用户提供服务的文件名<BR>#<BR># index.html.var文件（一个类型映象文件）用于提供一个文档处理列表，<BR># 出于同样的目的，也可以使用MultiViews选项，但是它会非常慢。<BR>#<BR>DirectoryIndex index.php index.html index.html.var</P>
<P>#<BR># AccessFileName:在每个目录中查询为目录提供附加配置指令的文件的文件名。<BR># 参见AllowOverride指令。<BR>#<BR>AccessFileName .htaccess</P>
<P>#<BR># 下面的行防止.htaccess和.htpasswd文件被Web客户查看。<BR>#</P>
<P>Order allow,deny<BR>Deny from all</P>
<P>#<BR># Typeconfig:定义在哪里查询mime.types文件。<BR>#<BR>TypeConfig conf/mime.types</P>
<P>#<BR># DefaultType:定义当不能确定MIME类型时服务器提供的默认MIME类型。<BR># 如果你的服务主要包含text或HTML文档，“text/plain”是一个好的选择；<BR># 如果大多是二进制文档，诸如软件或图像，你应使用<BR># “application/octer-stream”来防止浏览器象显示文本那样显示二进制文件。<BR>#<BR>DefaultType text/plain</P>
<P>#<BR># mod_mime_magic允许服务器从自己定义自己类型的文件中使用不同的线索（hints），<BR># 这个MIMEMagicFile指令定义hints定义所在的文件。<BR>#</P>
<P>MIMEMagicFile conf/magic</P>
<P>#<BR># HostnameLookups：指定记录用户端的名字还是IP地址，例如，本指令为on时<BR># 记录主机名，如www.apache.org；为off时记录IP地址，204.62.129.132。<BR># 默认值为off，这要比设为on好得多，因为如果设为on则每个用户端请求都将会<BR># 至少造成对 nameserver 进行一次查询。<BR>#<BR>HostnameLookups Off</P>
<P>#<BR># EnableMMAP:控制是否进行内存转储（如果操作系统支持的话）。<BR># 默认为on，如果你的服务器安装在网络文件系统上（NFS），请关闭它。<BR># 在一些系统上，关闭它会提升系统性能（与文件系统类型无关）；<BR># 具体情况请参阅http://httpd.apache.org/docs-2.0/mod/core.html#enablemmap<BR>#<BR># EnableMMAP off</P>
<P>#<BR># EnableSendfile:控制是否使用sendfile kernel支持发送文件<BR># （如果操作系统支持的话）。默认为on，如果你的服务器安装在网络文件系统<BR># （NFS）上，请你关闭它。<BR># 参见http://httpd.apache.org/docs-2.0/mod/core.html#enablesendfile<BR>#<BR># EnableSendfile off</P>
<P>#<BR># ErrorLog:错误日志文件定位。<BR># 如果你没有在内定义ErrorLog指令，这个虚拟主机的错误信息<BR># 将记录在这里。如果你在那儿定义了ErrorLog，这些错误信息将记录在你所<BR># 定义的文件里，而不是这儿定义的文件。<BR>#<BR>ErrorLog logs/error_log</P>
<P>#<BR># LogLevel:控制记录在错误日志文件中的日志信息数量。<BR># 可能的值包括：debug，info，notice，warn，error，crit，alert，emerg。<BR>#<BR>LogLevel warn</P>
<P>#<BR># 下面的指令为CustomLog指令定义格式别名。<BR>#<BR>LogFormat "%h %l %u %t \"%r\" %&gt;s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined<BR>LogFormat "%h %l %u %t \"%r\" %&gt;s %b" common<BR>LogFormat "%{Referer}i -&gt; %U" referer<BR>LogFormat "%{User-agent}i" agent</P>
<P># 你需要安装了mod_logio.c模块才能使用%I和%O。<BR># LogFormat "%h %l %u %t \"%r\" %&gt;s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio</P>
<P>#<BR># 指定接入日志文件的定位和格式（一般日志格式）。<BR># 如果你没有在内定义这个指令，传输信息将记录在这里，<BR># 如果你定义了这个指令，则记录在你指定的位置，而不是这儿定义的位置。<BR>#<BR>CustomLog logs/access_log common</P>
<P>#<BR># 如果你想要记录agent和referer信息，可以使用下面的指令<BR>#<BR># CustomLog logs/referer_log referer<BR># CustomLog logs/agent_log agent</P>
<P>#<BR># 如果你想要使用一个文件记录access，agent和referer信息，<BR># 你可以如下定义这个指令：<BR>#<BR># CustomLog logs/access_log combined</P>
<P>#<BR># ServerTokens<BR># 这个指令定义包含在HTTP回应头中的信息类型。默认为“Full”，<BR># 这表示在回应头中将包含模块中的操作系统类型和编译信息。<BR># 可以设为列各值中的一个：<BR># Full | OS | Minor | Minimal | Major | Prod<BR># Full传达的信息最多，而Prod最少。<BR>#<BR>ServerTokens Full</P>
<P>#<BR># 随意的添加包含服务器版本和虚拟主机名字一行信息到server-generated输出页中<BR># （内部错误文档，FTP目录列表，mod_status和mod_info输出等等，除了CGI错误<BR># 或自定义的错误文档以外）。<BR># 设为“EMail”将包含一个指向ServerAdmin的mailto:连接。<BR># 可以为如下值：On | Off | EMail<BR>#<BR>ServerSignature On</P>
<P>#<BR># Aliases:在这时添加你需要的别名，格式如下：<BR># Alias 别名 真实名<BR>#<BR># 注意，如果你在别名的未尾包含了“/”，那么在URL中也需要包含“/”。<BR># 因此，“/icons”不是这个示例中的别名。<BR># 如果别名中以“/”结尾，那么真实名也必须以“/”结尾，<BR># 如果别名中省略了结尾的“/”，那么真实名也必须省略。<BR>#<BR># 我们使用别名“/icons/”来表示FancyIndexed目录列表，如果你不使用、<BR># FancyIndexing，你可以注释掉它。<BR>#<BR># Alias /icons/ "/usr/local/apache2/icons/"</P>
<P>#<BR># Options Indexes MultiViews<BR># AllowOverride None<BR># Order allow,deny<BR>## Allow from all<BR># </P>
<P>#<BR># 这将改变ServerRoot/manual。这个别名提供了手册页所在的位置，<BR># 即使你改变了你的DocumentRoot。如果你对有无手册页并不在意的话，<BR># 你可以注释掉它。<BR>#<BR>Alias /manual "/usr/loacl/apache2/manual"</P>
<P>Options Indexes FollowSymLinks MultiViews IncludesNoExec<BR>AddOutputFilter Includes html<BR>Order allow,deny<BR>Allow from all</P>
<P>#<BR># ScriptAlias:指定包含服务脚本的目录。<BR># ScriptAliases 本质上与Aliases一样，除了这里的文档在请求时做为程序处理处理以外。<BR># 尾部的“/”规则与Alias一样<BR>#<BR>ScriptAlias /cgi-bin/ "/usr/loacl/apache2/cgi-bin/"</P>
<P># 这里是添加php 4支持的指令<BR>AddType application/x-httpd-php .php<BR>LoadModule php4_module modules/libphp4.so</P>
<P>#<BR># 添加mod_cgid.c设置，mod_cgid提供使用cgid进行通讯的UNIX套接字的<BR># 脚本接口路径。<BR>#<BR># Scriptsock logs/cgisock</P>
<P>#<BR># 将"/usr/local/apache2/cgi-bin"改为你的ScriptAliased指定的CGI目录，<BR># 如果你配置了的话。<BR>#</P>
<P>AllowOverride None<BR>Options None<BR>Order allow,deny<BR>Allow from all</P>
<P>#<BR># Redirect允许你告诉客户端使用存在于服务器名字空间中的文档，<BR># 而不是现在的，这帮助客户定位那些改变了位置的文档。<BR># 例如：<BR># Redirect permanent /foo <A href="http://www.example.com/bar">http://www.example.com/bar</A></P>
<P>#<BR># 控制server-generated目录列表显示的指令<BR>#</P>
<P>#<BR># IndexOptions:控制server-generated目录列表显示特征。<BR>#<BR>IndexOptions FancyIndexing VersionSort</P>
<P>#<BR># AddIcon* 指令告诉服务器不同扩展名的图象文件如何显示，<BR># 只适用于FancyIndexed指令<BR>#<BR>AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip<BR>AddIconByType (TXT,/icons/text.gif) text/*<BR>AddIconByType (IMG,/icons/image2.gif) image/*<BR>AddIconByType (SND,/icons/sound2.gif) audio/*<BR>AddIconByType (VID,/icons/movie.gif) video/*</P>
<P>AddIcon /icons/binary.gif .bin .exe<BR>AddIcon /icons/binhex.gif .hqx<BR>AddIcon /icons/tar.gif .tar<BR>AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv<BR>AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip<BR>AddIcon /icons/a.gif .ps .ai .eps<BR>AddIcon /icons/layout.gif .html .shtml .htm .pdf<BR>AddIcon /icons/text.gif .txt<BR>AddIcon /icons/c.gif .c<BR>AddIcon /icons/p.gif .pl .py<BR>AddIcon /icons/f.gif .for<BR>AddIcon /icons/dvi.gif .dvi<BR>AddIcon /icons/uuencoded.gif .uu<BR>AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl<BR>AddIcon /icons/tex.gif .tex<BR>AddIcon /icons/bomb.gif core</P>
<P>AddIcon /icons/back.gif ..<BR>AddIcon /icons/hand.right.gif README<BR>AddIcon /icons/folder.gif ^^DIRECTORY^^<BR>AddIcon /icons/blank.gif ^^BLANKICON^^</P>
<P>#<BR># DefaultIcon 为那些没有显式定义图标的文件提供处理<BR>#<BR>DefaultIcon /icons/unknown.gif</P>
<P>#<BR># AddDescription允许你在server-generated索引后放置一个简短的说明。<BR># 只对FancyIndexed指令有效。<BR># 格式：AddDescription "说明" 文件名<BR>#<BR># AddDescription "GZIP compressed document" .gz<BR># AddDescription "tar archive" .tar<BR># AddDescription "GZIP compressed tar archive" .tgz</P>
<P>#<BR># ReadmeName指定服务器默认查找的README文件的名字，并添加到目录列表中<BR>#<BR># HeaderName指定目录列表前缀文件的文件名<BR>ReadmeName README.html<BR>HeaderName HEADER.html</P>
<P>#<BR># IndexIgnore指定目录索引忽略并且不包含在列表中的文件名集合，<BR># 支持shell类型的通配符。<BR>#<BR>IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t</P>
<P>#<BR># AddEncoding允许你在信息传送中使用(Mosaic/X 2.1+)解压缩信息，<BR># 注意：不是所有的浏览器都支持这个选项。<BR># 尽管名字相似，但是下列的指令与上面的FancyIndexing定制指令不同。<BR>#<BR>AddEncoding x-compress Z<BR>AddEncoding x-gzip gz tgz</P>
<P>#<BR># DefaultLanguage和AddLanguage允许你指定文档的语言。<BR># 这使你可以让用户用容易理解的语言浏览文档。<BR>#<BR># 指定默认的语言，这意味着所有没有指定语言的包都将使用该语言。<BR># 多数情况下，你也许并不想设置它，除非你确信这样做是正确的。<BR># 通常，不使用确定的语言比使用错误的语言要好。<BR>#<BR># DefaultLanguage nl<BR>#<BR># 注意1：作为语言关键字的词缀毫无疑问是不能一样的--采用波兰<BR># 文的文档（网络标准语言代码是pl）将希望使用“AddLanguage pl .po”<BR># 来避免与perl脚本的一般词缀产生二义性。<BR>#<BR># 注意2: 下面的例子举例说明在一些范例中语言的二字符缩写与它的国家<BR># 的二字符缩写不相同,例如 “Danmark/dk” 和 “Danmark/da” 的比较.<BR>#<BR># 注意3: 在 “ltz” 的情况下我们使用三字符词缀，违犯了 RFC的规定，<BR># 运行中将修复它并使用RFC1766标准取得参考数据。<BR>#<BR># Danish (da) - Dutch (nl) - English (en) - Estonian (et)<BR># French (fr) - German (de) - Greek-Modern (el)<BR># Italian (it) - Norwegian (no) - Norwegian Nynorsk (nn) - Korean (ko)<BR># Portugese (pt) - Luxembourgeois* (ltz)<BR># Spanish (es) - Swedish (sv) - Catalan (ca) - Czech(cz)<BR># Polish (pl) - Brazilian Portuguese (pt-br) - Japanese (ja)<BR># Russian (ru) - Croatian (hr)<BR>#<BR>AddLanguage da .dk<BR>AddLanguage nl .nl<BR>AddLanguage en .en<BR>AddLanguage et .et<BR>AddLanguage fr .fr<BR>AddLanguage de .de<BR>AddLanguage he .he<BR>AddLanguage el .el<BR>AddLanguage it .it<BR>AddLanguage ja .ja<BR>AddLanguage pl .po<BR>AddLanguage ko .ko<BR>AddLanguage pt .pt<BR>AddLanguage nn .nn<BR>AddLanguage no .no<BR>AddLanguage pt-br .pt-br<BR>AddLanguage ltz .ltz<BR>AddLanguage ca .ca<BR>AddLanguage es .es<BR>AddLanguage sv .sv<BR>AddLanguage cz .cz<BR>AddLanguage ru .ru<BR>AddLanguage tw .tw<BR>AddLanguage zh-tw .tw<BR>AddLanguage hr .hr</P>
<P># LanguagePriority允许你在会话过程中优先使用一些语言。<BR>#<BR># 以优先次序递减的方式列出它们。我们或多或少地采用按字母排列顺序的方式<BR># 排列它们。也许你想要改变这个顺序。<BR>LanguagePriority en da nl et fr de el it ja ko no pl pt pt-br ltz ca es sv tw</P>
<P>#<BR># ForceLanguagePriority 允许你为MULTIPLE CHOICES(Prefer)[在通讯的情况下]<BR># 或NOT ACCEPTABLE(Fallback)[没有可接受的语言匹配的情况]提供一个结果页。<BR>#<BR>ForceLanguagePriority Prefer Fallback</P>
<P>#<BR># 为发送出的所有页指定默认的字符集，这总是一个好主意，并且为你的<BR># web站点的国际化打开了大门，这不正是你曾经想要的吗。同样地，指定<BR># 默认字符集有一些小的损害，如一个使用iso-8859-1(latin1)标准命令<BR># 的页面，除非以别的方式指定例如你仅仅以显式方式声明它。<BR># 也有一些与那些总是鼓励你使用默认字符集的javascropt和URL语法有关<BR># 的浏览器安全原因。<BR>#<BR>#AddDefaultCharset ISO-8859-1<BR>AddDefaultCharse GB2312</P>
<P>#<BR># 一般以文件扩展名的方式使用字符集。也许你想要避免与语言扩展发生<BR># 碰撞，除非你在每次改变后都做了很好的测试。<BR># 参见http://www.iana.org/assignments/character-sets以取得字符集<BR># 的名字列表和它们各自的RFCs。<BR>#<BR>AddCharset ISO-8859-1 .iso8859-1 .latin1<BR>AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen<BR>AddCharset ISO-8859-3 .iso8859-3 .latin3<BR>AddCharset ISO-8859-4 .iso8859-4 .latin4<BR>AddCharset ISO-8859-5 .iso8859-5 .latin5 .cyr .iso-ru<BR>AddCharset ISO-8859-6 .iso8859-6 .latin6 .arb<BR>AddCharset ISO-8859-7 .iso8859-7 .latin7 .grk<BR>AddCharset ISO-8859-8 .iso8859-8 .latin8 .heb<BR>AddCharset ISO-8859-9 .iso8859-9 .latin9 .trk<BR>AddCharset ISO-2022-JP .iso2022-jp .jis<BR>AddCharset ISO-2022-KR .iso2022-kr .kis<BR>AddCharset ISO-2022-CN .iso2022-cn .cis<BR>AddCharset Big5 .Big5 .big5<BR># 对于俄语，使用了多个字符集（如何使用主要依靠客户端）：<BR>AddCharset WINDOWS-1251 .cp-1251 .win-1251<BR>AddCharset CP866 .cp866<BR>AddCharset KOI8-r .koi8-r .koi8-ru<BR>AddCharset KOI8-ru .koi8-uk .ua<BR>AddCharset ISO-10646-UCS-2 .ucs2<BR>AddCharset ISO-10646-UCS-4 .ucs4<BR>AddCharset UTF-8 .utf8</P>
<P># 下面的字符集没有映射到一个特定的标准(iso)上，但是它们在浏览器<BR># 中被广泛的支持。注意那些大写字母。<BR># (它不应该,但是它是为兼容一些浏览器而做)<BR>#<BR># 参见http://www.iana.org/assianments/character-sets以取得<BR># 它们的列表。但是浏览器支持较少。<BR>#<BR>AddCharset GB2312 .gb2312 .gb<BR>AddCharset utf-7 .utf7<BR>AddCharset utf-8 .utf8<BR>AddCharset big5 .big5 .b5<BR>AddCharset EUC-TW .euc-tw<BR>AddCharset EUC-JP .euc-jp<BR>AddCharset EUC-KR .euc-kr<BR>AddCharset shift_jis .sjis</P>
<P>#<BR># AddType允许你为指定的文件类型添加或覆盖mime.types文件中配置的MIME<BR>#<BR>AddType application/x-tar .tgz<BR>AddType image/x-icon .ico</P>
<P>#<BR># AddHandler允许你映射确定的文件扩展名到“handlers”:<BR># 与文件类型无关的行为。这既能编译到服务器中也可以添加到Action指令<BR># 中（看下面）。<BR># 为了在ScriptAliased指令指定的以外使用CGI脚本：<BR>#（要使它可用，你还需要在Options中添加“ExecCGI”。<BR>#<BR># AddHandler cgi-script .cgi</P>
<P>#<BR># 对于那些包含他们自己的HTTP头的文件<BR>#<BR># AddHandler send-as-is asis</P>
<P>#<BR># 对于server-parsed imagemap文件：<BR>#<BR># AddHandler imap-file map</P>
<P>#<BR># agemap 文件:<BR>#<BR>#AddHandler imap- 文件映像</P>
<P>#<BR># 对于类型映像:(转移资源)<BR>#(这是默认的设定以允许Apache的“It Worked”页能多种语言分发)。<BR>#<BR>AddHandler type-map var</P>
<P>#<BR># 过滤器允许你在将它发送到客户端前进行处理。<BR>#<BR># 为了在服务器端分析包含(SSI)的.shtml文档：<BR># （要执行这个指令，你还需要在Options指令中添加“Includes”。）<BR>#<BR># AddType text/html .shtml<BR># AddOutputFilter INCLUDES .shtml</P>
<P>#<BR># Action让你定义当调用匹配的媒体文件时将要执行的脚本。这将减少<BR># 那些经常使用的CGI脚本的URL路径名的重复输入。<BR># 格式：Action media/type /cgi-script/location<BR># 格式：Action handler-name /cgi-script/location<BR>#</P>
<P>#<BR># 可配置的错误应答有三种风格：<BR># 1）plain text 2)local redirects 3) external redirects<BR>#<BR># 一些示例：<BR># ErrorDocument 500 "The server made a boo boo."<BR># ErrorDocument 404 /missing.html<BR># ErrorDocument 404 "/cgi-bin/missing_handler.pl"<BR># ErrorDocument 402 <A href="http://www.example.com/subscription_info.html">http://www.example.com/subscription_info.html</A><BR>#</P>
<P>#<BR># 综合应用这些指令，我们可以创建一个国际化的出错应答。<BR>#<BR># 我们使用Alias来重定向任意/error/HTTP_.html.var应答到<BR># 我们的多语言错误消息集合。使用正确的文本替代它。<BR>#<BR># 通过加入下面的行，你就能够改变这些消息的显示，而不必改变<BR># HTTP_.html.var文件。<BR>#<BR># Alias /error/include/ "/your/include/path/"<BR>#<BR># 以将/usr/local/apache2/error/include/下的文件拷贝到/your/inclue/path/下<BR># 开始，你可以创建你自己的文件集合，甚至是其于每个虚拟主机的。<BR># 不管你的ServerSignature如何设置，默认的包含文件将显示你的<BR># Aapche版本号和你的ServerAdmin邮件地址<BR>#<BR># 国际化的错误文档需要mod_alias，mod_include和mod_negotiation三个<BR># 模块。要激活它们，取消下面30行的注释符号</P>
<P># Alias /error/ "/usr/local/apache2/error/"<BR>#<BR>#<BR># AllowOverride None<BR># Options IncludesNoExec<BR># AddOutputFilter Includes html<BR># AddHandler type-map var<BR># Order allow,deny<BR># Allow from all<BR># LanguagePriority en de es fr it nl sv<BR># ForceLanguagePriority Prefer Fallback<BR>#<BR>#<BR># ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var<BR># ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var<BR>ErrorDocument 403 /error.php<BR># ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var<BR># ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var<BR># ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var<BR># ErrorDocument 410 /error/HTTP_GONE.html.var<BR># ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var<BR># ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var<BR># ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var<BR># ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var<BR># ErrorDocument 415 /error/HTTP_SERVICE_UNAVAILABLE.html.var<BR># ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var<BR># ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var<BR># ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var<BR># ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var<BR># ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var</P>
<P>#<BR># 下面的命令更改标准的HTTP应答行为以处理己知的浏览器问题。<BR>#<BR>BrowserMatch "Mozilla/2" nokeepalive<BR>BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0<BR>BrowserMatch "RealPlayer 4\.0" force-response-1.0<BR>BrowserMatch "Java/1\.0" force-response-1.0<BR>BrowserMatch "JDK/1\.0" force-response-1.0</P>
<P>#<BR># 下面命令关闭对那些没有尾部“/”的目录的非GET请求的重定向，<BR># 这些命令修复了微软的采用DAV方法不能正确处理重定向的WEB文件夹的问题。<BR># Apple下的DAV文件系统和Gnome下的VFS对DAV的支持也是采用这样的方法<BR># 进行处理的。<BR>#<BR>BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully<BR>BrowserMatch "^WebDrive" redirect-carefully<BR>BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully<BR>BrowserMatch "^gnome-vfs" redirect-carefully</P>
<P>#<BR># 允许你使用URL：http://servername/server-status来通过mod_status生<BR># 成并报告服务器状态信息。改变.example.com为你自己的域名。<BR>#<BR>#<BR># SetHandler server-status<BR># Order deny,allow<BR># Deny from all<BR># Allow from .example.com<BR># </P>
<P>#<BR># 允许使用URL:http://servername/server-info来远程报告服务器配置信息<BR># （需要mod_info.c支持）。改变“.example.com”为你自己的域名。<BR>#<BR>#<BR># SetHandler server-info<BR># Order deny,allow<BR># Deny from all<BR># Allow from .example.com<BR># </P>
<P>#<BR># 代理服务器命令，去掉下面的行使代理服务可用。<BR>#<BR>#<BR># ProxyRequests On<BR>#<BR># Order deny,allow<BR># Deny from all<BR># Allow from .example.com<BR># </P>
<P>#<BR># 安装或关闭HTTP/1.1“通道”头处理。<BR># （“Full”添加服务器版本信息，“Block”移掉所有输出“通道”头信息。<BR># 可以设为下面各选项之一：Off | On | Full | Block<BR>#<BR># ProxyVia On</P>
<P># 最好为代理服务安装高速缓冲，去掉下面几行的注释符号：<BR># （没有CacheRoot则不缓冲）<BR>#<BR># CacheRoot "/usr/local/apache2/proxy"<BR># CacheSize 5<BR># CacheGcInterval 4<BR># CacheMaxExpire 24<BR># CacheLastModifiedFactor 01<BR># CacheDefaultExpire 1<BR># NoCache a-domain.com another-domain.edu joes.garage-sale.com</P>
<P>#<BR># 代理命令结束。</P>
<P>#<BR># 附加的特定模块配置。<BR>#</P>
<P>Include conf/ssl.conf</P>
<P>## 第三区：虚拟主机<BR>#<BR># VirtualHost:你可以通过设置虚拟主机容器以实现在你的主机上保有多个<BR># 域名/主机名。大多数配置信息只使用基于名字的虚拟主机，因此服务器<BR># 不必担心IP地址的问题，下面的命令以*号代替虚拟主机名。<BR>#<BR># 在你试着配置你的虚拟主机以前，请参见<BR># URL:http://httpd.apache.org/docs-2.0/vhosts/&gt;以取得更多的信息。<BR>#<BR># 你可以使用命令行选项“-S”来检验你的虚拟主机配置。</P>
<P>#<BR># 使用基于名字的虚拟主机。<BR>#<BR># NameVirtualHost *</P>
<P>#<BR># 虚拟主机示例：<BR># 几乎所有的Apache命令都可以在虚拟主机容器中使用。<BR># 第一个虚拟主机区是用于向服务名未知的请求进行应答的配置。<BR>#<BR>#<BR># ServerAdmin <A href="mailto:webmaster@dummy-host.example.com">webmaster@dummy-host.example.com</A><BR># DocumentRoot /www/docs/dummy-host.example.com<BR># ServerName dummy-host.example.com<BR># ErrorLog logs/dummy-host.example.com-error_log<BR># CustomLog logs/dummy-host.example.com-access_log commom<BR># </P><img src ="http://www.cnitblog.com/xlmo/aggbug/6180.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/xlmo/" target="_blank">xlmo</a> 2006-01-14 22:06 <a href="http://www.cnitblog.com/xlmo/archive/2006/01/14/6180.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Debian下的非Simsun中文显示</title><link>http://www.cnitblog.com/xlmo/archive/2006/01/14/6177.html</link><dc:creator>xlmo</dc:creator><author>xlmo</author><pubDate>Sat, 14 Jan 2006 08:57:00 GMT</pubDate><guid>http://www.cnitblog.com/xlmo/archive/2006/01/14/6177.html</guid><wfw:comment>http://www.cnitblog.com/xlmo/comments/6177.html</wfw:comment><comments>http://www.cnitblog.com/xlmo/archive/2006/01/14/6177.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/xlmo/comments/commentRss/6177.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/xlmo/services/trackbacks/6177.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;&nbsp;只是做个笔记：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 安装以下这几个字体：ttf-fireflysung，ttf-bitstream-vera ，ttf-dejavu，msttcorefonts，ttf-arphic-bkai00mp ，tf-arphic-gbsn00lp， ttf-arphic-bsmi00lp ，ttf-arphic-...&nbsp;&nbsp;<a href='http://www.cnitblog.com/xlmo/archive/2006/01/14/6177.html'>阅读全文</a><img src ="http://www.cnitblog.com/xlmo/aggbug/6177.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/xlmo/" target="_blank">xlmo</a> 2006-01-14 16:57 <a href="http://www.cnitblog.com/xlmo/archive/2006/01/14/6177.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]Linux不是Windows </title><link>http://www.cnitblog.com/xlmo/archive/2006/01/09/6097.html</link><dc:creator>xlmo</dc:creator><author>xlmo</author><pubDate>Mon, 09 Jan 2006 08:10:00 GMT</pubDate><guid>http://www.cnitblog.com/xlmo/archive/2006/01/09/6097.html</guid><wfw:comment>http://www.cnitblog.com/xlmo/comments/6097.html</wfw:comment><comments>http://www.cnitblog.com/xlmo/archive/2006/01/09/6097.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnitblog.com/xlmo/comments/commentRss/6097.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/xlmo/services/trackbacks/6097.html</trackback:ping><description><![CDATA[<DIV id=visual-portal-wrapper>
<DIV id=portal-top>
<DIV id=portal-header>
<UL id=portal-siteactions>
<DIV>
<DIV class=visualClear></DIV>
<TABLE id=portal-columns>
<TBODY>
<TR>
<TD id=portal-column-content>
<DIV class="" id=content>
<DIV class=documentContent id=region-content><A name=documentContent></A>
<H1 class=documentFirstHeading>Linux不是Windows </H1>
<DIV>
<DIV class=documentByLine><!--
        <tal:name tal:condition="creator"
           tal:define="author python:mtool.getMemberInfo(creator)">
          <span i18n:translate="label_by_author">
            by
          <a href="#"
             tal:attributes="href string:${portal_url}/author/${creator}"
             tal:content="python:author and author['fullname'] or creator"
             tal:omit-tag="not:author"
             i18n:name="author">
            Bob Dobalina
          </a>
          </span>

          &mdash;

        </tal:name>
--><SPAN>上次修改时间:</SPAN> 2005-12-04 13:51 
<DIV><SPAN>贡献人:</SPAN> 来源：http://linux.oneandoneis2.org/LNW.htm, 中文：http://www.ubuntu.org.cn/lnw, 翻译：laborer </DIV><SPAN class=reviewHistory></SPAN></DIV></DIV>
<P class=documentDescription>以下的文章中，当我提到GNU/Linux操作系统和种种的FOSS（译者：自由和开源软件）项目时我都会用一个统一的名称Linux来代替，这样看起来好些。 </P>
<DIV class=plain>
<P></P>
<H1 align=center><IMG src="http://www.ubuntu.org.cn/include/tux.png" align=middle> != <IMG src="http://www.ubuntu.org.cn/include/windows.png" align=middle> <BR>(Linux不是Windows)</H1>
<P>如果你像我一样花些时间在Linux论坛上，那你就会像我一样因为有太多这样的帖子而恼怒： </P>
<P><I>"嗨！我用了几天Linux，总体还行。但某某功能不能像Windows那样，真糟糕。为什么开发人员不能重写一下让它更像Windows一点？我相信这样做的话Linux的用户会更多！</I><I>"</I> </P>
<P>你也许尝试过回应这些问题，结果那个Linux新手却和你吵得面红耳赤，他根据自己几年来在另外一个操作系统上和区区几小时在Linux上的经验，得出结论：他的想法是无比睿智的，而你不同意他的观点是因为你是一个从“古董学校”出来的Linux用户，认为GUI是恶魔的产物，所有人都应该强迫去用CLI （译者：命令行界面）。 </P>
<P>本文的目的就是向这样的新手解释为什么他们的观点会引发争论而不是受到欢迎。</P>
<P>首先就是这个最常被提起的论断： <I>"如果Linux能这样，那就会有更多的人从Windows转过来！</I><I>"</I> </P>
<P>这样，让我先解释一下为理解Linux所需的基本常识：Linux社区<B>不会</B>试图去为一般的Windows用户提供一个替代的操作系统。Linux的目标<B>不是</B>“每台机器都装Linux”。 </P>
<P>千真万确，真的不是。<A title="TORVALDS: I don't care if Linux holds 90 percent of the market." href="http://www.varbusiness.com/sections/movers/mover.jhtml;jsessionid=2DBOI2IWW3CNQQSNDBGCKH0CJUMEKJVN?articleId=18804216&amp;_requestid=1323686"><IMG src="http://www.ubuntu.org.cn/include/slinux.png"></A>. 的确，它们都是操作系统，的确，它们都<B>能</B>做相同的事情，但是这让Linux成为一种<B>选择</B>，而不是<B>替代品</B>。这看上去也许算不上什么区别，但实际上却是最最重要的一点。 </P>
<P><B>Linux</B>&lt;=&gt;<B>Windows</B>就如同<B>摩托车</B>&lt;=&gt;<B>小汽车</B>：都是车，能通过公路吧你从甲地送到乙地，但它们有不同的形状、不同的尺寸、不同的操作装置，其基本工作方式也不同。它们是不可以随意互换的。它们有不同的用途、不同的长处和短处，你要挑选一种适合自己的，而不要指望一种可以完全替代另一种。 </P>
<P>一个开车的人遇到塞车时，看到摩托车自如在车堆中来回穿梭，他也许会羡慕摩托车所具备的这种能力。如果这个司机接着又说：“<I>我对汽车了如指掌，所以我也一定同样了解摩托车！</I>”，那么他就错了。 </P>
<UL>
<LI>如果那个司机买了一辆摩托，然后发现很难适应用手旋转握把来控制加速，而不是脚踏板，他可能会报怨摩托也应该装油门踏板。 
<LI>如果那个司机有一个老婆两个孩子，他也许觉得摩托车只能载一个乘客是个缺点。他会建议重新设计摩托车，使其可以两两肩并肩的坐四个人。 
<LI>如果那个司机想骑摩托车，却发现无法控制平衡，总是摔倒，他也许会建议让摩托车也安上四个轮子。 
<LI>如果这个司机发现转弯时自己身体总会倾斜，那他会建议在摩托上装稳定器使其可以在转弯时总保持正直。 
<LI>如果这个司机怕摩托车被偷，他也许会报怨摩托没有门，让小偷容易得手。 
<LI>如果这个司机觉得头盔碍事，他也许会建议在手把上装一个安全气囊以替代烦人的头盔。</LI></UL>
<P>这些情况下他都<B>错</B>了，因为他想用摩托车<B>替代</B>汽车，他想让摩托做所有汽车能做的，他以为摩托的工作方式与汽车相同，比汽车缺少的功能只要嫁接上就行了。 </P>
<P>同样，一些好心的Linux新手也建议把Linux变成他们所熟悉的样子，结果也因为相同的原因没有任何所获。也许Linux和Windows都可以被用于完成相同的任务，但汽车和摩托也是。这并不意味这你可以直接从一个换到另外一个，也不意味着它们的特性可以相互替换。 </P>
<P>太多的人以为从Windows转移到Linux就如同宝马换奔驰一样，认为其控制方式应该相同，他们的经验直接可以派上用场，而两者之间所有的差别也仅仅是表层的。他们想：“<I>在公路上行驶时，我需要汽车，在使用电脑时，我需要操作系统。汽车的工作方式都相同，因此操作系统的工作方式也应该都相同。”</I>但这并不准确。“在公路上行驶时，我需要车，在使用电脑时，我需要操作系统。我知道如何开汽车，但我不懂摩托车。我知道如何使用Windows，但我不懂 Linux。”----<B>这</B>才是准确的。 </P>
<P>Windows用户必须意识到他只是一个有经验的<B>Windows</B>用户，而不是有经验的<B>电脑</B>用户，就像汽车司机<B>仅仅</B>是汽车司机，而不是所有种类车辆的司机。Windows用户必须意识到当他在尝试Linux时，他又成为了一个新手，就像汽车司机去尝试开摩托。 Windows必须要愿意去学习完成相同任务所需的不相同的手段，就像汽车司机必须要去适应替代方向盘的手把和他从没戴过的头盔。并且他们要作好心理准备：这些“不同”并不意味着“劣等”。 </P>
<P>这个简单的事实给有基础的Windows用户造成了更大的麻烦。他们来用Linux时带着根深蒂固的Windows操作习惯和一种态度：“<I>谢谢，我知道怎么用电脑！</I>”问题是，他们并不知道，他们只知道怎么用Windows。当面对另一种操作系统时，这些高级用户可能会遇到最糟的问题：他们有太多的经验需要遗忘掉。 </P>
<P>当一个新手说“我不知道”，接着就开始在论坛上探索、提问时，一个Windows高级用户可能会说：“<I>我<B>知道</B>怎么做，我就这么、这么、这么做，然后……居然不行！愚蠢的系统！</I>”接着他们又说：“<I>如果我这么有知识的都搞不定，那新手就更不要想了，Linux离桌面应用还有十万八千里呢！</I>”他们恐怕没有意识到他们的知识帮了倒忙，使他们比经验<B>少</B>的用户遇到更<B>多</B>的问题。他们错误的以为Linux是一种可以和Windows做相同事情的软件，而事实上是它是一种不同于Windows的软件，做的事也不同。不是Linux做与Windows相同的任务做得不好，而是它<B>很好</B>的完成了一个<B>替代</B>的任务。 <BR></P>
<P>Linux是一种可供选择的操作系统，而不是Windows的替代品。它也永远不会取代Windows，因为它们有完全不相容的目标。微软的目标是让他们的软件装到更多的电脑中，赚更多钞票。而Linux不是这样，它是免费的，它的着眼点不同。 </P>
<P>要理解这一点就要先理解FOSS <A title="Free/Open Source Software" href="http://en.wikipedia.org/wiki/FOSS"><IMG src="http://www.ubuntu.org.cn/include/slinux.png"></A>。并不奇怪很多Linux新手现在还不能很好的理解它，他们是新手嘛，他们还是习惯于从私有软件的角度思考。所以让我解释一下： </P>
<P>典型的FOSS软件的作者往往因为对现存软件的不满，于是想到自己来写一个。而他又是个大好人，他把软件源码公之于众之后对大家说：“你们自己折腾吧！”。他可以这样做，因为复制软件没有任何成本，所以把软件贡献给世界也不会比自己留着用多花一分钱。他不会因为把软件送人而感到痛苦。 <BR></P>
<P>然而，很重要的一点需要记住的是：他也不会因为送出软件而<B>获利</B>。不论是一人用还是一亿人用，对开发者来说毫无区别。哦，当然，他一定乐意看到自己的产品广受欢迎：用户数是个自我吹嘘的好题材，还能创造记录。但这不会为他带来任何金钱：因为这是FOSS。 </P>
<P>如果这个软件有所成功，别人就会对此感兴趣，也愿意帮助改善它。这是FOSS最大的优势：每一个用户都可能是潜在的开发者，每一个人都能参与使软件工作得更好，功能更多，bug更少。如果一个软件能吸引到一大帮开发者那将是非常好的事情。但这仅是对<B>软件本身</B>而言的，它会使软件变得更好，而开发者不会因此致富，只会让他们为此投入更多的时间。 </P>
<P>FOSS与如Windows一类的私有软件截然相反：FOSS完全关注于软件本身，而不在意最终用户的数量。软件运行很好，但用户寥寥，这从商业软件的标准来看是失败的，但从FOSS的标准来看却是成功的。 </P>
<P>FOSS关注于编写高质量的软件，真正能做事的软件。如果你想使用它，那你就需要投入时间来学习<B>如何</B>使用。FOSS软件是免费供你使用的，为编写它许多人不去计较个人利益，投入了大量的时间 。因此，在你报怨它不能像Windows中相对应软件一样工作之前，至少也应该投入一点时间，算是对软件作者贡献的一种尊敬吧。 </P>
<P>“<I>哈哈，现在我抓到你的破绽了，</I>”一个新手自鸣得意的说：“<I>有一些Linux项目的目的就是替代Windows，而不仅是提供一种选择。</I>” <I></I></P>
<P>不难看出这种想法从何而来。例如，KDE和Gnome提供了一种不同于Linux传统的窗口管理器和CLI的桌面环境，它们更加类似于Windows。Linspire更一种要把Linux做的完全和Windows一样的Linux发行版。 </P>
<P>然而，这些论据更能支持<B>我的</B>观点，而不是那个新手的。 </P>
<P>为什么？因为这些都是标准的FOSS项目，都是以把软件做得更好为目的的。唯一的区别就是，在这些项目中品质的定义是“<I>如何让Windows用户使用起来更方便？</I>” <I></I></P>
<P>你一旦考虑了这个因素，你就不得不同意这些项目的目标都是改进软件本身，它们都是100%的典型Linux软件。这些项目由那些更加无私的开发人员编写：他们这样做不是为满足自己的需要，因为他们已经太熟悉Linux了。相反，他们是为了使其它人从Windows过渡到Linux更加容易。 </P>
<P>这些开发人员知道有一些Windows用户希望转投Linux阵营，于是他们花力气建造一个能让Windows用户感到舒服、熟悉的Linux环境。他们<B>无意</B>去替代Windows，尽管最终的结果给人留下了这样的印象，但他们的最终目的是不一样的：不是制造一个Windows替代品，而是帮助 Windows用户过渡到Linux上。 </P>
<P>社区里反对这些项目的声音并不罕见。有些人理由也是合理的（“<I>KDE太吃资源，还是用Fluxbox好</I>”），有些人则抱着一种不够理性的“<I>像Windows样的软件都不好</I>”的态度。事实上这不是反微软或反Windows的态度，而是蛮不讲理的憎恨自己不了解的东西。 </P>
<P>典型的Linux用户是一个电脑爱好者：他用电脑因为电脑好玩，编程好玩，hacking（译者：这个词非常难译，没有一个简单的词能够代替，这里主要是指修改软件使之满足自己需求）也好玩。而Linux是hacking爱好者的最爱，他可以把Linux分解到最基本的部分，然后再根据自己需要重新组装起来。 </P>
<P>然而，新来的Linux用户很大部分不是电脑爱好着，也不是hacker（译者：修改软件使之满足自己需求的人）。他们只要求电脑能工作，就像Windows那样工作。他们没兴趣去花时间设置Linux，他们希望拿来就能用。 </P>
<P>这很好，但在典型的Linux用户看来，这就如同有人想要一辆已经组装好并用胶水粘牢的乐高玩具汽车。这对他们来说实在无法想象：“<I>怎么会<B>有人</B>要<B>这个</B>？</I>”&nbsp; </P>
<P>这的确难以理解。如果你想要一辆做好的汽车模型，那去买一辆玩具车。如果你想要一辆可以自己组装的车，那就买乐高。怎么会有人想要一辆只能当玩具车玩的乐高车呢？乐高的乐趣就在于自己组装啊！ </P>
<P>典型的Linux用户也会如此回答那帮问“<I>为什么它就是不能工作呢？</I>”的人：“<I>如果你仅想让电脑工作，用Windows好了，如果你想自己能动手修改，那就用Linux。如果你对开源软件的这些好处毫无兴趣，那你干什么还要转去用Linux呢？</I>”&nbsp;<I></I> </P>
<P>答案通常是他们根本就<B>不是</B>真心想去用Linux，他们仅仅是想<B>远离</B>Windows：他们希望远离病毒，远离恶意软件，他们希望免除收费软件的限制，不被E.U.L.A.所束缚。他们不是在尝试<B>投入</B>Linux的怀抱，他们只想<B>摆脱</B>Windows。而Linux只是最广为人知的一种选择罢了。 </P>
<P>稍后再进一步论述. . . </P>
<P>你可能想：“<I>好吧，这样可以解释为什么开发者不去尽力让他们的软件更像Windows，但是Linux软件也可以在不违反FOSS的原则的前提下拥有有像Windows那样友好的GUI呀。</I>” </P>
<P>有一些理由可以说明为什么不是这样。 </P>
<P><B>首先：</B> 你真的认为写软件的人会故意去弄个很烂的用户界面？ </P>
<P>当一个人投入大量个人时间去编写软件时，他总会努力使软件的用户界面（UI）尽可能的好。UI对软件来说太重要了：如果某个功能不能通过UI来访问，那它就根本毫无意义。你也许不知道，但UI成为现在这样<B>不是</B>没有道理的，其原因是那就是软件创造者能做出的最好的UI了。 </P>
<P>如果你仍坚持类似Windows的UI使软件更好，请不要忘了这样一个事实：<I>这些软件的作者并不同意你的意见。他们对这些软件的理解肯定比你要深刻得多</I>，也许他们错了，但可能性很小。 <A title="Relevant Blog entry." href="http://linux.oneandoneis2.org/blog/2005/11/coders-interfaces.html"><IMG src="http://www.ubuntu.org.cn/include/slinux.png"></A> </P>
<P><B>第二：</B><B>&nbsp;</B>现在已经有很多漂亮的、易于被Windows用户接受的GUI前端。我想不出有什么功能不能通过GUI来控制，不管是多么高级的。你可以编译内核（make xconfig），设置放火墙（fwbuilder），硬盘分区（qtparted）……这些都可以由好看的、交互的、符合直觉的并且用户友好的程序完成。 </P>
<P>但是Linux的发布周期与Windows不同，不可能从一开始就有一个精良的GUI界面。GUI只会增加软件的复杂度，而不会给功能带来什么改进。开发者的本意可不是弄个花哨却什么也做不了的GUI，他们创作的是自己需要的软件。 </P>
<P>一个软件最先能做的便是在命令行（CLI）方式下使用，它可能包含各式各样的调用选项和长长的配置文件。因为这是实现软件功能所需要的最基本的东西，其它的都可以慢慢完善，即使日后有了漂亮的GUI，但我们仍应当看到：通常它还是完全可以用CLI和配置文件来控制的。 </P>
<UL>
<LI>这是因为CLI有很多优势：CLI通用；每个Linux系统都有CLI；所有程序都能从CLI执行；远程访问CLI也特别方便。而GUI则不然：有些Linux机器没装X11窗口系统；有些软件不能通过GUI菜单访问；通常远程使用GUI工具也不容易。 </LI></UL>
<P>最后，可能会有不同GUI前端能做相同事情，别人无法知道你到底装了哪一种。 </P>
<P>所以请记住，当你问“<I>我该怎么弄……？</I>”的时候，大部分情况下别人都会告诉你怎么通过CLI解决。这<B>并不</B>意味着问题只能从CLI解决，而是<B>恰恰</B>反映了在软件发展过程中CLI相对于GUI的重要性。 </P>
<UL>
<LI>Windows是完全以GUI为中心的，它是一种基于GUI的操作系统，其CLI是烂得可以（但很快就要改善了）。几乎没有什么Windows软件是没有GUI的。这也使人们认为GUI是一个软件必不可少的重要元素。但对于Linux来说，软件一旦能工作就可以发布了，只有等它足够稳定、没什么bug、功能也很丰富时才有必要增加GUI。 <BR>请试着把一个没有很好GUI界面的软件理解为内部测试版，而不是一个已经完成的产品。FOSS还远远没有“完成”，它还在不断的改进中。只要时机成熟，它完全可以变得用户友好。但在大部分情况下，使它工作的更好要比使它看上去感觉更好重要得多。你应该高兴今天就有机会能用上未来软件的功能，而那些只喜欢漂亮GUI的人就享受不到了。FOSS并没有到达它旅途的终点，它才刚刚上路呢。 </LI></UL>
<P>最后你还需要记住的是：软件的GUI部分经常是分开提供的，甚至有可能是完全不同的开发人员独立开发出来的。所以如果想要GUI，那一点也不奇怪你必须分开安装，而不是一次性装好。 </P>
<P>诚然，为了获得Windows式的GUI，分开安装<B>确实</B>增加了额外的步骤，但这不影响这样一个事实：你现在就可以通过“像Windows一样”的GUI做几乎所有事情。请不要忘记GUI通常只是最后一步，Linux<B>绝不会</B>只图外表而不重内涵的。 </P>
<P><B>第三：</B><B>&nbsp;</B>Linux是特别设计给知识丰富的老手使用的，而不是无知的新手。有两个原因： </P>
<UL>
<LI>无知乃与生俱来，但它很短暂，知识才是永恒的。也许要几天、几周、几个月才能让你从“Linux新手”成为“中等的Linux用户”。但你一旦达到这个水平，你就可以一直用下去了。 <BR>为了使软件对新手来说比较易用而放进一大堆代码就如同给所有自行车焊上永久的平衡轮。也许这会让起步变得比较容易，但之后呢？我相信你现在肯定不会想买一辆带平衡轮的车。不是因为你是一个反对用户友好的怪人，而是平衡轮对你来说毫无用处了，除了新手谁都用不上，放在那里反而碍事。 
<LI>不管软件多好，用户要能用得好才行。就算有世界上最安全的门，如果你不关窗、不锁门或者忘拔钥匙，小偷一样畅通无阻；就算有世界上最好的引擎，如果你加错了燃料，一样跑不了。Linux把<B>所有的</B>能力都交到了用户手里，这也包括破坏它的能力，当然没人想这样。想要保持Linux正常的运作，多学点让自己知道自己在做什么是唯一的办法。如果用户可以很容易的操作那些他根本不了解的功能，那么他也很有可能会造成破坏。</LI></UL>
<P><B>第四：</B><B>&nbsp;</B>从上面的文字中，你觉得FOSS有可能通过吸引典型的Windows用户而获得任何好处吗？ </P>
<P>不急，你可以重新看一遍，我等着。 </P>
<P>Linux和FOSS的指导原则是“做好的软件”，<B>并非</B>“做Windows的替代品”。一群典型的Windows用户对Linux的唯一贡献就是报怨。他们报怨什么？“<I>它工作得不像是在Windows上那样。</I>” </P>
<P>不，它不像。如果Linux工作得就和Windows一样，那就太烂了，它将会是一个没人要的劣质品。人们如此热烈的喜爱Linux正是因为它<B>不</B>像Windows，它<B>不</B>会替你做每件事，它<B>不</B>会假设你永远是个无知的新手，它<B>不</B>会所有把内部的工作都隐藏起来。 </P>
<P>Windows是载着你四处跑的司机；Linux则给了你钥匙并让你坐上驾驶座。如果你不会开车，那是你的问题、你自己的错。只要你肯问，很多人都会帮助你。如果你提建议类似于装备定速巡航系统，你定是有所领悟：汽车还是自己控制在自己手上，只不过可以省不少力气。但是如果你尝试去劝说别人Linux真的真的需要一个司机，那你真该忏悔一下。 </P>
<P>“<I>但这将使Linux更加主流啊！</I>”，新手叫到。 </P>
<P>也许是这样。但是Linux成为主流，开发者们又能从中得到什么好处呢？Linux是免费的，就算Linux获得了更大的用户群，Linux的创造者们不会因此多赚钱，Linux论坛上的人们也不会由此获利。Linux的目标<B>不是</B>“获得更大用户群”──那是私有软件的目标。 </P>
<P>Linux的目标是创造真正好用的操作系统。开发者们一直都在忙于增加功能、减少bug和改进现有的代码，他们可没有闲功夫去举着广告牌宣传他们的东西有多好。你不难发现在他们眼中什么才是最重要的。 </P>
<P>有意思的是这样的模式使Linux的用户群不断增长，Linux开始很渺小，后来却非常巨大。什么原因使Linux得到如此广泛的认同？原因是它一直将质量视为焦点。用户被Linux自由和质量所吸引，而这只有FOSS能够提供。Linux能够发展壮大正是因为它并不在乎自己有多大。开发者们仅仅关注如何使它工作得更好，于是他们吸引了那些想要一个能工作得更好的操作系统的用户。 </P>
<P>如果突然把这一切都抛弃，相反让Linux去关注如何替代Windows，那就等于抹杀了Linux赖以成功的要素。有些公司已经看到了Linux成长潜力，希望从中掘出宝藏。但GPL成为了他们的障碍，他们无法把Linux买出Microsoft的价。“<I>Linux如果还坚持开源的话那肯定长不了，</I>”他们说，“<I>因为没人能这样赚钱的。</I>” <I></I></P>
<P>他们没有意识到把Linux变为私有软件是杀鸡取卵的短视行为。正因为Linux是FOSS，也没有人想用它去替代Windows，Linux才能发展到今天的规模。Linux繁荣的原因恰恰在于它在与Windows的竞争中选择了一条Microsoft永远无法对抗的阵线：开放和质量。 </P>
<P>对于大多数Windows来说，Linux只是一个劣质的Windows摹仿品，它看上去功能不够丰富、集成度差还特别复杂。对于这些用户来说， Linux是个很差的操作系统。的确是这样：Linux没有满足他们的需求。他们需要的是一个简单易用的操作系统，不用任何学习就能上手。 </P>
<P>Windows是设计给非技术人员使用的，他们普遍感到Linux很难用。尽管情况不是这样，但这种误解还是可以理解的。 </P>
<P>事实上Linux很容易使用，真的非常非常易用。那为什么他们都不这么看呢？因为“<I>易用</I>”一词含义被严重的扭曲了，“<I>易用</I>”现在被理解为“<I>在没有预先学习的情况下用起来也很容易</I>”。但那真的不是“<I>易用</I>”的含义，而是“<I>易懂</I>”。其区别就如同： </P>
<UL>
<LI>一个保险箱，上面有一张纸条写道：“<I>如需开此保险箱，请先把播盘播到32，然后到64，然后到18，然后到9，最后拧动钥匙，同时向上提起把手即可。</I>” </LI></UL>
<P>和 </P>
<UL>
<LI>一辆小汽车，只要按动摇控器上的“开锁”按钮就能打开车门。 </LI></UL>
<P>开车锁相比要容易得多，对吧？只要靠近汽车，一个按钮就能搞定，不像保险箱还得精确的来回转动播盘。然而，对于两种锁都不会开的人来说开保险箱锁要比开车锁容易：保险箱上写有清楚的打开方法，而开车门的按钮<I>甚至都没有装在车上</I>。 </P>
<P><B>会</B>者不难。Linux也是这样，它很易<B>用</B>，但是<B>学</B>起来辛苦，只有当你愿意投入时间去学习Linux时你才能发现它为什么简单。不可避免，你越是把任务分解为简单的步骤，完成这个任务所需的步骤就越多。 </P>
<P>让我随便来举一个简单的例子：把文本中的五行（段）从中间移到尾部。 </P>
<P>如果用微软的Word、写字板、记事本等等“用户友好”的Windows文本编辑器，最快的办法是： <BR>- Ctrl-Shift-Down <BR>- Ctrl-Shift-Down <BR>- Ctrl-Shift-Down <BR>- Ctrl-Shift-Down <BR>- Ctrl-Shift-Down <BR>- Ctrl-X <BR>- Ctrl-End <BR>- Ctrl-V </P>
<P style="TEXT-ALIGN: center">(这里假设你使用键盘操作。不然，你需要好几步鼠标托拽操作和可靠的自动滚屏。) </P>
<P>在vi里只需如此： <BR>- d5d <BR>- Shift-g <BR>- p </P>
<P>论“<I>用户友好</I>”性，vi可谓要多差有多差，但它完成同一操作所需的击键次数却比微软的软件少。为什么？因为Vi注重于<I>功能</I>，而微软更注重“<I>用户友好</I>”。微软把所有事情都分解为简单步骤，所以完成同样的任务要花多得多的步骤。 </P>
<P>这使得不论是什么样的文本编辑任务，一旦你学会使用，相比之下vi都更加高效、易用。如果你不知道“<I>d5d</I>”的意思是“<I>将五行文本放入缓冲，然后将其从文档中删除</I>”，那么可能你用起vi来就会感到很痛苦。但如果你已经知道了，那用它起来就是随心所欲了。 </P>
<P>所以当一个新手看到有经验的vi用户可以如此快速、方便的做事时，他自然会很容易得出结论：编辑文本，vi要比Word强。然后他自己去尝试，运行vi，看到的是满屏的~s，打字，什么反应也没有。 </P>
<P>后来他弄明白了文字录入和命令模式，接着就想用vi做事。然而对vi过于有限的知识依旧使他步履维艰，在他能真正掌握vi之前还有太多的东西要去学习。然后他开始报怨：“<I>vi如果能像Word那样易用就好了。</I>” </P>
<P>但实际的问题是：“<I>我不知道怎么用vi，学起来太麻烦了。</I>”这是他自己的问题，他在指责自己的问题而不是软件的。 有成千上万的人乐意于使用vi，他们从没报怨过说：它太难用了，必须改！ </P>
<P>请相信我，如果他能写出一个软件既像Word那样“<I>用户友好</I>”又像vi那样功能强大，那他一定能赢得无数掌声。事实上，他应该还能赢得诺贝尔极度智慧奖，因为目前还根本没有其它人能做到这一点。但他如果仅仅是诉苦vi太难用，那只会遭到嘲笑，因为vi没问题，问题在他自己。 </P><A href="http://ars.userfriendly.org/cartoons/?id=19980506"><IMG src="http://www.ubuntu.org.cn/include/pebkac.gif"></A><BR><A href="http://www.userfriendly.org/">转至 UserFriendly.org</A> 版权所有 © 2004 J.D. "Illiad" Frazer.<BR>
<DIV align=left>（译者： <BR>图1，左：你有没有给Niffle先生打电话，关于他的连接问题？右：有。 <BR>图2，左：那分析结果是？右：经典PEBKAC问题。 <BR>图3，左：PEBKAC？右：键盘和椅子之间存在的问题。） <BR><BR></DIV>
<P>这就像买了达芬奇的画笔然后报怨自己还是不会画画。画家的技巧才是成就名作的关键，画笔本身创作不了蒙娜丽莎，它只是一个依赖使用者技巧的工具。而这种技巧必须通过练习才能获得。 </P>
<P>vi正是如此，很多Linux软件也一样。一些新手总是报怨这些文本编辑器、包管理器或者命令行本身太复杂、太不够直观。 </P>
<P>在你坚持Linux某些东西必须修改之前，请问自己这样一个问题：“<I>那些老手们是不是也有同样的意见呢？</I>” </P>
<P>如果答案是“<I>不</I>”，那问题在你自己这一边。如果其它人都能很好的使用，你为什么就不行呢？你有没有花时间去学呢？或者你是否打心底里就没有想去尝试呢？ </P>
<P>“<I>用户友好</I>”和“<I>底层的功能性</I>”常常是矛盾的。那些小按钮和下拉菜单确实能使软件变得易于使用，但对有经验的用户来说它们却可能是麻烦。这就如同拿着地图和指南针从A走到B，与看着路标走的区别一样：谁都会跟者路标走，但这会比知道如何直接过去的人多走一倍的距离。 </P>
<P><IMG src="http://www.ubuntu.org.cn/include/map.png"></P>
<P>（译者：蓝色线条：“简单”路径；红色线条：直接路径）</P>
<P>如果我想在Excel中粘贴公式的值，我只能通过菜单选择：<I>编辑-&gt;选择性粘贴-&gt;粘贴数值</I>。我不<B>想</B>在这些“<I>友好</I>”的菜单、子菜单和对话框中选来选去，我就想直接<B>完成</B>。老实说，如果重设快捷键，再记录一些宏，我完全可以通过键盘来指挥Excel和Word做绝大部分的事。 </P>
<P>但这就不是用户友好了，对不对？它还是需要用户投入大量时间来研究这个软件。Linux要求你花时间学习如何使用现成的功能，而“<I>用户友好</I>”的软件却要你花时间自己<B>创造</B>功能。 </P>
<P>如果你喜欢这样，没问题，你就这样做好了。只是你应当看到：问题出在<B>你自己的知识水平</B>上，而不是软件本身。一旦知道如何使用，所有的Linux软件都超级好用。但如果你不知道，那它就显得很难使，这并<B>不是</B>软件的错。 </P>
<P>现在也许你开始觉得Linux有点态度问题。它不想要用户，它不想让自己的用户感到方便……它只是给那些自命不凡的l33t h4xx0r5用的！（译者：l33t h4xx0r5又可写作leet haxxors，指不受电脑系统权限所约束、对自己的电脑技巧极有自信的人，通常指黑客） </P>
<P>这完全脱离事实。Linux当然想要用户，它当然不想让事情变得困难。正相反：按照Linux的定义，难用的软件就是垃圾软件。 </P>
<P>但是你要知道，它的定义可能和你的不同，也和“传统”的私有软件的定义不同。 </P>
<P>Linux想要那些<B>真正需要Linux的</B>用户。这不仅是说需要一个名头，而是所有的东西：自由、开源的软件；自己修补软件的能力；坐上驾驶座的感觉，一切尽在掌握。 </P>
<P><B>这</B>才是Linux，这才是Linux关注的。人们因为讨厌病毒、讨厌蓝屏、讨厌间谍软件而转去用Linux也是可以理解的。但这些人并不需要Linux，他们只想要一个没有那么多毛病的Windows。他们不要Linux，那Linux凭什么一定要<B>他们</B>呢？ </P>
<P>但如果他们因为病毒和间谍软件而去<B>尝试</B>Linux，然后<B>慢慢</B>接受了Linux的理念并开始被Linux自身的特点所吸引，继而想要使用它，此时Linux也想要他们。 </P>
<P>在你决定转而使用Linux之前，问问自己“我为什么要转？” </P>
<P>如果答案是“<I>我想要一个能赋予用户所有的权力操作系统，我明白它要求用户必须学习使用。</I>”：那就选Linux。也许你要付出很多时间和努力才能达到你想要的高度，但最终你能得到一台完全按照你的想法工作的电脑。 </P>
<P><B>但是. . .</B><B> </B></P>
<P>如果答案是“<I>我想要个没那些毛病的Windows</I>”：那么安装一套干净的Windows XP SP2；设好防火墙；安好杀毒软件；永远不要用IE浏览网页；经常更新；每次装完软件都重启；还要多了解安全方面的知识。我自己从Windows 3.1用到95、98、NT和XP，<B>从来没有</B>中过病毒和间谍软件，也没被黑过。Windows<B>可以</B>很安全、很稳定，但是只有<B>你</B>花力气维护它才行。 </P>
<P>如果答案是“<I>我想要个没毛病的Windows替代品</I>”：那买一台苹果Mac。我听说OS X的Tiger版很棒，苹果机器的外观也很漂亮。也许你为此要花钱买一台新的机器，但你能获得你想要的东西。 </P>
<P>这两种情况下，都<B>不要</B>去尝试使用Linux。你会对Linux的软件和社区感到失望的。<B>Linux不是Windows</B>。 </P></DIV>
<DIV id=relatedItems></DIV>
<DIV class=discussion></DIV></DIV></DIV></TD>
<TD id=portal-column-two>
<DIV class=visualPadding>
<DL class=portlet id=portlet-navigation-tree>
<DT class=portletHeader><A href="http://www.ubuntu.org.cn/sitemap">导航</A> 
<DD class=portletItemSingle>
<UL class="portletNavigationTree navTreeLevel0">
<LI class=navTreeItem>
<DIV class=contenttype-plone-site><A class=visualIconPadding title="Ubuntu Linux 中文支持站点" href="http://www.ubuntu.org.cn/">首页 </A></DIV>
<LI class="navTreeItem visualNoMarker">
<DIV class=contenttype-folder><A class=" state-published visualIconPadding" title="" href="http://www.ubuntu.org.cn/ubuntu">关于Ubuntu</A> </DIV>
<LI class="navTreeItem visualNoMarker">
<DIV class=contenttype-folder><A class=" state-published visualIconPadding" title=欢迎加入Ubuntu社区，在这里您可以通过多种方式来获得帮助，以使您的Ubuntu更适合您的需要。 href="http://www.ubuntu.org.cn/community">社区</A> </DIV>
<LI class="navTreeItem visualNoMarker">
<DIV class=contenttype-folder><A class=" state-published visualIconPadding" title="Ubuntu专业支持有多种途径: 社区, Canonical 股份有限公司 和 其它组织, 还可以通过开放的论坛,邮件列表和IRC频道与开发人员直接交流." href="http://www.ubuntu.org.cn/support">支持</A> </DIV>
<LI class="navTreeItem visualNoMarker">
<DIV class=contenttype-folder><A class=" state-published visualIconPadding" title="" href="http://www.ubuntu.org.cn/partners">合作</A> </DIV>
<LI class="navTreeItem visualNoMarker">
<DIV class=contenttype-folder><A class=" state-published visualIconPadding" title="" href="http://www.ubuntu.org.cn/download">下载中心</A> </DIV>
<LI class="navTreeItem visualNoMarker">
<DIV class=contenttype-folder><A class=" state-published visualIconPadding" title="Ubuntu 安装和缺省应用程序抓图" href="http://www.ubuntu.org.cn/screenshots">屏幕抓图</A> </DIV>
<LI class="navTreeItem visualNoMarker">
<DIV class=contenttype-folder><A class=" state-published visualIconPadding" title="" href="http://www.ubuntu.org.cn/kubuntu">kubuntu</A> </DIV>
<LI class="navTreeItem visualNoMarker">
<DIV class=contenttype-document><A class=" state-published visualIconPadding" title="（CNET09/30美西电）一般而言，新发行一款Linux操作系统，而且还能有广大的追随者，并不是件容易的事。但Ubuntu的开发者却做到了。&#13;&#10;" href="http://www.ubuntu.org.cn/niche">Ubuntu的世界</A> </DIV>
<LI class="navTreeItem visualNoMarker">
<DIV class=contenttype-document><A class=" state-published visualIconPadding" title="许多人们为了 Ubuntu 项目捐赠资金 - 非常感谢！你的支持帮助我们加快了对于 Ubuntu 的改进工作。" href="http://www.ubuntu.org.cn/donations">捐赠</A> </DIV>
<LI class="navTreeItem visualNoMarker">
<DIV class=contenttype-document><A class=" state-published visualIconPadding" title=常用问答整理 href="http://www.ubuntu.org.cn/guide">新手指南</A> </DIV>
<LI class="navTreeItem visualNoMarker">
<DIV class=contenttype-document><A class=" state-published visualIconPadding" title=一些比较常用的链接 href="http://www.ubuntu.org.cn/link">常用链接</A> </DIV>
<LI class="navTreeItem visualNoMarker">
<DIV class=contenttype-document><A class=" state-published visualIconPadding" title="" href="http://www.ubuntu.org.cn/spread">Ubuntu推广</A> </DIV>
<LI class="navTreeItem visualNoMarker">
<DIV class=contenttype-document><A class=" state-published navTreeCurrentItem visualIconPadding" title="以下的文章中，当我提到GNU/Linux操作系统和种种的FOSS（译者：自由和开源软件）项目时我都会用一个统一的名称Linux来代替，这样看起来好些。 " href="http://www.ubuntu.org.cn/lnw">Linux不是Windows </A></DIV></LI></UL></DD></DL>
<DIV>
<DL class=portlet id=portlet-news>
<DT class=portletHeader><A href="http://www.ubuntu.org.cn/news">新闻</A> 
<DD class="portletItem odd"><A title="上个礼拜在德国的法兰克福举举行Linux World Expo上Ubuntu和它的创始人Mark Shuttleworth都在Linux新媒体奖上获得殊荣。 " href="http://www.ubuntu.org.cn/newsfolder/newmedia"><IMG title=News height=16 alt="" src="http://www.ubuntu.org.cn/newsitem_icon.gif" width=16> Ubuntu和它的创始人Mark Shuttleworth赢得新的奖项。 <SPAN class=portletItemDetails>2006-01-05</SPAN> </A>
<DD class="portletItem even"><A title=圣诞节快乐！ href="http://www.ubuntu.org.cn/newsfolder/merry"><IMG title=News height=16 alt="" src="http://www.ubuntu.org.cn/newsitem_icon.gif" width=16> 祝大家圣诞快乐！ <SPAN class=portletItemDetails>2005-12-24</SPAN> </A>
<DD class="portletItem odd"><A title="这就是Dapper Drake──Dapper的预发布版。" href="http://www.ubuntu.org.cn/newsfolder/FlightCD1"><IMG title=News height=16 alt="" src="http://www.ubuntu.org.cn/newsitem_icon.gif" width=16> Flight CD 1 发布了 <SPAN class=portletItemDetails>2005-11-25</SPAN> </A>
<DD class="portletItem even"><A title="2005年11月9日伦敦消息：Ubuntu通过了IBM的“Ready for IBM DB2 Software for Linux”认证，这标志着Ubuntu已经进入了企业计算领域。 " href="http://www.ubuntu.org.cn/newsfolder/db2cert"><IMG title=News height=16 alt="" src="http://www.ubuntu.org.cn/newsitem_icon.gif" width=16> Ubuntu 通过 IBM's DB2 认证 <SPAN class=portletItemDetails>2005-11-09</SPAN> </A>
<DD class="portletItem odd"><A title="伦敦，2005年10月18日：广为流行的Ubuntu操作系统正变得越来越强大，在全球各地赢得了一个又一个最佳Linux发行版的奖项。这次，Linux Journal的读者们把Ubuntu选为最喜欢的Linux发行版。" href="http://www.ubuntu.org.cn/newsfolder/ubuntu8d625f97linux-journal8bfb8005900962e95956"><IMG title=News height=16 alt="" src="http://www.ubuntu.org.cn/newsitem_icon.gif" width=16> Ubuntu赢得Linux Journal读者选择奖 <SPAN class=portletItemDetails>2005-10-20</SPAN> </A>
<DD class=portletFooter><A href="http://www.ubuntu.org.cn/news">更多新闻</A> </DD></DL></DIV>&nbsp; </DIV></TD></TR></TBODY></TABLE>
<DIV class=visualClear><!-- --></DIV>
<HR class=netscape4>

<DIV id=portal-footer>© <SPAN>2006</SPAN> <A href="http://www.ubuntu.org.cn/">Ubuntu中文.</A> Ubuntu是Canonical公司的注册商标 <A href="http://www.ubuntu.org.cn/include/Legalese">法律声明</A> <BR>除特别注明外，本站点的所有文档都基于 <A href="http://www.gnu.org/licenses/fdl.html">GNU自由文档协议</A> 许可证 <A href="http://www.ubuntu.org.cn/include/disclaimers">免责声明</A> 
<P><A href="http://www.miibeian.gov.cn/">粤ICP备05074692号</A><BR><BR>原文：<A href="http://www.ubuntu.org.cn/lnw">http://www.ubuntu.org.cn/lnw</A></P></DIV></DIV></UL></DIV></DIV></DIV><img src ="http://www.cnitblog.com/xlmo/aggbug/6097.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/xlmo/" target="_blank">xlmo</a> 2006-01-09 16:10 <a href="http://www.cnitblog.com/xlmo/archive/2006/01/09/6097.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]10 things you should know about every Linux installation</title><link>http://www.cnitblog.com/xlmo/archive/2006/01/07/6069.html</link><dc:creator>xlmo</dc:creator><author>xlmo</author><pubDate>Sat, 07 Jan 2006 03:50:00 GMT</pubDate><guid>http://www.cnitblog.com/xlmo/archive/2006/01/07/6069.html</guid><wfw:comment>http://www.cnitblog.com/xlmo/comments/6069.html</wfw:comment><comments>http://www.cnitblog.com/xlmo/archive/2006/01/07/6069.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/xlmo/comments/commentRss/6069.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/xlmo/services/trackbacks/6069.html</trackback:ping><description><![CDATA[<H1>10 things you should know about every Linux installation</H1>
<P></P><FONT class=section>November 18, 2005 <BR></FONT><BR><BR>
<TABLE cellSpacing=0 cellPadding=0 width=533 border=0>
<TBODY>
<TR>
<TD><IMG height=5 src="http://techrepublic.com.com/i/tr/spacer.gif" width=1> </TD></TR>
<TR>
<TD><FONT class=contentTextBold><STRONG>Update - Today: </STRONG>&nbsp; </FONT><FONT class=contentTextBold>This article is also available as a TechRepublic <A href="http://techrepublic.com.com/5138-10877-5960924.html" target=_blank>download</A>. </FONT></TD>
<TD><IMG height=15 src="http://techrepublic.com.com/i/tr/spacer.gif" width=1> </TD></TR></TBODY></TABLE>
<P>
<TABLE cellSpacing=0 cellPadding=0 width=533 border=0>
<TBODY>
<TR>
<TD><FONT class=contentTextBold><STRONG>Takeaway:</STRONG></FONT> <BR><FONT class=contentText>There are numerous common features with every Linux installation. This document lists 10 of the more important ones you should know about. </FONT></TD></TR></TBODY></TABLE>
<DIV align=center></DIV><BR><FONT class=contentText><BR>
<P><B>By Jeffrey G. Thomas</B></P>
<P><A href="http://techrepublic.com.com/5138-1035-728754.html" target=_blank>Linux</A> is not Windows, and although there are some similarities, you must realize that there may be a few "new ways of doing things" to learn before you can be comfortable in Linux. Linux is an open-source clone of UNIX, a secure operating system (OS) that predates DOS and Windows and is designed for multiple users. The items in the following list generally apply to any UNIX-based *nix system, such as Linux and the various BSD's. For the purposes of this article, assume that it's all Linux.</SPAN></P>
<H2>Here are the 10 things to know</H2>
<P><B><I>Editor's note:</I></B><I> As part of a recent <A href="http://techrepublic.com.com/5261-1-0.html?query=soapbox" target=_blank>IT Soapbox</A>blog post I asked Linux users and evangelists in the TechRepublic community to step up to the plate and take a crack at producing some informative articles and downloads on the Linux operating system. This document is just one of the submissions inspired by that challenge. Just click the <A href="http://techrepublic.com.com/5264-1-0.html?query=linux%20challenge" target=_blank>Linux challenge</A> tag to track other published submissions stemming from this grass roots project.</SPAN></I></P>
<H3>1. File hierarchy</H3><BR>
<P>Unlike some other OS's that have a file tree for each drive, the Linux file system is one big tree. At the top you have <I>/</I> (Root) and every folder, file, and drive branches off of this Root.</P>
<P>For example, say that you have two hard drives (named <I>a and</I><I> b</I>), one floppy drive, and one CD-ROM. Let's say that the first hard drive has two partitions (named <I>a1 and a2</I>). In Windows, it would look like this:</P><SPAN class=code>+ hard drive a, partition one (hda1): C Drive<BR>+ hda2: D Drive<BR>+ hdb1: E Drive<BR>+ floppy: A drive<BR>+ CD-ROM: F Drive</SPAN> 
<P>In Linux, you have one file system, not the five listed in the Windows example. Each drive is <I>mounted</I> onto the tree and acts just like a folder. The drives could be placed like this:</P><SPAN class=code>+ hda1: / (our Root)<BR>+ hda2: /home<BR>+ hdb1: /home/user/music<BR>+ floppy: /mnt/floppy<BR>+ CD-ROM: /mnt/cdrom</SPAN> 
<P>Our D Drive and E Drive are attached within our C Drive and there is no need to go to the top to switch drives; the switching happens seamlessly as we move from one folder to another. The same is true with our Floppy and CD-ROM: they are just attached under <I>/mnt</I> as part of the one file system. These drives, in reality, can be attached almost anywhere in a Linux system, depending on how the installation (or user) set up the <I>/etc/fstab</I> file, which tells the computer where things get attached and how to handle them. See <B>Figure A</B>.</P>
<CENTER>
<TABLE>
<TBODY>
<TR>
<TD align=middle>
<P><B>Figure A</B></P></TD></TR>
<TR>
<TD align=middle><IMG height=507 src="http://techrepublic.com.com/i/tr/downloads/images/mk/10_things_linux_filesystems.jpg" width=547></TD></TR>
<TR>
<TD align=middle><SMALL>File structure</SMALL></TD></TR></TBODY></TABLE></CENTER>
<H3>2. Modular system</H3><BR>
<P>Think about the guts of Windows XP, Win2k, Win98, Win95, and Apple OS X. Each has different components inside and a different graphical look. What if you wanted the Media Player in XP, the File Manager in 98, the stability of Win2k, and the look of OS X all in one unit? In Linux, each aspect of the system is independent, so you can mix and match parts to make your very own Frankenstein OS. You can choose from a variety of programs to run as your firewall, another to play media, yet another to run your File Manager. </P>
<P>Unlike the "tower" OS's from Microsoft, where everything is interconnected and depends on each aspect of the system, the Linux OS is spread out like a Market: everything works together for the common good, but vendors (independent parts of the OS) can be excluded, and the OS will still function. Don't want a Media Player or File Manager? Take it out! Your OS will not fall like a broken tower.</P>
<P>This modularity is the reason for so many distributions of Linux (commonly called distros); any person or company can mix and match the programs they find most useful and slap a name on that collection. <A href="http://www.redhat.com/" target=_blank>RedHat</A>, <A href="http://www.xandros.com/" target=_blank>Xandros</A>, <A href="http://www.mepis.org/" target=_blank>SimplyMEPIS</A>, and <A href="http://www.novell.com/linux/suse/" target=_blank>Suse</A> are all examples of distros.</SPAN></P>
<P>Some of the larger distros have copycats that use their settings, but change the included programs. This is the Linux way, and the mix-and-match approach gives users more choice in the long run. <A href="http://distrowatch.com/" target=_blank>DistroWatch.com</A> currently lists over 350 distributions of Linux. Many on the list are specialized to serve a specific group of people, but all can be altered to run the same programs.</SPAN></P>
<P>Because programs are interchangeable, the Graphical User Interface (GUI) is no exception. GUI's give you the look and feel of a modern OS with the mouse, program icons, menus, etc. Any Linux system (well, one that is running on a real computer, not a phone) can run one of many different GUI's, just like it can run many web browsers or different email client programs. </P>
<P>Want your system to look like Windows? Use FVWM with the XP theme. Want it to be fast? Try IceWM. Want it to be more "full featured"?; try GNOME or KDE. All of these GUI's have benefits and drawbacks, but they all present the user with an interface that can be manipulated with a mouse. Although this may result in every Linux screen looking different, all of the GUI's are still doing the same behind-the-scenes work for you; just use your eyes and often it is not hard at all.</P>
<H3>3. Hardware, software, and everything in between</H3><BR>
<P>Linux has come a long way in the few short years of its existence. It is less than half the age of Microsoft Windows, and yet it is more powerful, more stable, less resource-hungry, and graphically equal (if not superior) to this costly, buggy OS from Redmond.</P>
<P>One thing that Linux doesn't yet have going for it is vendor support. If you really like Intuit's QuickBooks, for example, you cannot natively run it in Linux. There are projects to make Windows programs run in Linux, such as <A href="http://www.codeweavers.com/" target=_blank>CrossOver Office</A> and Wine, but these work with varying success, depending on the Windows program. Until software companies decide to port their programs to Linux, you will not be able to run them natively.</SPAN></P>
<P>Not all is lost, however. Open Source software has upward of 15,000 of programs that run natively in Linux. Because these programs are (usually) free of charge, they vary in quality, but the majority of programs are wonderfully written and constantly improved. These programs can import and export non-native file types as well. <A href="http://www.gnucash.org/" target=_blank>GNUCash</A> can read those Quickbooks files just fine, and OpenOffice.org can read MSWord *.doc files. If you dislike GNUCash, don't despair. There are other similar programs also available for free, and more and more software companies are releasing Linux versions of their software.</SPAN></P>
<P>These same issues apply to hardware. Just as you cannot expect just any piece of hardware off the shelf to work with an Apple computer, the same can be said for Linux machines. Most standard hardware works perfectly; hard drives, RAM, flash drives, motherboards, NIC's, and digital cameras usually have little trouble under Linux. Newer, cutting edge hardware is a different story. Until hardware vendors choose to support Linux, the drivers needed to work these pieces of hardware must be written by the Linux community for free and in the community members' spare time.</P>
<P>Therefore, there is a lag behind Windows support since hardware companies often work directly with Microsoft to ensure compatibility, and tend to let Linux volunteers figure out the Linux hardware support on their own. Laptops are notorious for their non-standard hardware; it can be a challenge to map special keys in Linux. The good news here is that vendor support for Linux hardware, like software, is changing for the better as more and more companies see their future in Linux.</P>
<P>Everything in between the hardware and the software in a Linux machine is the kernel. This kernel is what connects the hardware to the software, and an updated kernel is made available via Internet every few weeks; the most current is 2.6.14. If you have hardware that isn't currently supported, there is a chance that a newer kernel could help you out. Installing this kernel yourself isn't always easy, however; that's where Package Managers come into play.</P>
<H3>4. Package Managers - Program installation made easy(er)</H3><BR>
<P>There are many ways to install programs in Linux, but the easiest is with your distribution's Package Manager (PM). The PM makes sure that any missing files (called dependencies) are also installed so the program runs correctly. Choosing a distribution often comes down to which type of PM you like, but any Linux software can be installed on different distributions if you can find the corresponding Package.</P>
<P>These PM's usually have an on-line repository for their programs. Installing an application is as easy as searching through the program repository and clicking Install. Can't find <I>IceWM</I> or <I>MPlayer</I> in your Package Manager's list? There is always a way to add a new on-line repository that will have what you are looking for. Some examples of Package Managers include Synaptic (based on dpkg and Apt) for Debian (and derivatives); Yum for RedHat (and derivatives); YaST2 for SuSE (and derivatives); and Emerge for Gentoo.</P>
<H3>5. Permissions</H3><BR>
<P>Linux is designed to have multiple users, and these users fall into groups. Every user has permissions to read, write, or execute (R/W/X) their own files, and permission to change those permissions. Because Linux is designed for multiple users, each user has their own password and may restrict access to their files. These are called User Permissions.</P>
<P>Each user belongs to one or more groups, and a user can set their file/folder permissions so that others in the group can read but not write the files, or any other combination of R/W/X. These are Group permissions. For example, Joe and Susan are both in Accounting. They can allow the Accounting group access to each other's files, but they can restrict that access from those in the Sales group.</P>
<P>The <I>Others</I> permissions can allow or deny access to these files for anyone outside the Group. These permissions are for the safety of the overall system, as well as for each user's data. Most home users are fine to leave the default permissions alone on their files. (See <B>Figure B</B>)</P>
<CENTER>
<TABLE>
<TBODY>
<TR>
<TD align=middle>
<P><B>Figure B</B></P></TD></TR>
<TR>
<TD align=middle><IMG src="http://techrepublic.com.com/i/tr/downloads/images/mk/10_things_linux_permissions.jpg"></TD></TR>
<TR>
<TD align=middle><SMALL>Permissions</SMALL></TD></TR></TBODY></TABLE></CENTER>
<P>The Root user (not to be confused with the / Root of a file system), as the Administrator, has rights to all files and is the only user who can alter system-wide settings. The Root user has their own password, which is used for system maintenance. This distinction prevents a regular user from installing harmful spy ware on the system or deleting important files.</P>
<H3>6. Home directory</H3><BR>
<P>Windows has My Documents, but where do you put files that aren't documents? Usually on the Windows Desktop! Linux can clutter the desktop too, but each of our users also has a Home directory, usually located at <I>/home/user</I>. Within that Home directory you often have Documents (<I>/home/user/documents</I>), program links, music (<I>/home/user/Music</I>), or whatever we want. We can create files and folders here, and organize or disorganize them as much as we want, just like it was our own personal Home. Depending on how our permissions are set, we can allow or prevent any other user access to these files (except the Root user).</P>
<H3>7. Default installation differences</H3><BR>
<P>There are a few differences between Linux distributions, such as where some files are kept or what some of the default programs are named. Just knowing that the file system might be a bit different between RedHat and SuSE is a great start. Most users don't need to know what those differences are, but they should be aware that the internal file systems can be a bit different. When asking for help, make sure to let others know which distribution you are running. If you don't have troubles in your system or don't care to set up complex behind-the-scenes operations, don't worry too much about this.</P>
<H3>8. CLI, or "how to run"</H3><BR>
<P>From the Start-type menu, the <I>xterm</I> program (also called Console) brings you to a Terminal, which looks a bit like a DOS window, but it actually predates and out-powers DOS. This is the Command Line Interface (CLI), the origin of our favorite OS which is present in every Linux distribution. We won't get into the finer details, which can fill books, but the CLI a powerful tool often needed to troubleshoot your computer. If you ask for help on the Internet and someone asks you to <I>run lspci</I>, they want you to start <I>xterm</I><I>, type lspci, hit enter</I>, and then provide the screen's response.</P>
<P>When you start an <I>xterm</I>, you are your regular user-self with limited powers. To get into Root User mode (see Permissions above) in an <I>xterm</I>, <I>type su [enter]</I>, then type the Root password <I>[enter]</I>. Now you have a lot of power so be nice. The Root user can destroy anyone's data, including the system files needed to run Linux. To leave an <I>xterm</I> or <I>su</I> mode, type <I>exit [enter]</I>.</P>
<H3>9. Ctrl-alt-escape</H3><BR>
<P>Clicking the ctrl-alt-escape key combination changes your mouse into an X, skull-and-crossbones, or some other sinister mouse-cursor. In this mode, clicking on a misbehaving or frozen application will <I>kill</I> it. It is similar to the End Process in Windows Task Manager, but use with care. If you don't want to kill anything, use the Esc key to back out of kill mode. Clicking on the wrong program (including the desktop GUI) can cause a serious headache.</P>
<H3>10. The Internet is your friend!</H3><BR>
<P>Many distros have a User's Forum where questions, answers, and tips are passed around. <A href="http://www.linuxquestions.org/" target=_blank>LinuxQuestions.org</A> is a great site for overall Linux knowledge and help. Remember, before posting questions on any forum, research your questions (both at LQ and on Google) to avoid asking about an issue that may already be solved. Also, check the age of any solution that you find, as old answers may no longer apply to this fast-changing world of Open Source software. When asking a question, be sure to include as much (applicable) information as you can about your system, such as:</SPAN></P>
<UL type=disc>
<LI>The processor type (Intel or AMD or Apple PPC?) 
<LI>Your distribution (SuSE? Debian?) 
<LI>The program with which you're having trouble, and 
<LI>Any other relevant information. </LI></UL>
<H2>Keep an open mind</H2>
<P>Linux and open-source software have made leaps and bounds in the last few years, but for users coming from the closed world of Windows, the internal workings of Linux may seem foreign. An open mind and a willingness to share knowledge helps the Linux community grow, and we welcome you to our ranks.</P></FONT><img src ="http://www.cnitblog.com/xlmo/aggbug/6069.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/xlmo/" target="_blank">xlmo</a> 2006-01-07 11:50 <a href="http://www.cnitblog.com/xlmo/archive/2006/01/07/6069.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Installed Gentoo</title><link>http://www.cnitblog.com/xlmo/archive/2006/01/06/6048.html</link><dc:creator>xlmo</dc:creator><author>xlmo</author><pubDate>Fri, 06 Jan 2006 06:37:00 GMT</pubDate><guid>http://www.cnitblog.com/xlmo/archive/2006/01/06/6048.html</guid><wfw:comment>http://www.cnitblog.com/xlmo/comments/6048.html</wfw:comment><comments>http://www.cnitblog.com/xlmo/archive/2006/01/06/6048.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/xlmo/comments/commentRss/6048.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/xlmo/services/trackbacks/6048.html</trackback:ping><description><![CDATA[<P>&nbsp;&nbsp;&nbsp;2天，终于装好了基本系统。。&nbsp;<BR>&nbsp;&nbsp;&nbsp;目前正在配置X以及AMP。<BR>&nbsp;&nbsp;&nbsp;全部完成后再将安装笔记贴上来。<BR><BR><BR>&nbsp; 有点受不了了。。。&nbsp;&nbsp;&nbsp;&nbsp; <BR><BR>&nbsp;&nbsp; 还是用Debian算了。。。</P><img src ="http://www.cnitblog.com/xlmo/aggbug/6048.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/xlmo/" target="_blank">xlmo</a> 2006-01-06 14:37 <a href="http://www.cnitblog.com/xlmo/archive/2006/01/06/6048.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转贴]圣斗士与文凭</title><link>http://www.cnitblog.com/xlmo/archive/2005/12/26/5787.html</link><dc:creator>xlmo</dc:creator><author>xlmo</author><pubDate>Mon, 26 Dec 2005 02:45:00 GMT</pubDate><guid>http://www.cnitblog.com/xlmo/archive/2005/12/26/5787.html</guid><wfw:comment>http://www.cnitblog.com/xlmo/comments/5787.html</wfw:comment><comments>http://www.cnitblog.com/xlmo/archive/2005/12/26/5787.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/xlmo/comments/commentRss/5787.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/xlmo/services/trackbacks/5787.html</trackback:ping><description><![CDATA[　文凭就像圣衣，博士是黄金，硕士是白银，大学是普通的青铜，大专也就是黑暗圣斗士。
外国回来的是海斗士、冥斗士，看着唬人，一开始或平时打起来，有天壤之别，级别差远
了，但到了关键时刻，还是看小宇宙，人的素质，我青铜的要是一急，领悟了第七感，什
么黄金斗士都不照。要赶上个局长瞅我顺眼，我就沾了雅典娜的血，那青铜也变神圣衣，
N个黄金也白给，外国货也不在话下；可要遇上本身是神的转世：海皇什么的，那就再努力也
没戏，比如他是谁谁的儿子，不用练也永远比我强大的多，只有更高级别的神才能灭他。<img src ="http://www.cnitblog.com/xlmo/aggbug/5787.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/xlmo/" target="_blank">xlmo</a> 2005-12-26 10:45 <a href="http://www.cnitblog.com/xlmo/archive/2005/12/26/5787.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>为什么PHP在Windows上的性能要比在linux或unix下性能低？</title><link>http://www.cnitblog.com/xlmo/archive/2005/12/26/5786.html</link><dc:creator>xlmo</dc:creator><author>xlmo</author><pubDate>Mon, 26 Dec 2005 01:15:00 GMT</pubDate><guid>http://www.cnitblog.com/xlmo/archive/2005/12/26/5786.html</guid><wfw:comment>http://www.cnitblog.com/xlmo/comments/5786.html</wfw:comment><comments>http://www.cnitblog.com/xlmo/archive/2005/12/26/5786.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnitblog.com/xlmo/comments/commentRss/5786.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/xlmo/services/trackbacks/5786.html</trackback:ping><description><![CDATA[<font color="blue">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在phpchina上有朋友谈到了这个问题，由于对这个问题一直也不太清楚，所以就转一下资料。<br><br></font>
The Challenge - PHP on Windows<br><br>
尽管PHP是一个多平台语言,在Windows上运行PHP还是一个挑战。这是因为PHP是基于UNIX平台开发的，每个请求由一个不同的进程来处理。然
而在Windows平台下面,同一类型的请求是由同一进程的不同线程来处理的。这个区别意味运行着PHP的IIS的频繁崩溃。进一步来说,对这一问题的唯
一的解决方案就是把PHP运行在外部方式下(CGI)。最终导致PHP性能的降低。<br><br><p class="title7">Multi-threading:</p>
			            <p class="hp2">
PHP was originally written for a multi-process environment (Apache) and
is therefore most commonly used with the popular LAMP (Linux, Apache,
MySQL, PHP) platform. Under Windows, things work differently. Literally
all of the Web Servers under Windows, including IIS and Apache, are
multi-threaded, which means that a single process handles all
concurrent clients. For PHP to run properly under a multithreaded
server, it must be designed with Thread Safety in mind. Failure to do
so will cause instability and may often result in unexpected crashes.
To make things worse, a crash in a multithreaded environment will
typically cause the entire Web Server to go down, as opposed to
multi-process environment, where a typical crash will only affect one
request and can generally go unnoticed. <br><br>
Up until today, the only way to prevent PHP crashes on Windows was to
run PHP as an external process to the Web Server via CGI. </p><br><p class="title7">CGI:</p>
			            <p class="hp2"> CGI stands
for "Common Gateway Interface". CGI is a communication platform for a
Web Server to speak with Web Server applications such as PHP. CGI was
created as the standard interface for Web Server applications. Its main
benefits are simplicity, language independence and most importantly -
process isolation. This isolation prevents known bugs in PHP from
crashing the Web Server. CGI also has some significant drawbacks -
mainly performance. The CGI mechanism involves huge overhead resulting
in poor performance caused by the initialization of a new PHP process
for each request, and then its shuts down when the request is done.</p><br><p class="hp2"><br></p><p class="title7">Native Web Server Modules:</p>
			            <p class="hp2">
In response to the performance problems of CGI, several vendors have
developed APIs for their servers. Well-known APIs are NSAPI from
Netscape and ISAPI from Microsoft. The APIs enable PHP to run in the
server process, which is persistent across all requests, saving
initialization overhead. APIs are naturally used when PHP is run on a
single process server, but that’s not the case for multi-threading
servers. While parts of PHP were rewritten to make it thread-safe, the
thread-safe version never matured to be as stable and as efficient as
the multi-process version. In a nutshell, the smallest bug in PHP, one
of its modules, or one of the 3rd party libraries that it uses, that
causes one thread to become corrupted, can infiltrate all server
threads and bring the entire server down. For that reason, implementing
PHP on Windows using a native server plug-in (whether IIS or Apache)
proved to be impractical, resulting in frequent, yet random crashes. </p><p class="hp2"> </p><img src ="http://www.cnitblog.com/xlmo/aggbug/5786.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/xlmo/" target="_blank">xlmo</a> 2005-12-26 09:15 <a href="http://www.cnitblog.com/xlmo/archive/2005/12/26/5786.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Discuz！免费!!!</title><link>http://www.cnitblog.com/xlmo/archive/2005/12/20/5621.html</link><dc:creator>xlmo</dc:creator><author>xlmo</author><pubDate>Tue, 20 Dec 2005 07:10:00 GMT</pubDate><guid>http://www.cnitblog.com/xlmo/archive/2005/12/20/5621.html</guid><wfw:comment>http://www.cnitblog.com/xlmo/comments/5621.html</wfw:comment><comments>http://www.cnitblog.com/xlmo/archive/2005/12/20/5621.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/xlmo/comments/commentRss/5621.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/xlmo/services/trackbacks/5621.html</trackback:ping><description><![CDATA[<STRONG><SPAN class=smalltxt><SPAN class=bold>蚂蚁雄兵 Discuz！免费计划全过程真实记录</SPAN></SPAN><BR><BR>&nbsp;<A href="http://www.discuz.net/viewthread.php?tid=205770&amp;extra=page%3D1">http://www.discuz.net/viewthread.php?tid=205770&amp;extra=page%3D1</A><BR></STRONG><SPAN style="FONT-SIZE: 9pt">蚂蚁雄兵 Discuz！免费计划全过程真实记录 <BR><BR><BR>有一种群体，姿态低调、行为朴素，不为人所知、不光鲜更不算主流，但却很可爱。<BR>有一种力量，行动机敏、单个势薄，但激情累加却能影响至远，这就是蚂蚁雄兵。<BR>2005年12月12日凌晨零点，当成千上万站长在线等待<A href="http://www.discuz.net/viewthread.php?tid=200006&amp;extra=page%3D1" target=_blank><FONT color=#003366>Discuz！披露重大决定</FONT></A>的时刻，我个人第一次真切感受到站长的可爱、以及蚂蚁雄兵的真正含义。<BR><BR><FONT size=3><B>凌晨披露重大决定</B></B></FONT><BR><BR>12日这一天零时，Discuz！宣布了创建四周年以来的一个最重大决定，所有版本的Discuz！社区软件产品将从2006年1月1日起彻底免费。同时，公司发布《<A href="http://www.discuz.net/viewthread.php?tid=200857&amp;extra=page%3D1" target=_blank><FONT color=#003366>创始人新年寄语</FONT></A>》和《<A href="http://www.discuz.net/viewthread.php?tid=201053&amp;extra=page%3D1" target=_blank><FONT color=#003366>Discuz！宣言</FONT></A>》，启动业务策略调整，将从一个软件产品提供商转型为一个以服务为中心的社区软件技术及增值服务提供商。<BR>尤其令站长们高兴的是，从当夜12日零点起至月底31日，所有站长只要参加由Discuz!发起的<A href="http://www.discuz.net/site/2005vote/" target=_blank><FONT color=#003366>第一届社区BBS发展状况调查</FONT></A>，即可提前免费体验到最新版本的Discuz! 4.0软件！我们清晰地记得，当时在Discuz！官方网站（Discuz.net）有至少4000位（半小时内）站长熬夜同时在线，等待消息或准备进行下载。<BR>我们看到，在我们宣布免费决定之后，相关主题帖子在最初的几分钟内，几乎是以每秒一帖的回复速度在增加，<A href="http://www.discuz.net/" target=_blank><FONT color=#003366>Discuz.net</FONT></A>官方论坛的各个版块，瞬间淹没在了幸福的洪“水”之中。<BR>相应地，在一些站长类网站、技术类论坛、站长QQ群内，也迅速填满了各种讨论和免费消息的转载，一些长期支持和热爱Discuz！产品的站长奔走相告，传达这一圣诞及新年来临前的首个重大喜讯！<BR>在著名的站长社区<A href="http://www.im286.com/" target=_blank><FONT color=#003366>落伍者网站（im286.com）</FONT></A>站内，短短几个小时，出现了成百上千的主题帖，欢庆和讨论关于Discuz！的决定。（附录：下载来自<A href="http://www.supsite.net/lms/1.txt" target=_blank><FONT color=#003366>im286的讨论1</FONT></A>、<A href="http://www.supsite.net/lms/2.txt" target=_blank><FONT color=#003366>讨论2</FONT></A>、<A href="http://www.supsite.net/lms/3.txt" target=_blank><FONT color=#003366>讨论3</FONT></A>）<BR>与此同时，在凌晨零时至一点钟的一个小时内，我们接连审批了将近1000个来自站长的调查反馈数据，非常火爆！此前，我们曾想过在元旦正式免费计划发布前的将近20天内，先审批发送1111套（正好代表四周年之意），以表一下纪念！没想到，消息和活动刚刚宣布，就会出现这么多激情的站长，并且在这么短的时间内，对Discuz！的免费计划给予如此大的信赖和支持！<BR>带着兴奋和感动，我们一直加班审批到了凌晨，为了不影响白天继续正常工作，我们直到早上5点才睡觉，暂时停止当天的体验申请审批！<BR><BR><FONT size=3><B>免费深得人心&nbsp;&nbsp;</B>站长激情支持</B></B></FONT><BR><BR>在站长的激情之下，12日中午12时，提交申请并获得审批的站长数目就远远超出了我们的本来预期（1111套），最终，有<A href="http://www.discuz.net/announcement.php?id=106#106" target=_blank><FONT color=#003366>3000份Discuz! 4.0.0源码版本</FONT></A>在此间进行了派送。<BR>而截止目前，我们的统计发现，从宣布免费体验计划到现在，Discuz！4.0已获得了数万份下载！而认真提交调查选项，获得官方授权审批的站长，数字也已经上万。<BR>回忆起来，这一个过程真是非常之兴奋，非常之有意义！也间接地证明了我们的决策是正确的，深得人心的。<BR>起初，由于Discuz！拥有大量门户级（如搜狐、金山、IT168等）客户，在社区BBS软件中，也一直以身份高端著称。所以，很多人无法相信Discuz！会宣布免费，至少，也不会成为第一个实施全面免费的社区软件品牌。<BR>故，当不少站长看到Discuz！第一个吃螃蟹，宣布成为国内第一家宣布免费的BBS软件产品提供商时，感到了极大的“意外”。某些站长甚至用“地震”一词来感叹Discuz！的免费举措。<BR>也正因为如此，当Discuz！公布免费计划的宣传方案之时，才获得了业界和站长们的高度响应和支持！五天来，据我们的不完全统计，<A href="http://www.discuz.net/viewthread.php?tid=201148" target=_blank><FONT color=#003366>加入Discuz!免费支持计划</FONT></A>的各类网站已达到了<A href="http://www.discuz.net/site/2005vote/" target=_blank><FONT color=#003366>280多家</FONT></A>!而Discuz！免费计划的消息，则早已从官方站和几个站长站，传向了技术圈和更多的网友之中。<BR>我们希望，通过这次免费行动，让所有有志于建设网站、服务网民的社区站长，真正彻底地用的起最好的社区软件！不花一分钱获得最好的社区技术系统！<BR>而通过首届社区BBS发展现状调查，则让我们更清楚地了解了站长的需求和难题，以便于Discuz！更好地开发和完善下一步的后续版本和产品！<BR><BR><FONT size=3><B>再次感谢可爱的站长</B></B></FONT><BR><BR>我们不知道怎么感谢站长的厚爱！虽然，文章开头最顶端的两句话看上去有一点点矫情，但却很真实。之所以这么说，是因为我们一直密切地关注着站长们对Discuz！免费行动的每一个意见，每一个帖子，每一个站内消息，以及每一个Email！<BR>事实上，这个感谢从上周五晚上（9号）我们发布那个<A href="http://www.discuz.net/viewthread.php?tid=200006&amp;extra=page%3D1&amp;page=1" target=_blank><FONT color=#003366>重大决定预告</FONT></A>时就有了。<BR>那时，一些热情的站长就在Discuz！官方社区上猜开了，有人说“要出新版本了”，有人说要“改行做CMS了”，“有人说会降价促销”，还有人说“Discuz！要搞并购”等等，不一而足。<BR>其中，一些善意的网友还把我们即将宣布的决定称作“<A href="http://www.discuz.net/viewthread.php?tid=200006&amp;extra=page%3D1&amp;page=13" target=_blank><FONT color=#003366>双十二事件</FONT></A>”。把我们的这个举动都联系到了当年著名的“西安事变”去了，让我们又喜又羞。其实，这是一个天然的发布时间的偶然巧合，我们之所以决定选择在12月12日，是因为当天恰好是周一，便于那些刚离开休息状态的站长，有足够的精力来关注。<BR>而一些抬举我这是“<A href="http://www.discuz.net/viewthread.php?tid=201155" target=_blank><FONT color=#003366>新官上任第一把火</FONT></A>”的网友，其实是误会了Discuz！的本意，以及曲解了Discuz！不为短期利益所动、愿长期为站长、为社区事业服务的志向。因为，Discuz！软件产品的免费行动以及《<A href="http://www.discuz.net/viewthread.php?tid=201053&amp;extra=page%3D1" target=_blank><FONT color=#003366>Discuz！宣言</FONT></A>》不是短期内所做的草率决定，更不是战术性的市场营销手法，而是长期的庄重的彻底免费承诺！这不是哪个人的短期意志所能转移的！<BR>正如Discuz！创始人戴志康在新年<A href="http://www.discuz.net/viewthread.php?tid=200857&amp;extra=page%3D1" target=_blank><FONT color=#003366>寄语</FONT></A>中说，这是长期的一个想法，并且是“在条件成熟的时候，作出的大的改变”！<BR>最后，再次感谢可爱的站长，感谢您们支持Discuz!<BR>周末愉快！<BR><BR><BR>2005年12月16日星期五<BR>李明顺</SPAN> <img src ="http://www.cnitblog.com/xlmo/aggbug/5621.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/xlmo/" target="_blank">xlmo</a> 2005-12-20 15:10 <a href="http://www.cnitblog.com/xlmo/archive/2005/12/20/5621.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>体验xhtml+CSS2</title><link>http://www.cnitblog.com/xlmo/archive/2005/12/19/5599.html</link><dc:creator>xlmo</dc:creator><author>xlmo</author><pubDate>Mon, 19 Dec 2005 14:34:00 GMT</pubDate><guid>http://www.cnitblog.com/xlmo/archive/2005/12/19/5599.html</guid><wfw:comment>http://www.cnitblog.com/xlmo/comments/5599.html</wfw:comment><comments>http://www.cnitblog.com/xlmo/archive/2005/12/19/5599.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/xlmo/comments/commentRss/5599.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/xlmo/services/trackbacks/5599.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;想知道一下XHTML+CSS2的威力吗？去这里体验一下就知道了：<A href="http://www.flashempire.com/csser/index.php" target=_blank><FONT face=Verdana>http://www.flashempire.com/csser/index.php</FONT></A><img src ="http://www.cnitblog.com/xlmo/aggbug/5599.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/xlmo/" target="_blank">xlmo</a> 2005-12-19 22:34 <a href="http://www.cnitblog.com/xlmo/archive/2005/12/19/5599.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]MIME TYPE 大全</title><link>http://www.cnitblog.com/xlmo/archive/2005/12/19/5595.html</link><dc:creator>xlmo</dc:creator><author>xlmo</author><pubDate>Mon, 19 Dec 2005 12:06:00 GMT</pubDate><guid>http://www.cnitblog.com/xlmo/archive/2005/12/19/5595.html</guid><wfw:comment>http://www.cnitblog.com/xlmo/comments/5595.html</wfw:comment><comments>http://www.cnitblog.com/xlmo/archive/2005/12/19/5595.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/xlmo/comments/commentRss/5595.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/xlmo/services/trackbacks/5595.html</trackback:ping><description><![CDATA[<SPAN id=zoom>&nbsp; 
<H2 class=diaryTitle>MIME TYPE 大全- -</H2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 出处：<A href="http://www.phpwap.cn/index.php?action=articleContent&amp;articleId=16">http://www.phpwap.cn/index.php?action=articleContent&amp;articleId=16</A>
<P>
<TABLE cellSpacing=1 cellPadding=0 border=0>
<TBODY>
<TR>
<TD>
<DIV><B>Mime-Typ</B></DIV></TD>
<TD>
<DIV><B>Dateiendung(en)</B></DIV></TD>
<TD>
<DIV><B>Bedeutung</B></DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/acad</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.dwg</DIV></TD>
<TD vAlign=top>
<DIV>AutoCAD-Dateien (nach NCSA)</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/applefile</DIV></TD>
<TD vAlign=top noWrap>
<DIV></DIV></TD>
<TD vAlign=top>
<DIV>AppleFile-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/astound</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.asd *.asn</DIV></TD>
<TD vAlign=top>
<DIV>Astound-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/dsptype</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.tsp</DIV></TD>
<TD vAlign=top>
<DIV>TSP-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/dxf</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.dxf</DIV></TD>
<TD vAlign=top>
<DIV>AutoCAD-Dateien (nach CERN)</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/futuresplash</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.spl</DIV></TD>
<TD vAlign=top>
<DIV>Flash Futuresplash-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/gzip</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.gz</DIV></TD>
<TD vAlign=top>
<DIV>GNU Zip-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/listenup</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.ptlk</DIV></TD>
<TD vAlign=top>
<DIV>Listenup-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/mac-binhex40</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.hqx</DIV></TD>
<TD vAlign=top>
<DIV>Macintosh Binär-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/mbedlet</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.mbd</DIV></TD>
<TD vAlign=top>
<DIV>Mbedlet-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/mif</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.mif</DIV></TD>
<TD vAlign=top>
<DIV>FrameMaker Interchange Format Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/msexcel</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.xls *.xla</DIV></TD>
<TD vAlign=top>
<DIV>Microsoft Excel Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/mshelp</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.hlp *.chm</DIV></TD>
<TD vAlign=top>
<DIV>Microsoft Windows Hilfe Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/mspowerpoint</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.ppt *.ppz *.pps *.pot</DIV></TD>
<TD vAlign=top>
<DIV>Microsoft Powerpoint Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/msword</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.doc *.dot</DIV></TD>
<TD vAlign=top>
<DIV>Microsoft Word Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/octet-stream</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.bin *.exe *.com *.dll *.class</DIV></TD>
<TD vAlign=top>
<DIV>Ausführbare Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/oda</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.oda</DIV></TD>
<TD vAlign=top>
<DIV>Oda-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/pdf</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.pdf</DIV></TD>
<TD vAlign=top>
<DIV>Adobe PDF-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/postscript</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.ai *.eps *.ps</DIV></TD>
<TD vAlign=top>
<DIV>Adobe Postscript-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/rtc</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.rtc</DIV></TD>
<TD vAlign=top>
<DIV>RTC-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/rtf</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.rtf</DIV></TD>
<TD vAlign=top>
<DIV>Microsoft RTF-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/studiom</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.smp</DIV></TD>
<TD vAlign=top>
<DIV>Studiom-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/toolbook</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.tbk</DIV></TD>
<TD vAlign=top>
<DIV>Toolbook-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/vocaltec-media-desc</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.vmd</DIV></TD>
<TD vAlign=top>
<DIV>Vocaltec Mediadesc-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/vocaltec-media-file</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.vmf</DIV></TD>
<TD vAlign=top>
<DIV>Vocaltec Media-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-bcpio</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.bcpio</DIV></TD>
<TD vAlign=top>
<DIV>BCPIO-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-compress</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.z</DIV></TD>
<TD vAlign=top>
<DIV>-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-cpio</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.cpio</DIV></TD>
<TD vAlign=top>
<DIV>CPIO-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-csh</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.csh</DIV></TD>
<TD vAlign=top>
<DIV>C-Shellscript-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-director</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.dcr *.dir *.dxr</DIV></TD>
<TD vAlign=top>
<DIV>-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-dvi</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.dvi</DIV></TD>
<TD vAlign=top>
<DIV>DVI-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-envoy</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.evy</DIV></TD>
<TD vAlign=top>
<DIV>Envoy-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-gtar</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.gtar</DIV></TD>
<TD vAlign=top>
<DIV>GNU tar-Archiv-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-hdf</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.hdf</DIV></TD>
<TD vAlign=top>
<DIV>HDF-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-httpd-php</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.php *.phtml</DIV></TD>
<TD vAlign=top>
<DIV>PHP-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-javascript</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.js</DIV></TD>
<TD vAlign=top>
<DIV>serverseitige JavaScript-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-latex</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.latex</DIV></TD>
<TD vAlign=top>
<DIV>Latex-Quelldateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-macbinary</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.bin</DIV></TD>
<TD vAlign=top>
<DIV>Macintosh Binärdateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-mif</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.mif</DIV></TD>
<TD vAlign=top>
<DIV>FrameMaker Interchange Format Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-netcdf</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.nc *.cdf</DIV></TD>
<TD vAlign=top>
<DIV>Unidata CDF-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-nschat</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.nsc</DIV></TD>
<TD vAlign=top>
<DIV>NS Chat-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-sh</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.sh</DIV></TD>
<TD vAlign=top>
<DIV>Bourne Shellscript-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-shar</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.shar</DIV></TD>
<TD vAlign=top>
<DIV>Shell-Archiv-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-shockwave-flash</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.swf *.cab</DIV></TD>
<TD vAlign=top>
<DIV>Flash Shockwave-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-sprite</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.spr *.sprite</DIV></TD>
<TD vAlign=top>
<DIV>Sprite-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-stuffit</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.sit</DIV></TD>
<TD vAlign=top>
<DIV>Stuffit-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-supercard</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.sca</DIV></TD>
<TD vAlign=top>
<DIV>Supercard-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-sv4cpio</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.sv4cpio</DIV></TD>
<TD vAlign=top>
<DIV>CPIO-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-sv4crc</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.sv4crc</DIV></TD>
<TD vAlign=top>
<DIV>CPIO-Dateien mit CRC</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-tar</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.tar</DIV></TD>
<TD vAlign=top>
<DIV>tar-Archivdateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-tcl</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.tcl</DIV></TD>
<TD vAlign=top>
<DIV>TCL Scriptdateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-tex</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.tex</DIV></TD>
<TD vAlign=top>
<DIV>TEX-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-texinfo</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.texinfo *.texi</DIV></TD>
<TD vAlign=top>
<DIV>TEXinfo-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-troff</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.t *.tr *.roff</DIV></TD>
<TD vAlign=top>
<DIV>TROFF-Dateien (Unix)</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-troff-man</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.man *.troff</DIV></TD>
<TD vAlign=top>
<DIV>TROFF-Dateien mit MAN-Makros (Unix)</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-troff-me</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.me *.troff</DIV></TD>
<TD vAlign=top>
<DIV>TROFF-Dateien mit ME-Makros (Unix)</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-troff-ms</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.me *.troff</DIV></TD>
<TD vAlign=top>
<DIV>TROFF-Dateien mit MS-Makros (Unix)</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-ustar</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.ustar</DIV></TD>
<TD vAlign=top>
<DIV>tar-Archivdateien (Posix)</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-wais-source</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.src</DIV></TD>
<TD vAlign=top>
<DIV>WAIS Quelldateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/x-www-form-urlencoded</DIV></TD>
<TD vAlign=top noWrap>
<DIV></DIV></TD>
<TD vAlign=top>
<DIV>HTML-Formulardaten an CGI</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/zip</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.zip</DIV></TD>
<TD vAlign=top>
<DIV>ZIP-Archivdateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>audio/basic</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.au *.snd</DIV></TD>
<TD vAlign=top>
<DIV>Sound-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>audio/echospeech</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.es</DIV></TD>
<TD vAlign=top>
<DIV>Echospeed-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>audio/tsplayer</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.tsi</DIV></TD>
<TD vAlign=top>
<DIV>TS-Player-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>audio/voxware</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.vox</DIV></TD>
<TD vAlign=top>
<DIV>Vox-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>audio/x-aiff</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.aif *.aiff *.aifc</DIV></TD>
<TD vAlign=top>
<DIV>AIFF-Sound-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>audio/x-dspeeh</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.dus *.cht</DIV></TD>
<TD vAlign=top>
<DIV>Sprachdateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>audio/x-midi</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.mid *.midi</DIV></TD>
<TD vAlign=top>
<DIV>MIDI-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>audio/x-mpeg</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.mp2</DIV></TD>
<TD vAlign=top>
<DIV>MPEG-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>audio/x-pn-realaudio</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.ram *.ra</DIV></TD>
<TD vAlign=top>
<DIV>RealAudio-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>audio/x-pn-realaudio-plugin</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.rpm</DIV></TD>
<TD vAlign=top>
<DIV>RealAudio-Plugin-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>audio/x-qt-stream</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.stream</DIV></TD>
<TD vAlign=top>
<DIV>-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>audio/x-wav</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.wav</DIV></TD>
<TD vAlign=top>
<DIV>Wav-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>drawing/x-dwf</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.dwf</DIV></TD>
<TD vAlign=top>
<DIV>Drawing-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>image/cis-cod</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.cod</DIV></TD>
<TD vAlign=top>
<DIV>CIS-Cod-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>image/cmu-raster</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.ras</DIV></TD>
<TD vAlign=top>
<DIV>CMU-Raster-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>image/fif</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.fif</DIV></TD>
<TD vAlign=top>
<DIV>FIF-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>image/gif</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.gif</DIV></TD>
<TD vAlign=top>
<DIV>GIF-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>image/ief</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.ief</DIV></TD>
<TD vAlign=top>
<DIV>IEF-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>image/jpeg</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.jpeg *.jpg *.jpe</DIV></TD>
<TD vAlign=top>
<DIV>JPEG-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>image/tiff</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.tiff *.tif</DIV></TD>
<TD vAlign=top>
<DIV>TIFF-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>image/vasa</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.mcf</DIV></TD>
<TD vAlign=top>
<DIV>Vasa-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>image/vnd.wap.wbmp</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.wbmp</DIV></TD>
<TD vAlign=top>
<DIV>Bitmap-Dateien (WAP)</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>image/x-freehand</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.fh4 *.fh5 *.fhc</DIV></TD>
<TD vAlign=top>
<DIV>Freehand-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>image/x-portable-anymap</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.pnm</DIV></TD>
<TD vAlign=top>
<DIV>PBM Anymap Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>image/x-portable-bitmap</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.pbm</DIV></TD>
<TD vAlign=top>
<DIV>PBM Bitmap Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>image/x-portable-graymap</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.pgm</DIV></TD>
<TD vAlign=top>
<DIV>PBM Graymap Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>image/x-portable-pixmap</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.ppm</DIV></TD>
<TD vAlign=top>
<DIV>PBM Pixmap Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>image/x-rgb</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.rgb</DIV></TD>
<TD vAlign=top>
<DIV>RGB-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>image/x-windowdump</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.xwd</DIV></TD>
<TD vAlign=top>
<DIV>X-Windows Dump</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>image/x-xbitmap</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.xbm</DIV></TD>
<TD vAlign=top>
<DIV>XBM-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>image/x-xpixmap</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.xpm</DIV></TD>
<TD vAlign=top>
<DIV>XPM-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>message/external-body</DIV></TD>
<TD vAlign=top noWrap>
<DIV></DIV></TD>
<TD vAlign=top>
<DIV>Nachricht mit externem Inhalt</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>message/http</DIV></TD>
<TD vAlign=top noWrap>
<DIV></DIV></TD>
<TD vAlign=top>
<DIV>HTTP-Headernachricht</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>message/news</DIV></TD>
<TD vAlign=top noWrap>
<DIV></DIV></TD>
<TD vAlign=top>
<DIV>Newsgroup-Nachricht</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>message/partial</DIV></TD>
<TD vAlign=top noWrap>
<DIV></DIV></TD>
<TD vAlign=top>
<DIV>Nachricht mit Teilinhalt</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>message/rfc822</DIV></TD>
<TD vAlign=top noWrap>
<DIV></DIV></TD>
<TD vAlign=top>
<DIV>Nachricht nach RFC 1822</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>model/vrml</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.wrl</DIV></TD>
<TD vAlign=top>
<DIV>Visualisierung virtueller Welten</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>multipart/alternative</DIV></TD>
<TD vAlign=top noWrap>
<DIV></DIV></TD>
<TD vAlign=top>
<DIV>mehrteilige Daten gemischt</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>multipart/byteranges</DIV></TD>
<TD vAlign=top noWrap>
<DIV></DIV></TD>
<TD vAlign=top>
<DIV>mehrteilige Daten mit Byte-Angaben</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>multipart/digest</DIV></TD>
<TD vAlign=top noWrap>
<DIV></DIV></TD>
<TD vAlign=top>
<DIV>mehrteilige Daten / Auswahl</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>multipart/encrypted</DIV></TD>
<TD vAlign=top noWrap>
<DIV></DIV></TD>
<TD vAlign=top>
<DIV>mehrteilige Daten verschlüsselt</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>multipart/form-data</DIV></TD>
<TD vAlign=top noWrap>
<DIV></DIV></TD>
<TD vAlign=top>
<DIV>mehrteilige Daten aus HTML-Formular (z.B. File-Upload)</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>multipart/mixed</DIV></TD>
<TD vAlign=top noWrap>
<DIV></DIV></TD>
<TD vAlign=top>
<DIV>mehrteilige Daten gemischt</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>multipart/parallel</DIV></TD>
<TD vAlign=top noWrap>
<DIV></DIV></TD>
<TD vAlign=top>
<DIV>mehrteilige Daten parallel</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>multipart/related</DIV></TD>
<TD vAlign=top noWrap>
<DIV></DIV></TD>
<TD vAlign=top>
<DIV>mehrteilige Daten / verbunden</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>multipart/report</DIV></TD>
<TD vAlign=top noWrap>
<DIV></DIV></TD>
<TD vAlign=top>
<DIV>mehrteilige Daten / Bericht</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>multipart/signed</DIV></TD>
<TD vAlign=top noWrap>
<DIV></DIV></TD>
<TD vAlign=top>
<DIV>mehrteilige Daten / bezeichnet</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>multipart/voice-message</DIV></TD>
<TD vAlign=top noWrap>
<DIV></DIV></TD>
<TD vAlign=top>
<DIV>mehrteilige Daten / Sprachnachricht</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>text/comma-separated-values</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.csv</DIV></TD>
<TD vAlign=top>
<DIV>komma-separierte Datendateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>text/css</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.css</DIV></TD>
<TD vAlign=top>
<DIV>CSS Stylesheet-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>text/html</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.htm *.html *.shtml</DIV></TD>
<TD vAlign=top>
<DIV>-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>text/javascript</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.js</DIV></TD>
<TD vAlign=top>
<DIV>JavaScript-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>text/plain</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.txt</DIV></TD>
<TD vAlign=top>
<DIV>reine Textdateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>text/richtext</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.rtx</DIV></TD>
<TD vAlign=top>
<DIV>Richtext-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>text/rtf</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.rtf</DIV></TD>
<TD vAlign=top>
<DIV>Microsoft RTF-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>text/tab-separated-values</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.tsv</DIV></TD>
<TD vAlign=top>
<DIV>tabulator-separierte Datendateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>text/vnd.wap.wml</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.wml</DIV></TD>
<TD vAlign=top>
<DIV>WML-Dateien (WAP)</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/vnd.wap.wmlc</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.wmlc</DIV></TD>
<TD vAlign=top>
<DIV>WMLC-Dateien (WAP)</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>text/vnd.wap.wmlscript</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.wmls</DIV></TD>
<TD vAlign=top>
<DIV>WML-Scriptdateien (WAP)</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>application/vnd.wap.wmlscriptc</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.wmlsc</DIV></TD>
<TD vAlign=top>
<DIV>WML-Script-C-dateien (WAP)</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>text/xml-external-parsed-entity</DIV></TD>
<TD vAlign=top noWrap>
<DIV></DIV></TD>
<TD vAlign=top>
<DIV>extern geparste XML-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>text/x-setext</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.etx</DIV></TD>
<TD vAlign=top>
<DIV>SeText-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>text/x-sgml</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.sgm *.sgml</DIV></TD>
<TD vAlign=top>
<DIV>SGML-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>text/x-speech</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.talk *.spc</DIV></TD>
<TD vAlign=top>
<DIV>Speech-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>video/mpeg</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.mpeg *.mpg *.mpe</DIV></TD>
<TD vAlign=top>
<DIV>MPEG-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>video/quicktime</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.qt *.mov</DIV></TD>
<TD vAlign=top>
<DIV>Quicktime-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>video/vnd.vivo</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*viv *.vivo</DIV></TD>
<TD vAlign=top>
<DIV>Vivo-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>video/x-msvideo</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.avi</DIV></TD>
<TD vAlign=top>
<DIV>Microsoft AVI-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>video/x-sgi-movie</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.movie</DIV></TD>
<TD vAlign=top>
<DIV>Movie-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>workbook/formulaone</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.vts *.vtts</DIV></TD>
<TD vAlign=top>
<DIV>FormulaOne-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>x-world/x-3dmf</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.3dmf *.3dm *.qd3d *.qd3</DIV></TD>
<TD vAlign=top>
<DIV>3DMF-Dateien</DIV></TD></TR>
<TR>
<TD vAlign=top noWrap>
<DIV>x-world/x-vrml</DIV></TD>
<TD vAlign=top noWrap>
<DIV>*.wrl</DIV></TD>
<TD vAlign=top>
<DIV>VRML-Dateien</DIV></TD></TR></TBODY></TABLE></P></SPAN><img src ="http://www.cnitblog.com/xlmo/aggbug/5595.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/xlmo/" target="_blank">xlmo</a> 2005-12-19 20:06 <a href="http://www.cnitblog.com/xlmo/archive/2005/12/19/5595.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>不买《JOEL说软件》，要买《JOEL on Software》</title><link>http://www.cnitblog.com/xlmo/archive/2005/12/18/5561.html</link><dc:creator>xlmo</dc:creator><author>xlmo</author><pubDate>Sun, 18 Dec 2005 14:28:00 GMT</pubDate><guid>http://www.cnitblog.com/xlmo/archive/2005/12/18/5561.html</guid><wfw:comment>http://www.cnitblog.com/xlmo/comments/5561.html</wfw:comment><comments>http://www.cnitblog.com/xlmo/archive/2005/12/18/5561.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/xlmo/comments/commentRss/5561.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/xlmo/services/trackbacks/5561.html</trackback:ping><description><![CDATA[&nbsp; 刚才在dearbook上看到了一本叫《JOEL说软件》（<A href="http://www.dearbook.com.cn/book/ReviewDetail.aspx?RID=30228&amp;type=1&amp;page=1&amp;pno=TS0030228">http://www.dearbook.com.cn/book/ReviewDetail.aspx?RID=30228&amp;type=1&amp;page=1&amp;pno=TS0030228</A>）的书，看了目录感觉不错，打算有时间去买一本看看，可是当我看了几贴读者评论，再看了一下译者的一文《态度决定一切》（<A href="http://www.dearbook.com.cn/WebResource.aspx?id=731">http://www.dearbook.com.cn/WebResource.aspx?id=731</A>）后，我就有点不想买了，当我再看到了勘误表时，就彻底的打消了购买的打算。<BR>&nbsp; 我本来对网络书店上的读者评论总是看看而已，因为经过这么多次的购书经验，我发现不管是什么书，只要是翻译过来的，就都有人说什么“狗屁不通，不如看原版”之类的话，看了看他们所说的那本“狗屁不通”的书，觉得不是很糟糕（可能是我水平不够，看不出问题来吧），所以以后也就对这些评论不太在意了。<BR>&nbsp;&nbsp;&nbsp;可是这个勘误表却是另一回事了。翻译的书所出的勘误表应该就是对一些文字错误或排版错误的更正，可《JOEL说软件》却不是，以下是部分勘误：<BR><BR>
<TABLE style="WIDTH: 266pt; BORDER-COLLAPSE: collapse" cellSpacing=0 cellPadding=0 width=354 border=0 x:str>
<TBODY>
<TR style="HEIGHT: 12pt" height=16>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 30pt; BORDER-BOTTOM: #ece9d8; HEIGHT: 12pt; BACKGROUND-COLOR: transparent" width=40 height=16><FONT size=2>页码</FONT></TD>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 29pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=38><FONT size=2>段落</FONT></TD>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 100pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=133><FONT size=2>原译文</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 107pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=143><FONT size=2>应译为</FONT></TD></TR></TBODY></TABLE>
<TABLE style="WIDTH: 266pt; BORDER-COLLAPSE: collapse" cellSpacing=0 cellPadding=0 width=354 border=0 x:str>
<COLGROUP>
<COL style="WIDTH: 30pt; mso-width-source: userset; mso-width-alt: 1280" width=40>
<COL style="WIDTH: 29pt; mso-width-source: userset; mso-width-alt: 1216" width=38>
<COL style="WIDTH: 100pt; mso-width-source: userset; mso-width-alt: 4256" width=133>
<COL style="WIDTH: 107pt; mso-width-source: userset; mso-width-alt: 4576" width=143>
<TBODY>
<TR style="HEIGHT: 24pt" height=32>
<TD class=xl26 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 30pt; BORDER-BOTTOM: #ece9d8; HEIGHT: 24pt; BACKGROUND-COLOR: #ff6600" align=right width=40 height=32 x:num><FONT size=2>67</FONT></TD>
<TD class=xl26 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 29pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: #ff6600" align=right width=38 x:num><FONT size=2>6</FONT></TD>
<TD class=xl27 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 100pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: #ff6600" width=133><FONT size=2>阅读支离破碎的文件</FONT></TD>
<TD class=xl27 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 107pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: #ff6600" width=143><FONT size=2>Read The wawa file，应该是读取借贷文件</FONT></TD></TR>
<TR style="HEIGHT: 24pt" height=32>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; HEIGHT: 24pt; BACKGROUND-COLOR: transparent" align=right height=32 x:num><FONT size=2>69</FONT></TD>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align=right x:num><FONT size=2>2</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 100pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=133><FONT size=2>称为“Internet集成”的手动功能要实现</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 107pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=143><FONT size=2>名为“Internet集成”的高变化功能要实现</FONT></TD></TR>
<TR style="HEIGHT: 12pt" height=16>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; HEIGHT: 12pt; BACKGROUND-COLOR: transparent" align=right height=16 x:num><FONT size=2>70</FONT></TD>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align=right x:num><FONT size=2>5</FONT></TD>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent"><FONT size=2>回想一下所参与完成的最后一个项目</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 107pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=143><FONT size=2>回顾一下最近参与过的项目</FONT></TD></TR>
<TR style="HEIGHT: 12pt" height=16>
<TD class=xl26 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; HEIGHT: 12pt; BACKGROUND-COLOR: #ff6600" align=right height=16 x:num><FONT size=2>70</FONT></TD>
<TD class=xl26 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: #ff6600" align=right x:num><FONT size=2>6</FONT></TD>
<TD class=xl27 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 100pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: #ff6600" width=133><FONT size=2>还要花20小时</FONT></TD>
<TD class=xl27 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 107pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: #ff6600" width=143><FONT size=2>还要花10小时</FONT></TD></TR>
<TR style="HEIGHT: 24pt" height=32>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; HEIGHT: 24pt; BACKGROUND-COLOR: transparent" align=right height=32 x:num><FONT size=2>71</FONT></TD>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align=right x:num><FONT size=2>3</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 100pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=133><FONT size=2>要估计什么时候有所发现和修复故障是不可能</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 107pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=143><FONT size=2>什么时候能够发现缺陷、解决缺陷是不可预测的</FONT></TD></TR>
<TR style="HEIGHT: 12pt" height=16>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; HEIGHT: 12pt; BACKGROUND-COLOR: transparent" align=right height=16 x:num><FONT size=2>71</FONT></TD>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align=right x:num><FONT size=2>3</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 100pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=133><FONT size=2>什么时候可以启动产品</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 107pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=143><FONT size=2>什么时候可以交付产品</FONT></TD></TR>
<TR style="HEIGHT: 48pt" height=64>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; HEIGHT: 48pt; BACKGROUND-COLOR: transparent" align=right height=64 x:num><FONT size=2>73</FONT></TD>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align=right x:num><FONT size=2>1</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 100pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=133><FONT size=2>你也许暂时能够从程序员那里得到多于10%的原始代码，而代价则是让他们烧掉一整年的代码</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 107pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=143><FONT size=2>你可能能够暂时从程序员那里获得10%以上的额外源代码，而代价却是可能让其一整年的工作付诸东流</FONT></TD></TR>
<TR style="HEIGHT: 12pt" height=16>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; HEIGHT: 12pt; BACKGROUND-COLOR: transparent" align=right height=16 x:num><FONT size=2>73</FONT></TD>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align=right x:num><FONT size=2>2</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 100pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=133><FONT size=2>多于20%的原始代码</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 107pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=143><FONT size=2>20%以上的额外源代码</FONT></TD></TR>
<TR style="HEIGHT: 36pt" height=48>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; HEIGHT: 36pt; BACKGROUND-COLOR: transparent" align=right height=48 x:num><FONT size=2>73</FONT></TD>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align=right x:num><FONT size=2>3</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 100pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=133><FONT size=2>那么烦请把你公司的股票用电子邮件发给我，以便我能够将它购进来</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 107pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=143><FONT size=2>那么劳烦你发个邮件将你公司的股票代码告诉我，好让我能够买进你公司的股票</FONT></TD></TR>
<TR style="HEIGHT: 24pt" height=32>
<TD class=xl26 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; HEIGHT: 24pt; BACKGROUND-COLOR: #ff6600" align=right height=32 x:num><FONT size=2>73</FONT></TD>
<TD class=xl26 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: #ff6600" align=right x:num><FONT size=2>9</FONT></TD>
<TD class=xl27 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 100pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: #ff6600" width=133><FONT size=2>没有一种编辑范本的宏，如何能够进行下去呢？</FONT></TD>
<TD class=xl27 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 107pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: #ff6600" width=143><FONT size=2>如果没有宏编辑向导，怎么能够使用呢？</FONT></TD></TR>
<TR style="HEIGHT: 48pt" height=64>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; HEIGHT: 48pt; BACKGROUND-COLOR: transparent" align=right height=64 x:num><FONT size=2>75</FONT></TD>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align=right x:num><FONT size=2>1</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 100pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=133><FONT size=2>我们家正式在以色列报关了第一代IBM-PC。我们自己走到行李房去等我们的PC移交完成。</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 107pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=143><FONT size=2>我们家在以色列购买了第一代的IBM-PC。居然当我们的PC还在从港口运来的途中，就在仓库守候了</FONT></TD></TR>
<TR style="HEIGHT: 24pt" height=32>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; HEIGHT: 24pt; BACKGROUND-COLOR: transparent" align=right height=32 x:num><FONT size=2>75</FONT></TD>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align=right x:num><FONT size=2>1</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 100pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=133><FONT size=2>我认为我们得到了几乎每个可以获取的附件</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 107pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=143><FONT size=2>我想大概所有可能的选配件都到齐了</FONT></TD></TR>
<TR style="HEIGHT: 12pt" height=16>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; HEIGHT: 12pt; BACKGROUND-COLOR: transparent" align=right height=16 x:num><FONT size=2>75</FONT></TD>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align=right x:num><FONT size=2>2</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 100pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=133><FONT size=2>BASIC是一种需要编写面条型代码</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 107pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=143><FONT size=2>BASIC是代码像意大利面</FONT></TD></TR>
<TR style="HEIGHT: 36pt" height=48>
<TD class=xl26 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; HEIGHT: 36pt; BACKGROUND-COLOR: #ff6600" align=right height=48 x:num><FONT size=2>75</FONT></TD>
<TD class=xl26 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: #ff6600" align=right x:num><FONT size=2>3</FONT></TD>
<TD class=xl27 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 100pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: #ff6600" width=133><FONT size=2>当我试图编写一个不停地敲打我的长OTHELLO程序时</FONT></TD>
<TD class=xl27 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 107pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: #ff6600" width=143><FONT size=2>当我试图编写一个代码很长，能够打败我的优秀的奥塞罗程序时</FONT></TD></TR>
<TR style="HEIGHT: 36pt" height=48>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; HEIGHT: 36pt; BACKGROUND-COLOR: transparent" align=right height=48 x:num><FONT size=2>76</FONT></TD>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align=right x:num><FONT size=2>2</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 100pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=133><FONT size=2>这是Philippe Kahn购买与更名的Borland Turbo Pascal</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 107pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=143><FONT size=2>它后来被Philippe Kahn收购，并改名为Borland Turbo Pascal</FONT></TD></TR>
<TR style="HEIGHT: 24pt" height=32>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; HEIGHT: 24pt; BACKGROUND-COLOR: transparent" align=right height=32 x:num><FONT size=2>76</FONT></TD>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align=right x:num><FONT size=2>2</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 100pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=133><FONT size=2>只有它才运行在包括了文本编辑器的大约33KB的内存之中</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 107pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=143><FONT size=2>而它仅运行于大约33KB的内存中，还包括了文本编辑器</FONT></TD></TR>
<TR style="HEIGHT: 24pt" height=32>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; HEIGHT: 24pt; BACKGROUND-COLOR: transparent" align=right height=32 x:num><FONT size=2>76</FONT></TD>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align=right x:num><FONT size=2>4</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 100pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=133><FONT size=2>它描述了Lisp解释程序用什么来谋生</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 107pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=143><FONT size=2>它描述了Lisp解释程序的运转方式</FONT></TD></TR>
<TR style="HEIGHT: 24pt" height=32>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; HEIGHT: 24pt; BACKGROUND-COLOR: transparent" align=right height=32 x:num><FONT size=2>77</FONT></TD>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align=right x:num><FONT size=2>6</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 100pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=133><FONT size=2>时钟守护程序（UNIX)，或进度表服务程序（windows）</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 107pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=143><FONT size=2>cron进程（UNIX)，或“任务计划”程序（windows)</FONT></TD></TR>
<TR style="HEIGHT: 24pt" height=32>
<TD class=xl26 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; HEIGHT: 24pt; BACKGROUND-COLOR: #ff6600" align=right height=32 x:num><FONT size=2>78</FONT></TD>
<TD class=xl26 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: #ff6600" align=right x:num><FONT size=2>2</FONT></TD>
<TD class=xl27 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 100pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: #ff6600" width=133><FONT size=2>而不用在桌子上放一个OS/2盒子来一个个地测试</FONT></TD>
<TD class=xl27 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 107pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: #ff6600" width=143><FONT size=2>而不用在桌面上摆一台OS/2计算机来逐一测试</FONT></TD></TR>
<TR style="HEIGHT: 24pt" height=32>
<TD class=xl26 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; HEIGHT: 24pt; BACKGROUND-COLOR: #ff6600" align=right height=32 x:num><FONT size=2>82</FONT></TD>
<TD class=xl26 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: #ff6600" align=right x:num><FONT size=2>2</FONT></TD>
<TD class=xl27 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 100pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: #ff6600" width=133><FONT size=2>詹森是一位14岁的程序员</FONT></TD>
<TD class=xl27 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 107pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: #ff6600" width=143><FONT size=2>詹森是一位有14年从业经验的程序员</FONT></TD></TR>
<TR style="HEIGHT: 36pt" height=48>
<TD class=xl26 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; HEIGHT: 36pt; BACKGROUND-COLOR: #ff6600" align=right height=48 x:num><FONT size=2>82</FONT></TD>
<TD class=xl26 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: #ff6600" align=right x:num><FONT size=2>3</FONT></TD>
<TD class=xl27 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 100pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: #ff6600" width=133><FONT size=2>一个小得不能再小的故障使三明治一次的压碎时间要一小时左右</FONT></TD>
<TD class=xl27 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 107pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: #ff6600" width=143><FONT size=2>一个小得不能再小的故障使得每一个小时，就会压碎三明治一次</FONT></TD></TR>
<TR style="HEIGHT: 36pt" height=48>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; HEIGHT: 36pt; BACKGROUND-COLOR: transparent" align=right height=48 x:num><FONT size=2>82</FONT></TD>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align=right x:num><FONT size=2>5</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 100pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=133><FONT size=2>但它只发生在那些拥有OS/2***作系统与众所周知不使用大型文件的单一用户身上</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 107pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=143><FONT size=2>但只在一个使用OS/2***作系统，且不使用大型文件的客户身上会发生</FONT></TD></TR>
<TR style="HEIGHT: 24pt" height=32>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; HEIGHT: 24pt; BACKGROUND-COLOR: transparent" align=right height=32 x:num><FONT size=2>82</FONT></TD>
<TD class=xl24 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" align=right x:num><FONT size=2>8</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 100pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=133><FONT size=2>将所有故障局限在空闲的演示服务器上</FONT></TD>
<TD class=xl25 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 107pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent" width=143><FONT size=2>在空闲的演示服务器上设法重现缺陷</FONT></TD></TR>
<TR style="HEIGHT: 12pt" height=16>
<TD class=xl26 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; HEIGHT: 12pt; BACKGROUND-COLOR: #ff6600" align=right height=16 x:num><FONT size=2>87</FONT></TD>
<TD class=xl26 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: #ff6600" align=right x:num><FONT size=2>3</FONT></TD>
<TD class=xl27 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 100pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: #ff6600" width=133><FONT size=2>“程序开发异端学说”</FONT></TD>
<TD class=xl27 style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; WIDTH: 107pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: #ff6600" width=143><FONT size=2>极限编程</FONT></TD></TR></TBODY></TABLE><BR>看了之后大家还对这本翻译的书抱有什么希望吗。<BR>更让我惊讶的是，连勘误表都不是译者写的，而是：<BR>“<FONT face=宋体 color=#ff0000 size=4>对于这些评论，本书一位读者，著名软考专家徐锋老师在购买本书并认真看完后，写出了&lt;&lt;JOLE说软件&gt;&gt;一书的勘误表，发到了dearbook.徐锋老师花费两周的宝贵时间，为了能让大家得到方便来处理了本来不属于自己的工作，这样的负责精神实在让人敬佩。<FONT color=#000000>"<BR>对于那个译者，我除了鄙视还是鄙视。<BR>还是原版书好啊。<BR></FONT></FONT><img src ="http://www.cnitblog.com/xlmo/aggbug/5561.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/xlmo/" target="_blank">xlmo</a> 2005-12-18 22:28 <a href="http://www.cnitblog.com/xlmo/archive/2005/12/18/5561.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]101件 Mozilla 浏览器能而 IE 不能做的事</title><link>http://www.cnitblog.com/xlmo/archive/2005/12/16/5474.html</link><dc:creator>xlmo</dc:creator><author>xlmo</author><pubDate>Fri, 16 Dec 2005 12:37:00 GMT</pubDate><guid>http://www.cnitblog.com/xlmo/archive/2005/12/16/5474.html</guid><wfw:comment>http://www.cnitblog.com/xlmo/comments/5474.html</wfw:comment><comments>http://www.cnitblog.com/xlmo/archive/2005/12/16/5474.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/xlmo/comments/commentRss/5474.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/xlmo/services/trackbacks/5474.html</trackback:ping><description><![CDATA[<H1>101件 Mozilla 浏览器能而 IE 不能做的事</H1>
<DIV class=note>
<P>简体中文翻译：onestab 2004.02.01<BR>原文：<A class=ext href="http://www.xulplanet.com/ndeakin/arts/reasons.html">101 things that the Mozilla browser can do that IE cannot.</A></P>
<P>下面列出了 101 件在 Mozilla 浏览器 (版本 1.2) 上能做到，但 IE (版本 6.0) 上做不到的事。我使用 Windows 的 IE 6.0 测试；这份清单在 Mac 上会有稍有差异。</P>
<BLOCKQUOTE>
<P>关于如何选取这份清单项目的注释：</P>
<UL>
<LI>本清单只考虑由 Microsoft 提供的 IE 下载版本内的特性，它并没有包括其它附加软件的功能。如果我把这些功能也包含进来的话，那么为了确保比较的公正性，我势必要将 Mozilla 的附加软件也同时加到清单中。这会使得本清单无限制地增加长度，因此我并没有将这些地方列入考察。 
<LI>同样地，我并没有包含可借助修改登录资料或配置文件而产生的功能。IE 在修改了注册表键值后，确实可以激活一些功能。Mozilla 也有许多隐藏的设定。本清单都没有包含这些部份。 </LI></UL>
<P>本清单比较了 IE 6.0 和 Mozilla 1.2。</P>
<P>注意这并不应该做为一份“某个浏览器优于另一个浏览器”的清单。这只是一份 Mozilla 所拥有，但在 IE 上找不到的清单。你也许会感觉到清单上的某些项目甚至是个缺点。</P></BLOCKQUOTE>
<P><A class=ext href="http://www.xulplanet.com/ndeakin/arts/reasons-orig.html">Original Version</A> | <A class=ext href="http://www.naiandei.net/mozilla101">Spanish</A> | <A class=ext href="http://clx.anet.fr/spip/article.php3?id_article=158">French</A> | <A class=ext href="http://www.mozilla-anleitung.de/Mozilla/101Dinge.html">Germany</A> | <A class=ext href="http://open.dotmill.it/index.php?D=009f4d4ef52b3990b653f138262f0e86&amp;V=view">Italian</A> | <A class=ext href="http://www.mozillapl.org/101/">Polish</A> | <A class=ext href="http://www.mikeneko.ne.jp/~lab/web/documents/101thingsmozilla.html">Japanese</A></P>
<P>译注：Mozilla 的<SPAN class=moz>首选项</SPAN>位于<SPAN class=moz>编辑</SPAN>选单中，Firebird 则是<SPAN class=moz>工具</SPAN>/<SPAN class=moz>选项...</SPAN>。另外选单和功能的中文翻译我采用 Mozilla 1.6 简体中文化版本出现的名称。 关于图例：<SPAN class=ext>这种文字</SPAN>为外部链接， <SPAN class=moz>这种文字</SPAN> 为菜单或工具选项。 </P></DIV>
<OL>
<LI><SPAN class=heading>标签页浏览</SPAN> 可让你在同一个窗口中使用数个标签页来浏览一个以上的网站。你可以从<SPAN class=moz>文件</SPAN>选单的<SPAN class=moz>新建浏览器标签页</SPAN>来开启新的标签页 (或按下 Ctrl+T)。你也可以用鼠标右键来将链接开启在新标签页里。你可以在<SPAN class=moz>首选项</SPAN>面板的<SPAN class=moz>标签页浏览</SPAN>中找到设定选项。<BR>(译注：Mozilla 1.5 中开新标签页需使用<SPAN class=moz>文件</SPAN>/<SPAN class=moz>新增</SPAN>/<SPAN class=moz>浏览器标签页</SPAN>，设定则在<SPAN class=moz>首选项</SPAN>/<SPAN class=moz>网页浏览器</SPAN>/<SPAN class=moz>标签页浏览</SPAN>。) 
<LI><SPAN class=heading>阻止开启新窗口</SPAN> 阻止所有弹出式的广告。要取消的话，请到<SPAN class=moz>首选项</SPAN>面板中的<SPAN class=moz>高级</SPAN>/<SPAN class=moz>脚本与插件</SPAN>，将<SPAN class=moz>阻止未经要求开启的(广告)窗口</SPAN>取消勾选。<BR>(译注：Mozilla 1.5 中，此选项搬到<SPAN class=moz>首选项</SPAN>/<SPAN class=moz>安全及隐私</SPAN>/<SPAN class=moz>弹出窗口</SPAN>。Firebird 0.7 中则是在<SPAN class=moz>选项</SPAN>/<SPAN class=moz>网页</SPAN>的<SPAN class=moz>拒绝开新(广告)窗口</SPAN>。) 
<LI><SPAN class=heading>防止脚本做各种事</SPAN> 你可以防止脚本去移动窗口、关闭窗口、改变状态列和设定 cookies。要更改这些设定，请到 <SPAN class=moz>首选项</SPAN>面版中的<SPAN class=moz>高级</SPAN>/<SPAN class=moz>脚本与插件</SPAN>中修改。<BR>(译注：Firebird 0.7 中则是在<SPAN class=moz>选项</SPAN>/<SPAN class=moz>网页</SPAN>的<SPAN class=moz>高级...</SPAN>按钮。) 
<LI><SPAN class=heading>网站导航栏</SPAN> 显示由网页文件中定义的 <A class=ext href="http://www.w3.org/TR/html4/struct/links.html#h-12.3">&lt;link&gt;</A> 内容，可让我们去快速地访问网站中的各个部份。<BR>(译注：Mozilla 1.5 中可从<SPAN class=moz>查看</SPAN>/<SPAN class=moz>显示/隐藏</SPAN>/<SPAN class=moz>网站导航栏</SPAN>中设定。) 
<LI><SPAN class=heading>侧栏</SPAN> 侧栏预设提供了数个面板。使用者可以自行增减其它面板。 
<LI><SPAN class=heading>可以增加自定义面板到侧栏中</SPAN> 自定义侧栏可以用 HTML 或 XUL 实现，或是从远程站点上安装。网站也可以使用 window.sidebar.addPanel() 函数来新增面板。 
<LI><SPAN class=heading>缩放文字大小更方便</SPAN> 可以缩放文字到任何尺寸。IE 只提供五种尺寸大小，并且不能使用键盘快速键来设定。如果有网站完全使用小型字体的话，对于那些没有完美视力的人来说，将网页改成较大字体是很重要的。<BR>(注：鼠标并不是一个键盘快速键。) 
<LI><SPAN class=heading>可以缩放任何文字，即使它是固定的像素大小</SPAN> 可以缩放文字而不用管它所指定的单位为何。这是一个 IE 上时常被提出的问题。 
<LI><SPAN class=heading>可以选择页面所提供的各个样式表</SPAN> 当页面提供数种样式表时，我们可以从<SPAN class=moz>查看</SPAN>/<SPAN class=moz>使用样式表</SPAN>的选项来挑选可用的样式表。 
<LI><SPAN class=heading><SPAN class=moz>网页信息</SPAN>对话框</SPAN> 提供了关于编码、文件类型、引用网址 URL 和 Meta 标记等等的额外信息。某些信息在 IE 的<SPAN class=moz>内容</SPAN>对话框中也有，但是仍不够详细，而且它也无法改变对话框大小。 
<LI><SPAN class=heading>详细的窗体/连结/媒体信息对话框</SPAN> <SPAN class=moz>网页信息</SPAN>对话框提供了数个标签页，其中包括网页中所有窗体字段、链接、图片和其它媒体的清单。你甚至可以从该对话框中预览图片和另存新文件。 
<LI><SPAN class=heading>储存外挂</SPAN> 当你以完整模式储存页面时，Mozilla 也会将外挂文件存起来。你也可以借助<SPAN class=moz>网页信息</SPAN>对话框来储存它们。 
<LI><SPAN class=heading>外观主题</SPAN> 预设提供两种外观主题 (Classic 及 Modern)。你也可以安装其它的外观。<BR>(注：Windows XP 有一套外观主题系统，然而这并不是由 Microsoft 所支持的。它也不是所有版本 Windows 的一部份。Mozilla 的外观主题可以在所有 Windows 版本和所有平台上使用；你可以用<SPAN class=moz>查看</SPAN>/<SPAN class=moz>应用主题</SPAN>来改变你的目前的外观。) 
<LI><SPAN class=heading>书签窗口显示更多的细节</SPAN> 书签窗口显示了更多关于书签的信息。IE 的<SPAN class=moz>我的收藏夹</SPAN>对话框有些笨拙，也就是当它开启时，你无法和浏览器窗口互动。你也无法从此对话框中新增书签。 
<LI><SPAN class=heading>书签关键词</SPAN> 可从关键词快速地搜索书签。关键词的优点是，在关键词之后的字符串，会取代书签里网址的 '%s' 部分。 
<LI><SPAN class=heading>可设定日程来检查书签</SPAN> 你可以设定不同的日程来检查书签，并且在网页内容改变时提醒你。至少，理论上，IE 有类似的功能，它做的是为离线浏览执行同步化内容。它只能一天检查一次，并且在页面改变时不会用更换图标或寄电子邮件给你。Mozilla 可以在指定的日期或时间间隔内检查有无内容更新。<BR>(译注：IE 6.0 sp1 中已会用电子邮件通知，并设定时间间隔和多个日程。这仍是离线浏览的部份。) 
<LI><SPAN class=heading>Cookie 管理</SPAN> Cookie 管理可让你查看所有已设定的 cookie，包括它们的数值和有效期限。<BR>(注：有人提醒说 IE 可从<SPAN class=moz>工具</SPAN>/<SPAN class=moz>Internet选项</SPAN>/<SPAN class=moz>常规</SPAN>/<SPAN class=moz>设置</SPAN>/<SPAN class=moz>查看对象</SPAN>中来看到 cookie，但那只是提供了所有快取文件的一份清单。本清单确实包含了 cookie，但是它被夹杂在其它的文件之中，并不是专门为 cookie 设计的(这只是份一般的文件清单)。所以我们无法简单地查看资料和有效期限。<BR>(译注：Mozilla 1.5 在<SPAN class=moz>工具</SPAN>/<SPAN class=moz>Cookie 管理器</SPAN>，Firebird 0.7 在<SPAN class=moz>工具</SPAN>/<SPAN class=moz>选项</SPAN>/<SPAN class=moz>个人隐私</SPAN>/<SPAN class=moz>Cookie</SPAN>/<SPAN class=moz>已存 Cookies</SPAN>。) 
<LI><SPAN class=heading>可以个别地删除 cookie</SPAN> Cookie 管理器可让你个别地删除 cookies，而不用去搜索你的文件系统。在 IE 的文件查看中，要去区别类似网域的 cookie 会有些困难，并且相同网域的所有 cookie 都会储存在同一个文件之中。 
<LI><SPAN class=heading>阻挡从第三方网站来的图片</SPAN> 你可以阻挡经由第三方网域而来的图片。这指的是你可以阻挡在网页中出现的图片，而这张图片存放在此网页所在网站的另一个网站上。要设定此选项，请到<SPAN class=moz>首选项</SPAN>/<SPAN class=moz>安全及隐私</SPAN>/<SPAN class=moz>图片</SPAN>面板中，选择<SPAN class=moz>只接收原始服务器上的图片</SPAN>。 
<LI><SPAN class=heading>可以阻挡指定网站的图片</SPAN> 可以阻挡指定网域的图片，例如通常是显示广告的站点。你可以在图片上按右键，选择<SPAN class=moz>拒绝 xxx… 的图片</SPAN>来挡下这个网站上的图档。你可以从<SPAN class=moz>工具</SPAN>/<SPAN class=moz>图片管理器</SPAN>来修改这份清单。<BR>(译注：Firebird 0.7 在<SPAN class=moz>工具</SPAN>/<SPAN class=moz>选项</SPAN>/<SPAN class=moz>网页</SPAN>/<SPAN class=moz>权限</SPAN>。) 
<LI><SPAN class=heading>下载管理器</SPAN> 下载管理器提供了你曾下载过的文件表格，允许你直接开启它们，而无需经由你的文件系统搜索。当其中的项目在下载时，它提供进度指示。 
<P class=paragraph>在下载文件的过程中，IE 并不会自动开始下载，除非你指定好文件的储存目录。但 Mozilla 在你点选连结后就已开始在背景中下载，即使是在你还没决定文件该存放于何处的时候。 </P>
<LI><SPAN class=heading>可以暂停下载</SPAN> 在 Mozilla 中，你可以暂停下载。有些人或许会觉得这个功能很好用，尤其是下载时间很长的时候。 
<LI><SPAN class=heading>查看页面源代码</SPAN> 查看拥有<SPAN class=moz>语法加亮显示</SPAN>的网页源代码，而不是使用记事本来查看。<BR>(注：有些人提醒说可使用记事本来编辑网页(或者至少可编辑副本)。没错，但这也就是为什么Mozilla 中在<SPAN class=moz>文件</SPAN>选单中有<SPAN class=moz>编辑此页</SPAN>的原因。有些人喜欢较简单的源代码查看器来浏览内容。) 
<LI><SPAN class=heading>JavaScript 控制台</SPAN> 主控制台显示一份错误的记录文件，你可以轻易地上下滚动来浏览，或是忽略它们。 
<LI><SPAN class=heading>JavaScript 控制台会显示脚本警告</SPAN> 主控制台会分开错误和警告。这些警告允许你观看过时的脚本使用方式。 
<LI><SPAN class=heading>JavaScript 调试器</SPAN> 帮 JavaScript 除错的好工具。 
<LI><SPAN class=heading>DOM 查看器</SPAN> 使用漂亮的树状图来查看文件结构。它也可以让你查看已应用到每个元素上的脚本属性和样式。你可以从<SPAN class=moz>工具</SPAN>/<SPAN class=moz>Web开发</SPAN>中找到它。 
<LI><SPAN class=heading>DOM 查看器图片抓取</SPAN> DOM 查看器有工具能抓取网页中的图片，虽然它有时似乎并不是运作的很好。 
<LI><SPAN class=heading>选择文字并执行搜索</SPAN> 选定一些文字，对它按右键，并在弹出菜单中点选<SPAN class=moz>在网络上搜索 xxx</SPAN>即可。 
<LI><SPAN class=heading>可以选择自订的搜索引擎</SPAN> 你可以选择你所想要的任何搜索引擎，而不是只有一个早已预设好的站点。 
<LI><SPAN class=heading>可以在侧栏中显示搜索结果</SPAN> 经由搜索引擎找资料时，结果可自动解译和显示在侧栏中。你可以查看页面而不用担心搜索结果会消失。 
<LI><SPAN class=heading>支持任何 Sherlock(私家侦探) 搜索外挂</SPAN> 支持麦金塔 Sherlock 搜索格式，因此有支持它的任何搜索引擎都可以使用。<BR>
<LI><SPAN class=heading>可以管理已储存的密码</SPAN> 可让你查看和删除已储存的使用者名称和密码。点选<SPAN class=moz>工具</SPAN>/<SPAN class=moz>密码管理器</SPAN>来管理。<BR>(译注：Firebird 0.7 请选择<SPAN class=moz>工具</SPAN>/<SPAN class=moz>选项</SPAN>/<SPAN class=moz>个人隐私</SPAN>/<SPAN class=moz>已存密码</SPAN>/<SPAN class=moz>查看已存密码</SPAN>。) 
<LI><SPAN class=heading>可以自动完成窗体填入</SPAN> 可储存完整表单信息，并在日后使用时会自动将资料填入。如果你想要注册某个表单 600 次时，这将会是很有用的。要代填表单，点选<SPAN class=moz>编辑</SPAN>/<SPAN class=moz>填写表单</SPAN>。<BR>(译注：Mozilla 1.5 已搬到<SPAN class=moz>工具</SPAN>/<SPAN class=moz>表单管理器</SPAN>/<SPAN class=moz>填写表单</SPAN>。) 
<LI><SPAN class=heading>主密码加密信息</SPAN> 一个单一的主密码可以用来保护你其它的网页密码。<BR>(译注：Mozilla 1.5 中在<SPAN class=moz>首选项</SPAN>/<SPAN class=moz>隐私及安全</SPAN>/<SPAN class=moz>主密码</SPAN>。) 
<LI><SPAN class=heading>可以取消小提示</SPAN> 并不十分有趣，但若有人觉得小提示会妨碍浏览时就很有用了。<BR>(译注：Mozilla 1.5 中在<SPAN class=moz>首选项</SPAN>/<SPAN class=moz>外观设定</SPAN>/<SPAN class=moz>显示提示</SPAN>取消勾选就可以了。) 
<LI><SPAN class=heading>键盘浏览</SPAN> 按下 F7 后，会有一个光标出现在页面上。你可以只用键盘来导览网页和选择文字。<BR>(注：有人认为这和在元素中设定 contenteditable="true" 是一样的。这的确会在 IE 中显示光标，但事实上它会允许你编辑网页内容，并且使得内容中所有的连结和鼠标事件失效。Mozilla 中的键盘浏览是设计成允许你只用键盘就可以浏览网页、导览连结和选择文字。) 
<LI><SPAN class=heading>随打即找</SPAN> 按下几个按键就可以用文字来搜索连结。<A class=ext href="http://www.mozilla.org/projects/ui/accessibility/typeaheadfind.html">更多信息</A> 
<LI><SPAN class=heading>查看选取部份的源代码</SPAN> 选定一些文字，对它按右键，并在弹出式菜单中点选<SPAN class=moz>查看选取部份的源代码</SPAN>来查看选取内容中的源代码。这个功能也可以用来查看经由 XSLT 转换过后所生成的源代码。 
<LI><SPAN class=heading>属性对话框可让你查看不同卷标的信息</SPAN> 对链接或图片等组件按右键，可以查看相关信息，像是语言，以及链接是否会在新窗口中开启。本对话框同样可以修改窗口大小。 
<LI><SPAN class=heading>直接查看脚本和样式表</SPAN> Mozilla 可以将脚本和样式表直接以纯文字方式显示，而无需调用外部应用程序。这是个很方便的功能，尤其是当你只想要快速地偷看一些信息的时候。 
<LI><SPAN class=heading>更多字体选项</SPAN> 对字型的使用有更好的控制，包括自定义各种 CSS 字型。要修改这些选项，请选择<SPAN class=moz>首选项</SPAN>/<SPAN class=moz>外观</SPAN>/<SPAN class=moz>字体</SPAN>面板。 
<LI><SPAN class=heading>可以设定最小字号</SPAN> 可以设定最小字号，此功能对某些站点的字号显示很有用。要修改这些选项，请选择<SPAN class=moz>首选项</SPAN>/<SPAN class=moz>外观</SPAN>/<SPAN class=moz>字体</SPAN>面板。 
<LI><SPAN class=heading>滚轮鼠标选项</SPAN> 按住 Alt 键时卷动滚轮可以前往浏览记录中的上一页和下一页。你也可以设定其它按键 (译注：Ctrl, Shift) 按下时卷动滚轮的功能，包括卷动页面和缩放文字大小。<BR>(译注：Mozilla 1.5 中的<SPAN class=moz>个人备好设定</SPAN>/<SPAN class=moz>高级设定</SPAN>/<SPAN class=moz>滚轮鼠标</SPAN>。) 
<LI><SPAN class=heading>多重设置文件</SPAN> 可以处理多重设置文件，因此你可以使用其中一个做为测试用，或将设置文件分享给其它人使用。你确实可以在 Windows 中借助多重使用者帐号做到类似的事情，但是它同时也会影响到所有的应用程序。 
<LI><SPAN class=heading>可以快速地安装至任何地方</SPAN> Mozilla 可以安装到任何磁盘和任何位置。它也可以安装到网络磁盘上，并且在该处直接执行。事实上，它一点也不需要安装些什么。 
<LI><SPAN class=heading>容易反安装</SPAN> 像其它的应用程序一样，可以用同样的方法来反安装。 
<LI><SPAN class=heading>可以立即安装数个版本</SPAN> 你可以立即安装数个不同版本的 Mozilla，如果你需要测试不同版本的话，这就是个很好用的功能。 
<LI><SPAN class=heading>跨平台</SPAN> Mozilla 可在数个不同的平台上执行 (依版本而有 8 到 12 种平台)。它们全部都拥有相同的特性。IE 只能在 Windows 和 Mac 平台上使用，并且彼此之间支持程度有一些差异。在 Unix 平台上的 IE 限制版本曾一度可以下载使用，但现今已<A class=ext href="http://www.microsoft.com/unix/ie/default.asp">不在</A>了。 
<LI><SPAN class=heading>XUL</SPAN> <A class=ext href="http://www.xulplanet.com/tutorials/xultu/">XML 使用者接口语言</A> 是以标记语言来建立复杂的使用者接口。 
<LI><SPAN class=heading>XBL</SPAN> <A class=ext href="http://www.xulplanet.com/tutorials/xultu/introxbl.html">eXtensible Bindings Language</A> 可建立自定义工具和元素，并且可将它们和 XUL, XML, HTML 元素绑定 (bind) 在一起。 
<LI><SPAN class=heading>RDF</SPAN> Mozilla 可以阅读和产生 <A class=ext href="http://www.w3.org/RDF/">Resource Description Framework</A> 文件。 
<LI><SPAN class=heading>MathML</SPAN> <A class=ext href="http://www.w3.org/Math/">MathML</A> 是可显示数学方程式的一种标记语言。 
<LI><SPAN class=heading>XPCOM</SPAN> 通过 C++ 和 JavaScript 的原生接口存取可让你执行数个不同的 Mozilla 函数。 
<LI><SPAN class=heading>适当地处理 MIME 文件类型</SPAN> 使用服务器提供的内容类型来适当地显示文件内容，以避免各种其它不正确的信息。你可以从这里学习到<A class=ext href="http://ppewww.ph.gla.ac.uk/%7Eflavell/www/content-type.html">更多信息</A>。 
<LI><SPAN class=heading>支持 application/xhtml+xml (XHTML) 格式文件</SPAN> 目前对 XHTML 文件内容类型的争论还在持续之中，但 Mozilla 已经支持此一类型了。Mozilla 同时也支持 text/xml 内容类型的 XHTML 文件。 
<LI><SPAN class=heading>可以处理有设定样式的 XML 文件</SPAN> 可以处理有使用样式设定的 XML 文件。IE 在显示这些文件前必须先将其转换成 HTML 格式。 
<LI><SPAN class=heading>在后台加载超链接</SPAN> Mozilla 允许你设定在后台中加载文件或图片。它们会在网页完成下载后再加载，所以并不会影响效能。通常，它会下载到标签页序列中的下一页。<BR><A class=ext href="http://www.mozilla.org/projects/netlib/Link_Prefetching_FAQ.html">更多信息</A><BR>(译注：当你目前浏览的网页完成下载后，它会在你浏览的时候，将下一页的内容预先下载。) 
<LI><SPAN class=heading>使用 ABBR/ACRONYM 的文字会加上底线，并且会显示小提示</SPAN> 这些卷标的内容会加上底线显示，并且卷标中的 title 属性的值会以小提示的方式显示。 
<LI><SPAN class=heading>支持闪烁文字</SPAN> 你可以让文字闪烁。当然它支持 &lt;blink&gt; 卷标，不过你也可以使用 CSS 的 'text-decoration: blink'。 
<LI><SPAN class=heading>CSS min/max-width/height 属性</SPAN> 在内容中强制设定最小或最大尺寸的文字。参考 CSS 规格书有关 <A class=ext href="http://www.w3.org/TR/REC-CSS2/visudet.html#min-max-widths">min/max-width</A> 和<A class=ext href="http://www.w3.org/TR/REC-CSS2/visudet.html#min-max-heights">min/max-height</A> 的部份以获得更多信息。 
<LI><SPAN class=heading>CSS position:fixed 属性</SPAN> 本项特性允许内容的位置<A class=ext href="http://www.w3.org/TR/REC-CSS2/visuren.html#fixed-positioning">固定</A>显示在窗口中的特定部份。如果用户滚动文件时，此内容仍会待在原处。 
<P class=paragraph>在 <A class=ext href="http://www.w3.org/Style/CSS/">W3C's CSS page</A> 上你可以看到这个例子。当你滚动文件时，请注意右上方角的菜单。 </P>
<LI><SPAN class=heading>CSS display:table 属性和其它相关的显示类型</SPAN> 允许你建立自定义的 <A class=ext href="http://www.w3.org/TR/REC-CSS2/tables.html#q2">表格</A> 元素。 
<LI><SPAN class=heading>可让 CSS 生成内容</SPAN> <A class=ext href="http://www.w3.org/TR/REC-CSS2/generate.html">Generated content</A> 讨论了 :before、:after 和 content 特性等主题。 
<LI><SPAN class=heading>CSS2 选择器 (Selector)</SPAN> 在 <A class=ext href="http://www.w3.org/TR/REC-CSS2/selector.html">其它样式</A> 之中，使用<SPAN class=moz>以属性值做为基础的样式</SPAN>来选择元素。 
<LI><SPAN class=heading>支持少数的 CSS3 选择器</SPAN> 能比对属性值的子字符串、被选取的文字部份 <A class=ext href="http://www.w3.org/TR/2001/CR-css3-selectors-20011113/">等等</A>。 
<LI><SPAN class=heading>支持一些扩展的 CSS 属性</SPAN> user-focus、user-select、border-radius 和 <A class=ext href="http://www.xulplanet.com/references/elemref/ref_StyleProperties.html">其它属性</A>。大部份是用在外观主题上，但如果你需要的话，它们也可以在网页中正常显示。 
<LI><SPAN class=heading>支持 XML Base</SPAN> 可以指定 <A class=ext href="http://www.w3.org/TR/xmlbase/">XML 文件的基本网址</A> (译注：像是 html 中的 &lt;base&gt; 标签)。我不确定这在其它浏览器中是否也有支持。 
<LI><SPAN class=heading>支持 FixPtr</SPAN> <A class=ext href="http://lists.w3.org/Archives/Public/www-xml-linking-comments/2001AprJun/att-0074/01-NOTE-FIXptr-20010425.htm">FixPre</A> 可参照到 XML 文件的其它部份。 
<LI><SPAN class=heading>简单的 XLink 支持</SPAN> 这是在 <A class=ext href="http://www.w3.org/TR/xlink/">XML 文件中的链接语法</A>。 
<LI><SPAN class=heading>XML-RPC</SPAN> 有实现 <A class=ext href="http://www.xmlrpc.com/spec">XML-RPC</A> 的简单 API。 
<LI><SPAN class=heading>内建 SOAP API</SPAN> 可使用大量完整的 <A class=ext href="http://lxr.mozilla.org/mozilla/source/extensions/xmlextras/docs/Soap_Scripts_in_Mozilla.html">SOAP 功能</A>，而无需使用额外的函数库。 
<LI><SPAN class=heading>PNG 透明图片</SPAN> 可查看部份透明的图片。<A class=ext href="http://www.libpng.org/pub/png/png-rgba32.html">范例</A>。 
<LI><SPAN class=heading>支持 MNG 图档格式</SPAN> <A class=ext href="http://libpng.org/pub/mng/">MNG</A> 是一种动画图档格式，通常是用来做 PNG 图片的动画。 
<LI><SPAN class=heading>支持各种图档格式的 favicons</SPAN> Mozilla 支持各种格式的网站图标，像是 (GIF、JPEG、PNG、MNG、XBM、BMP 和 ICO)。你甚至可以将它做成动画格式 (如果你疯了的话)。IE 只支持 BMP 和 ICO 格式。 
<LI><SPAN class=heading>在地址栏和标签页上显示图标</SPAN> 会在地址栏以及每个标签页上显示网站图标。 
<LI><SPAN class=heading>拥有更多语系/地域</SPAN> Mozilla 可使用数种不同的语系，甚至包括了你从来都没听过的语系。IE 6.0 目前支持 24 种。Mozilla 1.1 之后的版本支持 29 种，Mozilla 1.0 之后的版支持 40 种以上。 (译注：因版本发展而会有各种支持语系。目前 Mozilla 1.5 已支持 30 种语系共 70 种以上的编码。) 
<LI><SPAN class=heading>支持标准事件处理</SPAN> 支持 <A class=ext href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/">标准 capturing/bubbling 事件</A> 模块。 
<LI><SPAN class=heading>支持附加的 DOM0/DOM1/核心 特性</SPAN> 几乎支持所有的 <A class=ext href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/changes.html">DOM0 和 DOM1</A>。 
<LI><SPAN class=heading>DOM2 命名空间处理</SPAN> 支持各种处理命名空间的 DOM 函式。 
<LI><SPAN class=heading>DOM2 样式接口</SPAN> 支持大部份 <A class=ext href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/">标准 DOM 样式接口</A>。 
<LI><SPAN class=heading>DOM2 TreeWalker 接口</SPAN> <A class=ext href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113/traversal.html#TreeWalker">TreeWalker 接口</A> 可在文件中浏览内容。 
<LI><SPAN class=heading>DOM2 Range 接口</SPAN> 支持 <A class=ext href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113/ranges.html">Range 接口</A> 来获取区块中的内容。 
<LI><SPAN class=heading>DOM3 XPath 接口</SPAN> 使用 <A class=ext href="http://www.w3.org/TR/2002/WD-DOM-Level-3-XPath-20020328/">DOM3 XPath 接口</A> 的 HTML/XML/XUL 文件中，可取回使用 XPath 表达式的元素。 
<LI><SPAN class=heading>可以设定打印大小</SPAN> 这也许会因你的打印机而不同，但是你可以重新调整打印文件的大小，或是让它符合页面尺寸。对付一些拥有较大页面的网站是很有用的。 
<LI><SPAN class=heading>可以同时将数个页面设为书签</SPAN> 你可以同时设定一组书签，并且以分页一次将它们开启。你可以从<SPAN class=moz>书签</SPAN>/<SPAN class=moz>把目前所有分页存入书签</SPAN>选单来使用此功能。<BR>(译注：Firebird 0.7 中勾选<SPAN class=moz>书签</SPAN>/<SPAN class=moz>加入书签</SPAN>/<SPAN class=moz>所有分页存入单一书签目录</SPAN>。) 
<LI><SPAN class=heading>可以设定数个页面为浏览器首页</SPAN> 你可以设定一组首页，因此当开启 Mozilla 时，数个页面会同时出现。首先以分页开启你想要做为首页的页面，再使用<SPAN class=moz>首选项</SPAN>/<SPAN class=moz>浏览器</SPAN>/<SPAN class=moz>使用当前组</SPAN>来设定。<BR>(译注：Firebird 0.7 中使用<SPAN class=moz>工具</SPAN>/<SPAN class=moz>选项</SPAN>/<SPAN class=moz>一般</SPAN>/<SPAN class=moz>使用书签</SPAN>可以达到一样的功能，但前提是你要将页面先存成书签，并放在同一个书签数据夹下。) 
<LI><SPAN class=heading>可以搜索书签</SPAN> 你可以搜索书签而无需借助文件系统来寻找。 
<LI><SPAN class=heading>轻易地建立和增加自定义组件</SPAN> XPInstall 可以轻易地安装自定义组件，它使用的是以 JavaScript 所撰写的安装 script。除了 ZIP 程序外，它不需要使用其它特殊的工具。 
<LI><SPAN class=heading>支持 finger 协议</SPAN> 可以使用 finger 协议。在新版的 Mozilla 中可设定为关闭。 
<LI><SPAN class=heading>支持 data: 开头的网址</SPAN> <A class=ext href="http://www.ietf.org/rfc/rfc2397.txt">data URLs</A> 可以在网址中嵌入文件资料。 
<LI><SPAN class=heading>HTTP 流水线技术</SPAN> 在浏览网页时会有更佳的效能。 
<LI><SPAN class=heading>支持 JavaScript 取值/设值函数</SPAN> 可增加自定义属性到对象中，并且当修改时可调用程序代码。举例来说，<A class=ext href="http://webfx.nu/dhtml/ieemu/index.html">IEEmu</A> 实现了一些非标准的 IE 属性。 
<LI><SPAN class=heading>JavaScript 支持严格的错误检查</SPAN> 也就是说，它会显示你从不曾以为那些是错误的错误。(注：想想 Perl 的严格模式。) 
<LI><SPAN class=heading>容易存取配置文件</SPAN> 个人配置全部储存在单一的文件之中 (prefs.js)。你可以轻松地加入自定义设置而无需借助任何用户接口。 
<LI><SPAN class=heading>个人配置可以轻易地到处搬移</SPAN> 你可以轻易地将个人配置、书签和其它设置搬移到另一个系统下，因为它们都储存在同一个资料夹中。 
<LI><SPAN class=heading>各种安全性相关的特性</SPAN> 毫无疑问，你知道 Mozilla 拥有较好的安全性。 
<LI><SPAN class=heading>支持 jar 协议</SPAN> 支持将 HTML 页面或影像内含在 JAR 或 ZIP 文件中的 jar: 协议。这使得我们可以将网站压缩成一个可供下载的文件。 
<LI><SPAN class=heading>开放源代码</SPAN> 所以热心的开发者总是能精确地找出 Mozilla 运作的方式，或是依自己的需求来修改。 
<LI><SPAN class=heading>Bugzilla</SPAN> 这是 Mozilla 的错误追踪系统。你可以找到你所遇到问题的相关信息，以及如何解决它们。 
<LI><SPAN class=heading>大恐龙比较酷</SPAN> 至少比蓝色的 e 有趣多了。 </LI></OL>
<ADDRESS><A HREF="/">onestab.net</A> | W3C <A href="http://validator.w3.org/check?uri=http%3A%2F%2Fwww.onestab.net%2Fa%2Fmozilla101.html&amp;charset=utf-8+%28Unicode%2C+worldwide%29&amp;doctype=%28detect+automatically%29&amp;verbose=1">XHTML1.0</A> 验证。 | 本文翻译参考了<A href="http://blog.cyberjos.idv.tw/space/101thingsMozilla">繁体中文版</A>，并针对 Mozilla 的简体中文版菜单和选项卡作了更正，在此对原译者表示感谢。 </ADDRESS>
<DIV></DIV><img src ="http://www.cnitblog.com/xlmo/aggbug/5474.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/xlmo/" target="_blank">xlmo</a> 2005-12-16 20:37 <a href="http://www.cnitblog.com/xlmo/archive/2005/12/16/5474.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Debian下配置Apache2+MySQL5+PHP5+GD</title><link>http://www.cnitblog.com/xlmo/archive/2005/12/05/5190.html</link><dc:creator>xlmo</dc:creator><author>xlmo</author><pubDate>Mon, 05 Dec 2005 15:22:00 GMT</pubDate><guid>http://www.cnitblog.com/xlmo/archive/2005/12/05/5190.html</guid><wfw:comment>http://www.cnitblog.com/xlmo/comments/5190.html</wfw:comment><comments>http://www.cnitblog.com/xlmo/archive/2005/12/05/5190.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/xlmo/comments/commentRss/5190.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/xlmo/services/trackbacks/5190.html</trackback:ping><description><![CDATA[<P></P>
<P>所有资源来源于网络.本文可以任意修改,转载,复制...<BR><BR>首先,准备好软件包:<BR>&nbsp; 最新的Apache,MySQL和PHP可以去相对的官方网站去下载,也可以去 <A href="http://www.phpchina.cn/bbs/forumdisplay.php?fid=24">http://www.phpchina.cn/bbs/forumdisplay.php?fid=24</A> 下载,下载到/tmp/src/目录下: <BR><BR>MySQL5:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A href="http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.16.tar.gz/from/http://mirror.vmmatrix.net/mysql/">http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.16.tar.gz/from/http://mirror.vmmatrix.net/mysql/</A>&nbsp;&nbsp;&nbsp;&nbsp;<BR><BR>&nbsp;&nbsp; PHP5.1.1:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A href="http://cn2.php.net/get/php-5.1.1.tar.bz2/from/cn.php.net/mirror">http://cn2.php.net/get/php-5.1.1.tar.bz2/from/cn.php.net/mirror</A>&nbsp;&nbsp;<BR><BR>&nbsp; Apache2.0.55:&nbsp;&nbsp; <A href="http://mirror.vmmatrix.net/apache/httpd/httpd-2.0.55.tar.gz">http://mirror.vmmatrix.net/apache/httpd/httpd-2.0.55.tar.gz</A>&nbsp;&nbsp;<BR><BR>&nbsp; GD Library:&nbsp;&nbsp;&nbsp; <A href="http://www.boutell.com/gd/http/gd-2.0.33.tar.gz">http://www.boutell.com/gd/http/gd-2.0.33.tar.gz</A>&nbsp;&nbsp;&nbsp; <BR><BR>&nbsp;&nbsp; Zlib:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; <A href="http://www.zlib.net/zlib-1.2.3.tar.gz">http://www.zlib.net/zlib-1.2.3.tar.gz</A>&nbsp;<BR><BR>&nbsp; libpng :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A href="http://prdownloads.sourceforge.net/libpng/libpng-1.2.8-config.tar.gz?download">http://prdownloads.sourceforge.net/libpng/libpng-1.2.8-config.tar.gz?download</A>&nbsp;<BR><BR>&nbsp; Jpeg v6b:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A href="http://www.ijg.org/files/jpegsrc.v6b.tar.gz">http://www.ijg.org/files/jpegsrc.v6b.tar.gz</A>&nbsp;&nbsp;&nbsp;&nbsp;<BR><BR>&nbsp;FreeType2:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A href="http://jaist.dl.sourceforge.net/sourceforge/freetype/freetype-2.1.10.tar.gz">http://jaist.dl.sourceforge.net/sourceforge/freetype/freetype-2.1.10.tar.gz</A>&nbsp; <BR><BR>如果连Debian都没有的话,可以去这里下载: <A href="http://www.phpchina.cn/bbs/viewthread.php?tid=1335&amp;extra=page%3D1">http://www.phpchina.cn/bbs/viewthread.php?tid=1335&amp;extra=page%3D1</A></P>
<P><FONT size=6>所有操作都是以root用户来进行的.</FONT><BR>&nbsp;解压:<BR>&nbsp;对于*.tar.gz的文件使用命令tar zxvf *.tar.gz来解压;<BR>&nbsp;对于*.tar.bz2的文件使用命令tar jxvf *.tar.bz2来解压.<BR>&nbsp;将mysql,php,apache以及gd安装到/opt/目录下,便于管理.<BR>&nbsp;编译安装MySQL:<BR>&nbsp;进入到解压后的mysql目录,在终端输入下面的命令:</P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">./</SPAN><SPAN style="COLOR: #000000">configure&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">prefix</SPAN><SPAN style="COLOR: #000000">=/</SPAN><SPAN style="COLOR: #000000">opt</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #008080">mysql</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">with</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">mysqld</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">user</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">beinan&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">with</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">extra</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">charsets</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">all&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">with</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">unix</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">socket</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">path</SPAN><SPAN style="COLOR: #000000">=/</SPAN><SPAN style="COLOR: #000000">opt</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #008080">mysql</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #0000ff">var</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #008080">mysql</SPAN><SPAN style="COLOR: #000000">.</SPAN><SPAN style="COLOR: #000000">sock&nbsp;</SPAN></DIV>
<P><BR>&nbsp;&nbsp;&nbsp; --prefix=/opt/mysql 把mysql-4.0.16指定安装到/opt/mysql目录中；<BR>&nbsp;&nbsp;&nbsp; --with-extra-charsets=all 对多语言的支持；<BR>&nbsp;&nbsp;&nbsp; --with-unix-socket-path=/opt/mysql/var/mysql.sock 这个是指定mysql服务器启动后，联机套接字文件所处的位置和文件名，也就是说，如果mysql服务器成功启动后，就能在/opt/mysql/var目录中看到mysql.sock文件。如果看不到，肯定是mysql启动不了。<BR>&nbsp;&nbsp;&nbsp; --with-mysqld-user=username 这个是让mysql服务器也能让系统中普通用户username也能启动mysql服务器。用普通用户来启动mysql的好处是：mysql的进程会自己死掉自动退出。当然root用户也可以，不过有时mysql有些进程死了，但不会自动退出，root自己也杀不掉。所以用普通用户就有这样的好处，大多不会出现mysql进程已死，但不会退出的情况；</P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">make<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>make&nbsp;install</SPAN></DIV>
<P><BR>现在MySQL已经安装完毕了.剩下的就是配置了.<BR>&nbsp;配置MySQL:(以下操作都是以root执行)<BR>&nbsp;输入命令:</P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">cp&nbsp;</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">opt</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #008080">mysql</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">share</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #008080">mysql</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">my</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">medium</SPAN><SPAN style="COLOR: #000000">.</SPAN><SPAN style="COLOR: #000000">cnf&nbsp;</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">etc</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">my</SPAN><SPAN style="COLOR: #000000">.</SPAN><SPAN style="COLOR: #000000">cnf</SPAN></DIV>
<P><BR>&nbsp;是将配置文件拷贝到/etc目录下成为my.cnf,大家可以根据自己的需要选择配置文件(配置文件在/opt/mysql/share/mysql/目录下,有my-huge.cnf my-medium.cnf my-large.cnf my-small.cnf这些).<BR>&nbsp;运行</P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">opt</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #008080">mysql</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">bin</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">mysql_install_db<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV>
<P><BR>&nbsp;这个命令是创建MySQL的授权表.</P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>&nbsp;</SPAN><SPAN style="COLOR: #008080">chmod</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">755</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">opt</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #008080">mysql</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #0000ff">var</SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">设置/opt/mysql/var的目录权限为755</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #008080">chown</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">R&nbsp;username</SPAN><SPAN style="COLOR: #000000">:</SPAN><SPAN style="COLOR: #000000">username&nbsp;</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">opt</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #008080">mysql</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #0000ff">var</SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">如果希望使用username这个用户来启动mysql的话</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">opt</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #008080">mysql</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">share</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #008080">mysql</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #008080">mysql</SPAN><SPAN style="COLOR: #000000">.</SPAN><SPAN style="COLOR: #000000">server&nbsp;start&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">启动mysql服务</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #008080">chown</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">R&nbsp;username</SPAN><SPAN style="COLOR: #000000">:</SPAN><SPAN style="COLOR: #000000">username&nbsp;</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">opt</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #008080">mysql</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">把/opt/mysql目录归属到username这个用户下</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">opt</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #008080">mysql</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">bin</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">mysqladmin&nbsp;</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">u&nbsp;root&nbsp;password&nbsp;</SPAN><SPAN style="COLOR: #000000">123456</SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">设置root用户的密码为123456<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV>
<P>&nbsp;编译安装Apache<BR>&nbsp;进入解压后的apache文件夹.在终端输入:</P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">./</SPAN><SPAN style="COLOR: #000000">configure&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">prefix</SPAN><SPAN style="COLOR: #000000">=/</SPAN><SPAN style="COLOR: #000000">opt</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">apache&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">enable</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">track</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">vars&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">enable</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">cgi&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">with</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">config</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #008080">file</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">path</SPAN><SPAN style="COLOR: #000000">=/</SPAN><SPAN style="COLOR: #000000">opt</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">apache</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">conf<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV>
<P><BR>&nbsp;&nbsp; 我大多是采用默认的配制.</P>
<P>--prefix=/opt/apache 指定把apahce安装到/opt/apache目录中；<BR>--enable-cgi 支持CGI；<BR>--with-config-file-path=/opt/apache/conf 指定把apache的配制文件放在/opt/apache/conf中；比如httpd.conf配制文件就在这个目录中；<BR>--enable-track-vars 为启动cookie的get/post等追踪功能</P>
<P>&nbsp;编译安装:</P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">make<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>make&nbsp;install</SPAN></DIV>
<P><BR>安装完成后，会在/opt/目录下生成/opt/apache<BR>启动apache守护进程:</P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">opt</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">apache</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">bin</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">apachectl&nbsp;start&nbsp;<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV>
<P><BR>打开浏览器，输入 <A href="http://localhost/">http://localhost</A> 就能看到一个apache的欢迎页面了，这表示我们已经成功解决了apache的安装。</P>
<P>&nbsp;配制apache</P>
<P>配制文件是/opt/apache/conf/httpd.conf<BR>编译安装的apache默认存放主页的位置应该是/opt/apache/htdocs<BR>这个目录。<BR>在httpd.conf中比较重要的几项:</P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">ServerRoot&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">/opt/apache</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV>
<P><BR>这是ServerRoot指定apache程序所在的的目录，比如日志文件、配制文件等目录.</P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">Listen&nbsp;</SPAN><SPAN style="COLOR: #000000">80</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV>
<P><BR>apache 默认端口80</P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">ServerAdmin&nbsp;root@localhost<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV>
<P><BR>在这里，把管理员的信箱放上去</P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #008000">#</SPAN><SPAN style="COLOR: #008000">ServerName&nbsp;new.host.name:80&nbsp;<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV>
<P>前面有#号就是注销掉了,设置主机名.</P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">DocumentRoot&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">/opt/apache/htdocs</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV>
<P><BR>这个是存放网页的目录，也就是说，我们应该把网页的目录指定到哪里，这样当访问网址时，就调用这个目录的文件.<BR></P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">Directory&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">/opt/apache/htdocs</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV>
<P><BR>这句应该和DocumentRoot 的目录保持一致。</P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #008000">#<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>#</SPAN><SPAN style="COLOR: #008000">&nbsp;Possible&nbsp;values&nbsp;for&nbsp;the&nbsp;Options&nbsp;directive&nbsp;are&nbsp;"None",&nbsp;"All",</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>#</SPAN><SPAN style="COLOR: #008000">&nbsp;or&nbsp;any&nbsp;combination&nbsp;of:</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>#</SPAN><SPAN style="COLOR: #008000">&nbsp;Indexes&nbsp;Includes&nbsp;FollowSymLinks&nbsp;SymLinksifOwnerMatch&nbsp;ExecCGI&nbsp;MultiViews</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>#<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>#</SPAN><SPAN style="COLOR: #008000">&nbsp;Note&nbsp;that&nbsp;"MultiViews"&nbsp;must&nbsp;be&nbsp;named&nbsp;*explicitly*&nbsp;---&nbsp;"Options&nbsp;All"</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>#</SPAN><SPAN style="COLOR: #008000">&nbsp;doesn't&nbsp;give&nbsp;it&nbsp;to&nbsp;you.</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>#<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>#</SPAN><SPAN style="COLOR: #008000">&nbsp;The&nbsp;Options&nbsp;directive&nbsp;is&nbsp;both&nbsp;complicated&nbsp;and&nbsp;important.&nbsp;Please&nbsp;see</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>#</SPAN><SPAN style="COLOR: #008000">&nbsp;http://httpd.apache.org/docs-2.0/mod/core.html#options</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>#</SPAN><SPAN style="COLOR: #008000">&nbsp;for&nbsp;more&nbsp;information.</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>#<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">Options&nbsp;Indexes&nbsp;FollowSymLinks<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #008000">#<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>#</SPAN><SPAN style="COLOR: #008000">&nbsp;AllowOverride&nbsp;controls&nbsp;what&nbsp;directives&nbsp;may&nbsp;be&nbsp;placed&nbsp;in&nbsp;.htaccess&nbsp;files.</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>#</SPAN><SPAN style="COLOR: #008000">&nbsp;It&nbsp;can&nbsp;be&nbsp;"All",&nbsp;"None",&nbsp;or&nbsp;any&nbsp;combination&nbsp;of&nbsp;the&nbsp;keywords:</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>#</SPAN><SPAN style="COLOR: #008000">&nbsp;Options&nbsp;FileInfo&nbsp;AuthConfig&nbsp;Limit</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>#<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">AllowOverride&nbsp;None<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #008000">#<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>#</SPAN><SPAN style="COLOR: #008000">&nbsp;Controls&nbsp;who&nbsp;can&nbsp;get&nbsp;stuff&nbsp;from&nbsp;this&nbsp;server.</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>#<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">Order&nbsp;allow</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">deny<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>Allow&nbsp;from&nbsp;all<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&lt;/</SPAN><SPAN style="COLOR: #000000">Directory</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV>
<P>&nbsp;</P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">AddDefaultCharset&nbsp;ISO</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">8859</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV>
<P><BR>这句是指定网页的默认语言的，如果网页出乱中文乱码，应该改AddDefaultCharset 后面的值为GB2312。也就是改成下面这样的。</P>
<P>找到下面的一行在后面加上index.php ，让网站的默认页是index.php也行； </P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>DirectoryIndex&nbsp;index</SPAN><SPAN style="COLOR: #000000">.</SPAN><SPAN style="COLOR: #000000">html&nbsp;index</SPAN><SPAN style="COLOR: #000000">.</SPAN><SPAN style="COLOR: #000000">html</SPAN><SPAN style="COLOR: #000000">.</SPAN><SPAN style="COLOR: #0000ff">var</SPAN><SPAN style="COLOR: #000000">&nbsp;index</SPAN><SPAN style="COLOR: #000000">.</SPAN><SPAN style="COLOR: #000000">php<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV>
<P>找到</P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #008000">#</SPAN><SPAN style="COLOR: #008000">AddType&nbsp;application/x-tar&nbsp;.tgz<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV>
<P><BR>这行，在下面加一行。前面不要加#号。</P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">AddType&nbsp;application</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">x</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">httpd</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">php&nbsp;</SPAN><SPAN style="COLOR: #000000">.</SPAN><SPAN style="COLOR: #000000">php<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV>
<P><BR>配制好后，我们就重启apache后,对那个存放网页的目录执行:</P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #008080">chmod</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">755</SPAN><SPAN style="COLOR: #000000">&nbsp;目录名<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #008080">chmod</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">R&nbsp;</SPAN><SPAN style="COLOR: #000000">755</SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;目录名<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV>
<P>然后就重启apache的守护进程httpd</P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">opt</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">apache</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">bin</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">apachectl&nbsp;restart<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV>
<P><BR>在浏览器的地址栏中输入localhost或者127.0.0.1,这样应该能看到页面了吧。</P>
<P>如果是通过root用户，或者其它用户把相应的网站文件复制到网站存放的目录下的，要改变网站存放目录中所有文件的权限，就是上面所说的chmod -R 755 目录名.</P>
<P>&nbsp;编译安装PHP:<BR>&nbsp;zlib:<BR>&nbsp;&nbsp;进入解压后的zlib目录.在终端执行以下命令:</P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">./</SPAN><SPAN style="COLOR: #000000">configure<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>make<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>make&nbsp;install&nbsp;</SPAN></DIV>
<P><BR>&nbsp;freetype:<BR>&nbsp;&nbsp;进入解压后的freetype目录,在终端执行以下命令:</P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">./</SPAN><SPAN style="COLOR: #000000">configure&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">prefix</SPAN><SPAN style="COLOR: #000000">=/</SPAN><SPAN style="COLOR: #000000">usr</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">local</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">freetype<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>make<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>make&nbsp;install&nbsp;</SPAN></DIV>
<P><BR>&nbsp;libpng:<BR>&nbsp;&nbsp;进入解压后的libpng目录,在终端执行以下命令:</P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">./</SPAN><SPAN style="COLOR: #000000">configure<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>make<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>make&nbsp;test<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>make&nbsp;install</SPAN></DIV>
<P><BR>&nbsp;jpeg-6b:<BR>&nbsp;&nbsp;进入解压后的jpeg-6b目录,在终端执行以下命令:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #008080">mkdir</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">usr</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">local</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">jpeg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #008080">mkdir</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">usr</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">local</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">jpeg</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">bin<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #008080">mkdir</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">usr</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">local</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">jpeg</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">lib<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #008080">mkdir</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">usr</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">local</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">jpeg</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #0000ff">include</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #008080">mkdir</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">usr</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">local</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">jpeg</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">man<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #008080">mkdir</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">usr</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">local</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">jpeg</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">man</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">man1<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">./</SPAN><SPAN style="COLOR: #000000">configure&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">prefix</SPAN><SPAN style="COLOR: #000000">=/</SPAN><SPAN style="COLOR: #000000">usr</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">local</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">jpeg&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">enable</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">shared&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">enable</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #0000ff">static</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>make<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>make&nbsp;install&nbsp;</SPAN></DIV>
<P><BR>&nbsp;GD Library:<BR>&nbsp;&nbsp;进入解压后的gd目录,在终端执行以下命令:(注意不要空行)</P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">./</SPAN><SPAN style="COLOR: #000000">configure&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">prefix</SPAN><SPAN style="COLOR: #000000">=/</SPAN><SPAN style="COLOR: #000000">usr</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">local</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">gd&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">with</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">jpeg</SPAN><SPAN style="COLOR: #000000">=/</SPAN><SPAN style="COLOR: #000000">usr</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">local</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">jpeg&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">with</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">freetype</SPAN><SPAN style="COLOR: #000000">=/</SPAN><SPAN style="COLOR: #000000">usr</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">local</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">freetype&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">with</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">png&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">with</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">zlib<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>make<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>make&nbsp;install</SPAN></DIV>
<P><BR>&nbsp;PHP:<BR>&nbsp;&nbsp;进入解压后的gd目录,在终端执行以下命令:(不要空行)<BR></P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">./</SPAN><SPAN style="COLOR: #000000">configure&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">prefix</SPAN><SPAN style="COLOR: #000000">=/</SPAN><SPAN style="COLOR: #000000">opt</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">php&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">with</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">apxs2</SPAN><SPAN style="COLOR: #000000">=/</SPAN><SPAN style="COLOR: #000000">opt</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">httpd</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">bin</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">apxs&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">with</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">gd</SPAN><SPAN style="COLOR: #000000">=/</SPAN><SPAN style="COLOR: #000000">usr</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">local</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">gd&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">enable</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">gd&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">enable</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">gd</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">native</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">ttf&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">with</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">jpeg</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #008080">dir</SPAN><SPAN style="COLOR: #000000">=/</SPAN><SPAN style="COLOR: #000000">usr</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">local</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">jpeg&nbsp;<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">with</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">png&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">with</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">ttf&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">with</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">zlib&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">with</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">freetype</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #008080">dir</SPAN><SPAN style="COLOR: #000000">=/</SPAN><SPAN style="COLOR: #000000">usr</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">local</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">freetype&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">enable</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">magic</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">quotes&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">with</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #008080">mysql</SPAN><SPAN style="COLOR: #000000">=/</SPAN><SPAN style="COLOR: #000000">opt</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #008080">mysql</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">with</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #008080">mysql</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">sock</SPAN><SPAN style="COLOR: #000000">=/</SPAN><SPAN style="COLOR: #000000">opt</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #008080">mysql</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #0000ff">var</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #008080">mysql</SPAN><SPAN style="COLOR: #000000">.</SPAN><SPAN style="COLOR: #000000">sock&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">with</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #008080">iconv</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">with</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">mbstring&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">enable</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">mbstring&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">enable</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">track</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">vars&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">enable</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">force</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">cgi</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">redirect&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">enable</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">ftp&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">with</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">config</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #008080">file</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">path</SPAN><SPAN style="COLOR: #000000">=/</SPAN><SPAN style="COLOR: #000000">opt</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">php</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">etc&nbsp;</SPAN><SPAN style="COLOR: #000000">--</SPAN><SPAN style="COLOR: #000000">with</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">pear</SPAN><SPAN style="COLOR: #000000">=/</SPAN><SPAN style="COLOR: #000000">server</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">php</SPAN><SPAN style="COLOR: #000000">/</SPAN><SPAN style="COLOR: #000000">pear<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>make<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top>make&nbsp;install&nbsp;</SPAN></DIV>
<P>&nbsp;</P>
<P>&nbsp;复制php.ini-dist为php.ini，并存放到/opt/php/etc/目录下.<BR>&nbsp;编辑/opt/php/etc/php.ini文件，找到如下的一行</P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">;default_charset&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">iso-8859-1</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV>
<P><BR>&nbsp;在这行下面加一行</P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">default_charset&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">gb2312</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV>
<P>&nbsp;</P>
<P>&nbsp;ok,现在在httpd.conf指定的网页目录下新建index.php,输入<BR></P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">&lt;?</SPAN><SPAN style="COLOR: #000000">php<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #008080">phpinfo</SPAN><SPAN style="COLOR: #000000">();<BR><IMG src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">?&gt;</SPAN></DIV>
<P><BR><BR>保存,在浏览其中输入localhost,应该能正常显示了吧.</P><img src ="http://www.cnitblog.com/xlmo/aggbug/5190.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/xlmo/" target="_blank">xlmo</a> 2005-12-05 23:22 <a href="http://www.cnitblog.com/xlmo/archive/2005/12/05/5190.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>昨天收到了ubuntu</title><link>http://www.cnitblog.com/xlmo/archive/2005/12/02/5097.html</link><dc:creator>xlmo</dc:creator><author>xlmo</author><pubDate>Fri, 02 Dec 2005 13:44:00 GMT</pubDate><guid>http://www.cnitblog.com/xlmo/archive/2005/12/02/5097.html</guid><wfw:comment>http://www.cnitblog.com/xlmo/comments/5097.html</wfw:comment><comments>http://www.cnitblog.com/xlmo/archive/2005/12/02/5097.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/xlmo/comments/commentRss/5097.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/xlmo/services/trackbacks/5097.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;共3套，i386 32 ,i386 64 ,Mac各一套.<BR>&nbsp;&nbsp;&nbsp;很可惜，我正在用debian，用得挺爽的，而且ubuntu好象默认的是gnome，随然对我来说比kde好用些，但现在我喜欢上了fvwm，所以暂时不打算换ubuntu了，倒是这些cd不知道该怎么处理了。。。<BR><img src ="http://www.cnitblog.com/xlmo/aggbug/5097.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/xlmo/" target="_blank">xlmo</a> 2005-12-02 21:44 <a href="http://www.cnitblog.com/xlmo/archive/2005/12/02/5097.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>今天地震了...</title><link>http://www.cnitblog.com/xlmo/archive/2005/11/26/4933.html</link><dc:creator>xlmo</dc:creator><author>xlmo</author><pubDate>Sat, 26 Nov 2005 15:03:00 GMT</pubDate><guid>http://www.cnitblog.com/xlmo/archive/2005/11/26/4933.html</guid><wfw:comment>http://www.cnitblog.com/xlmo/comments/4933.html</wfw:comment><comments>http://www.cnitblog.com/xlmo/archive/2005/11/26/4933.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/xlmo/comments/commentRss/4933.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/xlmo/services/trackbacks/4933.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;地震的初体验...&nbsp; 值得记忆.<img src ="http://www.cnitblog.com/xlmo/aggbug/4933.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/xlmo/" target="_blank">xlmo</a> 2005-11-26 23:03 <a href="http://www.cnitblog.com/xlmo/archive/2005/11/26/4933.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>今天去申请了一个个人职业主页</title><link>http://www.cnitblog.com/xlmo/archive/2005/11/22/4784.html</link><dc:creator>xlmo</dc:creator><author>xlmo</author><pubDate>Mon, 21 Nov 2005 17:44:00 GMT</pubDate><guid>http://www.cnitblog.com/xlmo/archive/2005/11/22/4784.html</guid><wfw:comment>http://www.cnitblog.com/xlmo/comments/4784.html</wfw:comment><comments>http://www.cnitblog.com/xlmo/archive/2005/11/22/4784.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/xlmo/comments/commentRss/4784.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/xlmo/services/trackbacks/4784.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;其实也就是一个blog（<A href="http://mosir.jobui.com">http://mosir.jobui.com</A>）。只是更加方便于求职，以后同步更新这两个blog了。～<img src ="http://www.cnitblog.com/xlmo/aggbug/4784.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/xlmo/" target="_blank">xlmo</a> 2005-11-22 01:44 <a href="http://www.cnitblog.com/xlmo/archive/2005/11/22/4784.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>今天收到了T-shirt</title><link>http://www.cnitblog.com/xlmo/archive/2005/11/17/4598.html</link><dc:creator>xlmo</dc:creator><author>xlmo</author><pubDate>Thu, 17 Nov 2005 04:57:00 GMT</pubDate><guid>http://www.cnitblog.com/xlmo/archive/2005/11/17/4598.html</guid><wfw:comment>http://www.cnitblog.com/xlmo/comments/4598.html</wfw:comment><comments>http://www.cnitblog.com/xlmo/archive/2005/11/17/4598.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnitblog.com/xlmo/comments/commentRss/4598.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/xlmo/services/trackbacks/4598.html</trackback:ping><description><![CDATA[<P>
<TABLE class=tableborder cellSpacing=1 cellPadding=4 width="99%" align=center>
<TBODY>
<TR class=altbg1 height="100%">
<TD vAlign=top width="79%">
<TABLE style="TABLE-LAYOUT: fixed; WORD-WRAP: break-word" height="100%" cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD vAlign=top><SPAN style="FONT-SIZE: 12px"><BR>
<P align=center><BR><IMG onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" style="CURSOR: hand" onclick="if(!this.resized) {return true;} else {window.open('http://www.phpchina.cn/ourimage/picture1.JPG');}" alt="" src="http://www.phpchina.cn/ourimage/picture1.JPG" width=560 onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border=0 resized="true" pop="Click here to open new window&#10;CTRL+Mouse wheel to zoom in/out"><BR><BR><IMG onmousewheel="return imgzoom(this);" onmouseover="if(this.resized) this.style.cursor='hand';" style="CURSOR: hand" onclick="if(!this.resized) {return true;} else {window.open('http://www.phpchina.cn/ourimage/picture2.JPG');}" alt="" src="http://www.phpchina.cn/ourimage/picture2.JPG" width=560 onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border=0 resized="true" pop="Click here to open new window&#10;CTRL+Mouse wheel to zoom in/out"><BR></P></SPAN></TD></TR></TBODY></TABLE></TD></TR>
<TR class=altbg1>
<TD vAlign=center></TD>
<TD vAlign=bottom></TD></TR></TBODY></TABLE></P>14号寄的,17号才收到....<BR>冬天了,估计没什么机会穿.<img src ="http://www.cnitblog.com/xlmo/aggbug/4598.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/xlmo/" target="_blank">xlmo</a> 2005-11-17 12:57 <a href="http://www.cnitblog.com/xlmo/archive/2005/11/17/4598.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>