ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 深入解析Ubuntu操作系统

深入解析Ubuntu操作系统

原创 Linux操作系统 作者:china-pub 时间:2008-11-04 18:02:58 0 删除 编辑

深入解析Ubuntu操作系统



其他详细信息查看:http://www.china-pub.com/43139

【原 书 名】 Ubuntu Unleashed 
【原出版社】 Sams 
【作  者】(美)Andrew Hudson;Paul Hudson
【译  者】 陈钢;李韬;肖俊 
【出 版 社】 清华大学出版社     【书 号】 9787302175513 
【出版日期】 2008 年6月 【开 本】 16开 【页 码】 737     【版 次】1-1 
    市场价:  ¥98.00      pub价:¥73.50

【内容简介】
Ubuntu是一种用户友好、易于使用的Linux操作系统,已经成为开源领域中炙手可热的明星,深受广大Linux用户的喜爱。本书全面介绍了Ubuntu的安装、使用与管理内容,包括如何配置Linux桌面、如何使用日常工作所需要的软件、如何搭建服务器,以及如何进行Linux编程和网络管理等,是目前市场上介绍Ubuntu操作系统最全面、最翔实的一本著作,可帮助读者切实掌握Ubuntu,成为Ubuntu应用高手。...

【前言】
本书将全面系统地介绍Ubuntu——自由Linux发行版,同时包含了一个由Canonical Software资助,由Ubuntu社区出品的功能全面且内容完整的操作系统。.
Ubuntu直接派生自历史最久远并且最受人敬重的Linux发行版之一:Debian。如果您对Linux一无所知,那么您可能没听说过Debian;不过,您只需知道Debian是当前可用的最稳定和安全的Linux发布之一即可。Ubuntu直接得益于世界各地自由软件开发人员的卓越贡献。
如果您是一位Linux新手,那么您选择本书一定是下了很大决心的。Sams Publishing出版社的Unleashed系列图书都对其主题进行了深入彻底的描述,使得不管是初学者还是高级读者都可以迈上一个新的台阶。Ubuntu是一个变化很快的发行版,每年至少更新两次。我们很早就开始关注Ubuntu的开发,以确保本书中的信息能够以最接近真实情况地反映出Ubuntu发行版的开发情况。本书配套光盘包含了Ubuntu的一个完整副本,您可以通过本书的光盘在不到1个小时的时间内安装Ubuntu!Linux不再是一个新出现的事物,事实上,在当今的现代计算世界中,Linux具有举足轻重的地位。在多种设备,比如移动电话、手表,乃至超级计算机上,都可以找到Linux的影子。实际上,世界500强超级计算机中,目前有半数以上运行的是Linux操作系统。
然而,也不要因为人们对于Linux的议论而阻碍您使用Linux。大多数听说过Linux的人都认为,Linux只在服务器上用来处理网站和电子邮件。实际情况并非如此,因为Linux对桌面市场也有很大的冲击。各个公司逐渐意识到运行一个易于维护和保护而且稳定而强大的操作系统所带来的好处。此外,随着在可用性方面的不断改进,Linux成为了吸引许多CIO的一个充满诱惑力的选择。最好的方面是,随着大型Linux厂商对Linux的改进,重大的改进将形成新的可免费获得的发行版,从而使得您可以得益于这些增强和改进。您现在就可以让Ubuntu运行起来,且一定可以获得很好的用户体验。
本书提供了使用和运行Ubuntu所需的所有信息。本书还将教您如何使Ubuntu处于最佳的运行状态,以及如何使Ubuntu适应您的需求的变化。您可以在很多地方使用Ubuntu,如在家里或工作场所,如果允许的话还可以在学校。事实上,您可能想到您学校的计算机室去看看:您也许会觉得很惊讶——Linux在学术机构非常常见。可以免费获取的软件副本数量没有限制;因为Ubuntu在全世界免费发布,不会给您带来任何版权方面的法律问题。
在对Linux和Ubuntu做了介绍之后,您就会看到如何开始着手接触Ubuntu,包括安装和初始配置。接着,介绍如何安装软件、管理用户和其他常见的管理任务。为了从更高的技术层面考虑,我们还介绍了在多种语言中进行编程的一些开始步骤——为什么不选择其中的一种语言来试一下呢?贯穿全书,我们还会看到有关多媒体应用程序、数字图片乃至游戏(在结束了紧张工作之后的娱乐)。掌握了本书的内容,就具备了成功使用Linux的知识。本书假设您至少熟悉一种操作系统(即使不是Linux)并且具备了一些基本的计算机知识。
什么是Linux
Linux是Linus Benedict
Torvalds于1991年首次开发和发布的一种免费操作系统的核心或内核。Torvalds当时还只是芬兰赫尔辛基大学的一名在校研究生,现在是Open
Source Development Lab实验室(http://www.osdl.org/)的一员。他是一位工程师,之前就职于CPU设计和制造公司全美达(Transmeta,Inc)。让所有的Linux用户感到幸运的是,Torvalds选择在一种免费的软件许可证GNU General Public License(GPL)下发行Linux的。
注意:
免费的在线资源维基百科(Wikipedia)上包含了大量有关Linus Torvalds的个人传记内容,上面分析了他的生活和卓越的成就。可以在http://en.wikipedia.org/wiki/Linux_Torvalds上找到这些内容。也可以在http://groups.google.com/group/comp.os.minix/msg/
b813d52cbc5a044b?hl=en阅读Linus首次在世界上张贴的一份Linux内容。
GNU GPL是Free Software Foundation的奠基人Richard M.Stallman脑力劳动的产物。Stallman是Emacs编辑环境和GCC编译器系统的著名作者,他起草了GPL以确保使用了GPL许可证的软件总是免费的,且总是以开源代码的形式存在。该GPL是Linux及其所有权、发行和版权等问题的指导文档。Torvalds持有Linux商标的权利,但是要感谢他的慷慨、Internet、世界上数千个程序员、GNU软件和GNU GPL,Linux将永远保持自由,不会受到许可证或特权问题的阻碍。参见后面的“许可”一节来了解有关GNU GPL和其他软件许可证的更多信息。
Linux是自由软件,其发音为lih-nucks。将Linux内核与GNU软件工具——驱动程序、用户界面和其他软件(如X.Org Foundation的X Window系统)——组合形成了一个Linux发行版。存在不同厂家的多种Linux发行版,但许多都派生自或类似Red Hat的Linux发行版:Red Hat Linux。
注意:
为了了解有多少发行版是基于Debian
Linux的,可以进入http://www.linux.org/,单击Distributions,然后搜索“Debian-based”。在编写本书时,有52个发行版基于Debian。
什么是Ubuntu
Ubuntu是一个基于Linux内核的操作系统;由Ubuntu Community在http://www/ubuntu.com/对其进行创建、改进、优化和发布。Ubuntu由Canonical Software资助,是一个开源项目,得到了全球的软件开发者社区的支持。
Ubuntu的根源
Ubuntu是一种较新的Linux发行版,于2004年10月发布了第一版。Ubuntu刚一发布就立刻获得了易于安装和易于使用的好名声。有意思的是,Ubuntu为每个发行版提供了稍微有些古怪的代号。然而,Ubuntu本身是基于Debian的,而Debian则是一个要老得多的版本,在广泛的Linux社区中有不少的支持者。Ubuntu将Debian描述成构成它的基石,这很好地表达出了两者之间的关系。还值得注意的是,Debian的版本更新频率之低是出了名的。从Debian 3.0到3.1花了几乎3年的时间,在这段时间中,许多其他的Linux发行版已经远远地走在了Debian的前面。
由Canonical Software发起,且以Mark Shuttleworth强大的资源作为后盾,Ubuntu从一个伟大的版本4.10(Warty Warthog)开始。从一开始,Ubuntu就给出了清晰的目标:提供一个易于安装和使用的发布,而不至于让用户太糊涂,并且可以包含在一张CD中(最近,一个发布占用四五张CD的情况越来越常见)。每6个月发布一次,Ubuntu向Linux社区迈出了一大步,现已成为世界上最流行的Linux发行版之一。
Ubuntu的版本
正如前面所提到的,自第一次于2004年10月发行以来,Ubuntu为它的各个版本选择了一些特定的代号。跟其他常见的版本编号方式不同,Ubuntu决定按照版本的月和年反过来进行编号(按美国的方式是倒过来了,但是按中国的年月顺序却是正的顺序,译者注)。因此,在2004年10月发布的第一版的编号是4.10,随后的版本依次是5.04、5.10和6.06。
代号更好反映出了各个版本的情况:4.10被命名为Warty Warthog,用来表示它是第一版,是一个存在瑕疵的版本。第二个发行版5.04授予Hoary Hedgehog的称号。从5.10开始以比较好的名称,代号为Breezy Badger。然而,对于6.06——Dapper Drake(在桌面上支持了整整3年的一个发行版本)——Ubuntu才真正开始出类拔萃。
许可
对于所有计算机用户而言,软件许可成了一个重要的问题,软件许可涉及到道德、法律和金融等方面的事情。许多消费者认为购买商业或专有操作系统、生产应用程序、工具或游戏的一个副本就意味着获得了所有权,可事实并非如此。在多数情况下,商业软件包自带的最终用户协议(End User License Agreement,EULA)中规定,根据相关的条款您还只是支付了软件包的使用权费用。这通常意味着您不可以对该软件包进行检查、制作副本、共享、重新销售或转让其所有权。有些苛刻的许可证的强制条款甚至不允许您发表或出版关于这个软件的性能对比评价。甚至还有一些阴险的许可阴谋(和支持法律,在美国尤其如此)包含了允许在当地对软件使用情况进行审核的权利!
形成鲜明对比的是,本书配套的软件并非这样。您完全可以制作副本、与朋友一起共享以及在任意多台计算机上安装该软件——然而,我们鼓励您购买本书的其他副本作为礼品赠送给朋友。一定要阅读本书配套光盘的README文件以获取有关所含软件和磁盘内容的重要信息。在安装Ubuntu之后,进入http://www.gnu.org/licenses/gpl.html来找到GNU GPL的一个副本。GPL提供了不受限制的自由:可以对该软件自由使用、复制、学习、修改、改进乃至销售。
您可以在家里或者办公场所让您的Ubuntu副本立刻运行起来,而不用担心软件许可、per-seat工作站或客户许可证、软件审核、特许使用金或任何其他类型的支付给第三方的费用。然而,需要注意的是,尽管Ubuntu自带的大多数软件都是在GPL下获得许可的,但本书光盘上的某些软件包是在其他条款下得到许可的。还存在多种相关的软件许可证,许多软件包都归入开源软件(一种宽广的定义)一类。其中一些包括Artistic
License、BSD License、Mozilla Public License和Q Public License。
要了解有关各种GNU软件许可证的其他信息,请浏览http://www.gnu.org/。要获得有关开源的定义和许可准则,以及大约36种开源许可证条款的链接,则可以浏览http://www.opensource.org/
为什么使用Linux ..
数百万聪明的计算机用户一直都在使用Linux,使用时间超过14年之久。在过去的这些年中,许多国家的许多个人、小型办公室/家庭办公室(SOHO)用户、企业和公司、大学、非赢利机构和政府机构都在Linux的使用方面取得了重大成功。今天,为了在效率、安全和成本节约方面取得进一步的改善,Linux被应用到了许多信息服务/信息技术(IS/IT)环境当中。有许多理由表明使用Linux是明智的,具体如下所示:
·Linux提供了极好的投资回报(ROI)——几乎很少或者不存在基于每客户的成本。与商业操作系统不同的是,Linux不存在特许使用金或许可费用问题,CD-ROM上或者网络共享文件夹上的一个单一Linux发行版就可以形成企业级软件发行版的基础,其中还充满了应用程序和生产软件。定制的公司CD-ROM可以很容易地制作或者可以创建网络共享来在企业级硬件上提供特定的安装。仅这个特性就可以节省数十万美元的IS/IT成本——完全不会存在商业软件垄断者的软件审查的威胁,也避免基本操作系统安装的许可审查和控制。
·Linux可以在桌面上使用—— Linux与它所支持的图形网络协议和界面(X Window系统)一起,自20世纪90年代中期作为消费者UNIX类的桌面操作系统可以很好地工作。UNIX准备用于消费者桌面的这一事实,现在已经由Apple Computer BSD UNIX的引入、采用和快速成熟而得到证实。Apple Computer BSD UNIX——基于Mac OS X——根据Apple的资料,得到超过3000个特定于Mac OS X的内建应用程序的支持。本书配套光盘包含了超过800个软件包,包括Internet连接工具、游戏、一个完整的办公套件、许多不同的字体及数百个图形应用程序。
·Linux可以作为服务器平台工作——Linux具有快速、安全、稳定、可伸缩和健壮的特点。最新版本的Linux内核可以很容易地支持多处理器计算机(为8个CPU做了优化)、大容量的系统内存(达64GB RAM)、大小超过数百GB的单个文件、一个可供选择的现代日志文件系统、数百个进程监视和控制工具及(理论上)同时支持超过40亿用户的能力。IBM、Oracle和其他主要的数据库厂家的企业软件版本都有相应的Linux版本。
·Linux的门槛低,部署成本不高——维护成本也可能降低,因为Linux在各种PC上都能很好地工作,包括遗留硬件,比如基于Intel的486和早期的Pentium CPU。尽管采用较新的硬件可以实现最好的程序性能,因为可以重新编译客户端,针对Pentium类CPU进行优化,基本的安装甚至可以在低端计算机或只有8MB RAM的嵌入式设备上执行。这一特性大大提高了用户基数,延长较老的硬件的使用寿命,有助于为家庭、小企业和公司用户节省费用。
·Linux吸引了硬件行业和软件行业的广泛用户——Linux存在针对每种CPU的版本。现在,当使用ARM、MIPS和其他低功耗处理器设计定制解决方案时,嵌入式系统开发人员开始转向Linux。Linux是第一个可以在Intel的Itanium CPU以及AMD64 CPU集群上使用的完整操作系统;不久的将来还会出现针对HP/Compaq公司的Alpha CPU以及Sun Microsystems公司的SPARC CPU的移植版本。PowerPC的用户也可以方便地在IBM和Apple的硬件上使用Linux的PPC移植版本。
·Linux提供了一个免版税的用于跨平台开发的开发平台——由于存在开源开发模型和可以自由获得的高质量开发工具,Linux为新生的开发人员和技术行业的启动提供了一个低成本的切入点。
·现在,有来自像IBM这样的计算机硬件行业巨头的鼎力支持,使人们有理由相信Linux是一个可行的平台——IBM已经在其公司的整个计算机系列上支持Linux,从低端笔记本电脑到Big Iron大型机。新的公司客户正在准备将Linux用作企业级计算解决方案的一部分。Linux曾经在一些世上最快的计算机(包括IBM的Blue Gene/L)上使用。HP也确保Linux能在其提供的大部分硬件产品上运行。
随着在全世界各个层次的行业中广泛使用Linux,有必要寻求更多的支持,以便获得成本更低、性能更好、更加稳定和安全的实现。
本书读者对象
本书适用于正在寻找Ubuntu用法指导的读者,本书主要关注的是基于Intel处理器的PC平台。尽管本书的内容面向的是中高级用户,但对于只有一点点计算机知识的新用户也可以得益于各章给出的建议、提示、窍门、陷阱和技巧。在每章末尾还提供了查找其他详细的或相关的信息的指导。
如果您是一位Linux新手,则可能需要学习一些新的计算机技能,比如如何调查计算机的硬件,如何对硬盘进行分区,以及如何使用命令行。本书帮助您熟悉这些技能,并向您展示如何了解您的计算机、Linux和Ubuntu自带的软件。具有其他操作系统使用经验的系统管理员可以使用本书的信息安装、搭建和运行常见的Linux软件服务,比如网络文件系统(NFS)、文件传输协议(FTP)服务器和Web服务器(其中包括Apache)。
本书内容
本书按6个大的部分组织,涵盖安装与配置、Ubuntu桌面、系统管理、编程和日常维护以及一个参考部分(附录)。本书配套光盘包含完整的Ubuntu发行版,这样您拥有了对于开始使用Ubuntu所需的一切。本书首先介绍的是对于安装Ubuntu和在目标系统上运行Ubuntu所需的初始和基本任务。
如果您是Linux新手,特别是对Ubuntu不了解,则先阅读第一部分“安装与配置”中的章节。您将得到下列有价值的信息:
·Ubuntu和Linux概述及其在各种计算环境中扮演的角色
·通过分析硬件的需求和系统安装方式的选择来规划安装
·执行各种类型安装的详细步骤
·关于完整安装和配置Linux来使用系统的子系统或外围设备,比如指示设备、键盘、调制解调器、USB设备、电源管理和(笔记本用户要用到的)PCMCIA设备所需的关键配置步骤的重要建议
·新用户从其他计算环境转到Linux环境所需的初始步骤
·配置和使用Linux的图形界面—— X Window系统
·熟悉X Window系统,了解GNOME和KDE
·发现Ubuntu自带的许多生产应用程序
·Internet网上冲浪以及电子邮件和新闻组的使用
·使用Ubuntu听音乐和观看视频
·使用Ubuntu下载和处理来自数码相机的图像
·在Ubuntu下建立本地打印机
·了解目前Linux游戏的现状
从Ubuntu的生产力和桌面介绍的基础上继续前进,进入第二部分“系统管理”,包含如下内容:
·管理用户和组
·自动化任务和使用shell脚本
·监视系统资源和可用性
·备份策略和备份软件
·网络连接,包括共享文件夹和保护网络
·通过拨号连接和宽带连接实现Internet连接
接下来是第三部分“服务器应用”,包含如下内容:
·构建和部署Web服务器
·数据库创建、管理和操作
·文件服务器和打印服务器
·使用FTP在Internet和本地网络上提供文件服务
·使用Postfix构建和部署电子邮件服务器以及管理邮件列表
·创建远程访问网关和服务
·为您的网络配置DNS
·使用LDAP存储有关用户和安全的信息
·配置本地新闻服务器
第四部分“Linux编程”重点介绍了如何使用Ubuntu自带的开发工具扩展Ubuntu的能力。这个部分包含如下内容:
·Perl编程,使用变量和脚本
·Python语言简介
·编写PHP脚本并将其与数据库链接
·Ubuntu中可用的C和C++编程工具以及如何使用GNU C编译器(gcc)
第五部分“Ubuntu日常维护”介绍了一些为了保持系统处于理想运行状态所需的更高级的技能,包含如下内容:
·保护您的机器免受来自外人和病毒的攻击
·性能调优
·命令行高级班
·高级apt
·内核和模块管理与编译
第六部分“附录”给出了广泛的参考资料,为您框定了一个范围,以便进一步探索本书提到的一些主题。...

【目录】
第Ⅰ部分  安装与配置
第1章  Ubuntu概述    3
1.1  什么是Ubuntu    5
1.1.1  Ubuntu内部    5
1.1.2  Ubuntu的安装特点    7
1.1.3  Ubuntu文件系统的特点    8
1.2  Ubuntu的商业应用    9
1.3  Ubuntu的个人应用    10
1.4  64位Ubuntu    11
1.5  基于PPC平台的Ubuntu    11
1.6  基于双核处理器的Ubuntu    11
1.7  充分利用Ubuntu与Linux的文档    11
1.8  Ubuntu开发者与文档    13
1.9  阅读参考    13
第2章  安装Ubuntu前的准备    15
2.1  计划Ubuntu的部署方案    16
2.1.1  商业部署需要考虑的因素    16
2.1.2  系统部署需要考虑的因素    17
2.1.3  用户因素    18
2.1.4  预部署计划的核对表    18
2.1.5  安装计划    20
2.2  硬件需求    20
2.2.1  安装Ubuntu的最低硬件配置    21
2.2.2  在遗留的设备上安装Ubuntu    21
2.2.3  为Ubuntu安装分配硬盘空间    22
2.2.4  检查硬件的兼容性    22
2.2.5  为潜在的硬件问题做准备    23
2.2.6  准备并使用硬件列表    26
2.3  安装过程的准备    30
2.4  安装前与安装过程中的硬盘分区操作    31
2.4.1  选择分区方案    33
2.4.2  将Linux文件系统安排到各个分区上    33
2.5  使用Ubuntu的kickstart安装方式    34
2.6  阅读参考    37
第3章  安装Ubuntu    39
3.1  开始安装前的准备    39
3.1.1  检查硬件规格    40
3.1.2  安装选项    40
3.1.3  计划分区策略    40
3.1.4  引导程序    41
3.1.5  本地光盘安装    41
3.2  逐步安装    42
3.2.1  开始安装    42
3.2.2  首次更新    49
3.3  关机    50
3.4  阅读参考    50
第4章  安装后的配置    53
4.1  安装后配置问题的故障诊断    53
4.2  sudo命令    55
4.3  首次更新    59
4.4  配置软件源    58
4.5  安装显卡驱动    59
4.6  更改Ubuntu的桌面风格    60
4.6.1  更改桌面背景    60
4.6.2  更改颜色    61
4.6.3  更改系统字体    62
4.7  首选行为    63
4.7.1  首选应用程序    63
4.7.2  Removable Drives and Media    64
4.8  输入设备    65
4.8.1  键盘快捷键    65
4.8.2  键盘布局    65
4.8.3  鼠标    66
4.9  检测与配置调制解调器    67
4.9.1  配置串口调制解调器    67
4.9.2  为笔记本电脑配置WinModem    68
4.10  配置Ubuntu中的电源管理    68
4.11  重设日期和时间    69
4.11.1  使用date命令    69
4.11.2  使用hwclock命令    70
4.11.3  更改时间和日期    70
4.12  管理PCMCIA    71
4.12.1  使用PCMCIA    71
4.12.2  控制PCMCIA服务    72
4.13  配置与使用CD、DVD和CD-RW光驱    73
4.14  配置无线网络    75
4.15  配置Firestarter    76
4.16  阅读参考    76
第5章  Ubuntu初步    79
5.1  使用Linux文件系统    80
5.1.1  查看Linux文件系统    81
5.1.2  使用/bin和/sbin目录下的基本命令    83
5.1.3  在/boot目录和/dev目录中存储引导的内核和查看存储设备    84
5.1.4  使用和编辑/etc目录下的文件    84
5.1.5  保护用户目录/home中的内容    85
5.1.6  使用/proc目录的内容与内核进行交互    85
5.1.7  使用/usr目录下的共享数据    87
5.1.8  在/tmp目录下存储临时文件    87
5.1.9  访问/var目录下的可变数据文件    87
5.2  登录与使用Linux    87
5.2.1  基于文本的控制台登录    88
5.2.2  使用虚拟控制台    88
5.2.3  在Linux控制台会话中使用简单的键盘和鼠标技巧    89
5.2.4  退出    90
5.2.5  从远程计算机登录与退出    90
5.3  修改用户信息    92
5.4  阅读文档    93
5.4.1  使用手册页    94
5.4.2  查找和阅读软件包文档    95
5.5  使用shell    95
5.5.1  使用环境变量    97
5.5.2  使用shell导航和搜索    99
5.5.3  使用shell管理文件    100
5.5.4  通过shell压缩和解压的文件    101
5.6  使用文本编辑器    102
5.6.1  使用vi    103
5.6.2  使用emacs    104
5.7  使用权限    105
5.7.1  指派权限    106
5.7.2  目录权限    107
5.7.3  理解设置用户ID和设置组ID权限    109
5.8  以root用户身份工作    110
5.8.1  创建用户    111
5.8.2  删除用户    112
5.8.3  关闭系统    112
5.8.4  重启系统    113
5.9  阅读参考    114
第6章  X Window系统    117
6.1  X的基本概念    118
6.2  使用X11R7    119
6.2.1  xorg.conf文件的元素    120
6.2.2  配置X    124
6.3  启动X    125
6.3.1  使用显示管理器    125
6.3.2  通过使用startx从控制台启动X    128
6.4  选择和使用窗口管理器    129
6.5  GNOME和KDE桌面环境    130
6.5.1  GNU网络对象模型环境GNOME)    130
6.5.2  K桌面环境(KD)    131
6.5.3  Xfce:备选的轻量级桌面环境    132
6.6  阅读参考    133
第7章  管理软件    135
7.1  使用Add/Remove Applications管理软件    135
7.2  使用Synaptic管理软件    136
7.3  保持最新    138
7.4  使用命令行    139
7.4.1  日常使用    140
7.4.2  查找软件    142
7.5  从源代码编译软件    143
7.6  阅读参考    145
第8章  Internet应用:Web冲浪、写邮件、读新闻    147
8.1  选择Web浏览器    147
8.1.1  Mozilla Firefox    148
8.1.2  Mozilla Suite    149
8.1.3  Epiphany    150
8.1.4  Konqueror    150
8.2  选择电子邮件客户端    151
8.2.1  Evolution    152
8.2.2  Mozilla Thunderbird    155
8.2.3  Balsa    155
8.2.4  KMail    155
8.2.5  Mozilla Mail    156
8.2.6  mail应用程序    158
8.2.7  mutt    159
8.2.8  其他邮件客户端    161
8.3  网络新闻概述    161
8.4  选择新闻阅读器    162
8.4.1  slrn新闻客户端    162
8.4.2  Pan新闻客户端    163
8.4.3  Mozilla新闻客户端    164
8.4.4  Thunderbird新闻客户端    166
8.5  Internet Relay Chat    166
8.6  GAIM IM    168
8.7  使用Ekiga进行视频会议    168
8.8  阅读参考    170
第9章  生产应用程序    171
9.1  Ubuntu中的办公套件    172
9.1.1  使用OpenOffice.org    173
9.1.2  使用OpenOffice.org Writer    176
9.1.3  使用OpenOffice.org Calc    178
9.1.4  使用GNOME Office    182
9.1.5  使用KOffice    186
9.2  为Microsoft Windows编写的生产应用程序    189
9.3  阅读参考    189
第10章  多媒体应用    191
10.1  在Ubuntu中烧录CD和DVD    192
10.1.1  从命令行创建CD    193
10.1.2  从命令行创建DVD    194
10.1.3  使用Ubuntu的图形界面客户端创建CD和DVD    196
10.2  声音和音乐    200
10.2.1  声卡    200
10.2.2  录音    200
10.2.3  声音格式    201
10.2.4  翻录音乐    202
10.2.5  音乐播放器    204
10.2.6  流式音频    205
10.3  观看电视和视频    206
10.3.1  电视和视频硬件    206
10.3.2  视频格式    208
10.3.3  在Linux中观看视频    209
10.3.4  使用Linux观看电视    209
10.3.5  个人录像机    210
10.3.6  DVD和视频播放器    211
10.4  阅读参考    212
第11章  图形处理    215
11.1  在Ubuntu中使用数码相机    217
11.1.1  网络摄像头    217
11.1.2  手持式数码相机    218
11.1.3  使用F-Spot    219
11.2  在Ubuntu中使用扫描仪    221
11.2.1  使用图形格式    222
11.2.2  捕获屏幕图像    224
11.3  阅读参考    225
第12章  Ubuntu打印    227
12.1  Ubuntu打印概述    227
12.2  配置和管理打印服务    229
12.2.1  快速完成基于GUI的打印机配置    230
12.2.2  管理打印服务    230
12.3  创建和配置本地打印机    232
12.3.1  创建打印队列    232
12.3.2  编辑打印机设置    235
12.4  阅读参考    236
第13章  游戏    239
13.1  Linux游戏    239
13.1.1  安装专有显卡驱动程序    240
13.1.2  安装DOOM 3    242
13.1.3  安装Unreal Tournament 2004    243
13.1.4  安装Quake 4    244
13.1.5  安装Wolfenstein: Enemy Territory    244
13.1.6  安装Battle for Wesnoth    245
13.1.7  使用Cedega玩Windows游戏    246
13.2  阅读参考    246
第Ⅱ部分  系统管理
第14章  管理用户    249
14.1  用户账户    249
14.1.1  用户ID和组ID    251
14.1.2  文件访问权限    251
14.2  用户组管理    252
14.3  用户管理    256
14.3.1  用户管理工具    256
14.3.2  添加新用户    257
14.3.3  监视用户在系统上的行为    258
14.4  口令管理    259
14.4.1  系统口令策略    259
14.4.2  口令文件    259
14.4.3  shadow口令    261
14.4.4  管理用户口令的安全性    263
14.4.5  用户口令的批量更改    263
14.5  权限提升    264
14.5.1  用su命令临时改变用户身份    264
14.5.2  适时地用sudo命令获取root权限    266
14.5.3  用受限shell控制用户权限    268
14.6  用户登录过程    268
14.7  磁盘配额    269
14.7.1  使用磁盘配额    270
14.7.2  手动配置磁盘配额    270
14.8  阅读参考    272
第15章  自动执行任务    273
15.1  自启动服务    274
15.1.1  开始启动加载过程    274
15.1.2  加载Linux内核    275
15.1.3  系统服务和运行级别    276
15.1.4  运行级别的定义    276
15.1.5  启动到默认运行级别    277
15.1.6  用GRUB启动到非默认的运行级别    278
15.1.7  理解init脚本以及初始化的最后步骤    278
15.1.8  用管理工具控制自启动服务    279
15.1.9  改变运行级别    280
15.1.10  利用运行级别排除故障    280
15.2  手动启动和停止服务    281
15.3  计划任务    282
15.3.1  使用at和batch命令制定计划任务    282
15.3.2  使用cron命令重复执行任务    284
15.4  shell控制基础    287
15.4.1  shell命令行    287
15.4.2  在shell中进行模式匹配    289
15.4.3  输入输出的重定向    290
15.4.4  管道数据    290
15.4.5  后台处理    291
15.5  编写和执行shell脚本    291
15.5.1  运行shell脚本程序    293
15.5.2  系统启动时自动加载shell脚本    294
15.5.3  使用指定的命令行解释器运行shell脚本    294
15.5.4  在脚本中使用变量    295
15.5.5  给变量赋值    296
15.5.6  获取变量的值    296
15.5.7  位置参数    296
15.5.8  位置参数实例    297
15.5.9  使用位置参数从命令行获取变量    298
15.5.10  使用简单的脚本自动执行任务    298
15.5.11  内置变量    300
15.5.12  特殊字符    301
15.5.13  用双引号处理字符串中含有空格的变量    301
15.5.14  用单引号保留未被扩展的变量    302
15.5.15  使用反斜杠作为逃逸符号    303
15.5.16  使用backtick符号    303
15.5.17  pdksh和bash中的表达式比较    304
15.5.18  tcsh中的表达式比较    308
15.5.19  for语句    312
15.5.20  while语句    313
15.5.21  until语句    315
15.5.22  repeat语句(tcsh)    316
15.5.23  select语句(pdksh)    316
15.5.24  shift语句    317
15.5.25  if语句    317
15.5.26  case语句    318
15.5.27  break和exit语句    320
15.5.28  在shell脚本中使用函数    320
15.6  阅读参考    321
第16章  系统资源    323
16.1  系统监视工具    323
16.1.1  控制台环境下的系统监视    323
16.1.2  使用kill命令控制进程    325
16.1.3  进程优先级调度与控制    326
16.1.4  使用free命令显示内存使用情况    327
16.1.5  磁盘配额    328
16.1.6  图形界面的进程和系统管理工具    328
16.1.7  KDE桌面环境的进程和系统监视工具    330
16.2  阅读参考    332
第17章  备份、还原和恢复    333
17.1  选择合适的备份策略    333
17.1.1  为什么会丢失数据    334
17.1.2  备份需求与所需资源的评估    334
17.1.3  如何评价备份策略的好坏    336
17.1.4  做出选择    339
17.2  选择备份硬件和介质    339
17.2.1  可移动存储介质    339
17.2.2  网络存储    341
17.2.3  磁带驱动器备份    341
17.3  使用备份软件    342
17.3.1  tar:最基本的备份工具    342
17.3.2  GNOME中的File Roller软件    344
17.3.3  KDE中的归档工具(KDE ark和kdat)    345
17.3.4  使用dd命令归档    346
17.3.5  使用Amanda备份程序    346
17.3.6  可供选择的其他备份软件    347
17.4  复制文件    347
17.4.1  用tar命令复制文件    348
17.4.2  压缩、加密和发送tar数据流    348
17.4.3  用cp命令复制文件    349
17.4.4  用mc命令复制文件    349
17.4.5  用scp命令复制文件    350
17.4.6  用rsync命令复制文件    351
17.5  恢复被删除的文件    353
17.5.1  在遇到未知的文件系统错误时使用-S选项重新格式化    353
17.5.2  用mc命令恢复被删除的文件    354
17.6  系统修复    355
17.6.1  Ubuntu系统修复盘    355
17.6.2  备份和恢复主引导记录    355
17.6.3  从普通的可引导软盘启动系统    356
17.6.4  使用GRUB可引导软盘    356
17.6.5  使用系统恢复功能    357
17.7  阅读参考    357
第18章  网络连接    359
18.1  基础:localhost接口    359
18.1.1  检查loopback接口是否可用    360
18.1.2  手动配置loopback接口    360
18.2  TCP/IP网络    361
18.2.1  TCP/IP地址    362
18.2.2  在Ubuntu中使用IP伪装技术    364
18.2.3  端口    364
18.3  网络结构    365
18.3.1  子网划分    365
18.3.2  子网掩码    366
18.3.3  广播、单播和多播地址    366
18.4  网络硬件设备    367
18.4.1  网卡    367
18.4.2  网线    369
18.4.3  集线器和交换机    370
18.4.4  路由器和网桥    371
18.4.5  初始化新的网络硬件    371
18.5  使用网络配置工具    373
18.5.1  在命令行中配置网络接口    374
18.5.2  网络配置文件    378
18.5.3  使用图形界面配置工具    380
18.6  动态主机配置协议    382
18.6.1  DHCP工作原理    382
18.6.2  在安装和启动时激活DHCP    383
18.6.3  DHCP软件的安装和配置    384
18.6.4  使用DHCP配置网络主机    385
18.6.5  DHCP的其他用途    387
18.7  无线网络    387
18.7.1  Ubuntu对无线网络的支持..    387
18.7.2  无线网络的优势    388
18.7.3  从现有的无线网络协议中选择合适的协议    389
18.8  连接Internet    389
18.9  通用的配置信息    390
18.10  配置数字用户线路访问Internet    391
18.10.1  理解以太网上的点对点协议    392
18.10.2  手动配置PPPoE连接    392
18.11  配置拨号Internet访问    393
18.12  排除连接故障    396
18.13  阅读参考    398
18.13.1  通用    398
18.13.2  DHCP    398
18.13.3  无线网络    398
18.13.4  书籍    398
第19章  使用ssh和telnet进行远程访问    399
19.1  架设Telnet服务器    399
19.2  Telnet与SSH的对比    400
19.3  架设SSH服务器    400
19.4  SSH工具    401
19.4.1  使用scp在计算机之间复制单个文件    401
19.4.2  使用sftp在计算机之间复制多个文件    402
19.4.3  使用ssh-keygen启动Key-based登录方式    403
19.5  远程X图形环境    404
19.5.1  XDMCP    404
19.5.2  VNC    405
19.6  阅读参考    406
第Ⅲ部分  服务器应用
第20章  Apache Web服务器管理    409
20.1  Apache Web服务器简介    409
20.2  安装Apache服务器    411
20.2.1  使用APT安装    411
20.2.2  亲自从源代码构建    412
20.3  启动与停止Apache    414
20.3.1  手动启动Apache服务器    415
20.3.2  使用/etc/init.d/apache2    416
20.4  设置运行时服务器配置    417
20.4.1  运行时配置指令    417
20.4.2  编辑httpd.conf    418
20.4.3  Apache多处理模块    420
20.4.4  使用.htaccess配置文件    421
20.5  文件系统认证与访问控制    423
20.5.1  使用allow和deny限制访问    423
20.5.2  认证    424
20.5.3  关于访问控制的结束语    426
20.6  Apache模块    427
20.6.1  mod_access    427
20.6.2  mod_alias    427
20.6.3  mod_asis    428
20.6.4  mod_auth    428
20.6.5  mod_auth_anon    428
20.6.6  mod_auth_dbm    428
20.6.7  mod_auth_digest    428
20.6.8  mod_autoindex    429
20.6.9  mod_cgi    429
20.6.10  mod_dir和mod_env    429
20.6.11  mod_expires    429
20.6.12  mod_headers    429
20.6.13  mod_include    429
20.6.14  mod_info和mod_log_config    430
20.6.15  mod_mime和mod_mime_magic    430
20.6.16  mod_negotiation    430
20.6.17  mod_proxy    430
20.6.18  mod_rewrite    430
20.6.19  mod_setenvif    430
20.6.20  mod_speling    430
20.6.21  mod_status    431
20.6.22  mod_ssl    431
20.6.23  mod_unique_id    431
20.6.24  mod_userdir    431
20.6.25  mod_usertrack    431
20.6.26  mod_vhost_alias    431
20.7  虚拟主机    431
20.7.1  基于地址的虚拟主机    432
20.7.2  基于名字的虚拟主机    432
20.8  日志    433
20.9  动态内容    435
20.9.1  CGI    435
20.9.2  SSI    436
20.9.3  基本的SSI指令    437
20.9.4  流程控制    440
20.10  可在Ubuntu中使用的其他Web服务器    441
20.10.1  Sun ONE Web服务器    441
20.10.2  Zope    442
20.10.3  Zeus Web服务器    442
20.11  阅读参考    442
第21章  管理数据库服务    445
21.1  简要回顾数据库的基本概念    446
21.1.1  关系数据库的工作方式    447
21.1.2  了解SQL的基础知识    448
21.1.3  创建表    449
21.1.4  向表中插入数据    450
21.1.5  从数据库中检索数据    451
21.2  选择数据库:MySQL和PostgreSQL    452
21.2.1  速度    453
21.2.2  数据锁定    453
21.2.3  在事务处理中用来保护数据完整性的ACID兼容性    454
21.2.4  SQL子查询    454
21.2.5  过程语言与触发器    454
21.3  配置MySQL    455
21.3.1  为MySQL root用户设置口令    456
21.3.2  在MySQL中创建数据库    456
21.3.3  在MySQL中授予与撤销特权    456
21.4  配置PostgreSQL    458
21.4.1  在PostgreSQL中初始化数据目录    458
21.4.2  在PostgreSQL中创建数据库    460
21.4.3  在PostgreSQL中创建数据库用户    460
21.4.4  在PostgreSQL中删除数据库用户    461
21.4.5  在PostgreSQL中授予和撤销特权    461
21.5  数据库客户端    462
21.5.1  通过SSH访问数据库    462
21.5.2  通过本地GUI客户端访问数据库    464
21.5.3  通过Web访问数据库    464
21.5.4  MySQL命令行客户端    465
21.5.5  PostgreSQL命令行客户端    466
21.5.6  图形界面的客户端    467
21.6  阅读参考    467
第22章  文件和打印    469
22.1  使用网络文件系统    470
22.1.1  安装和启动/停止NFS    470
22.1.2  NFS服务器配置    470
22.1.3  NFS客户端配置    472
22.2  让Samba工作    473
22.2.1  用/etc/samba/smb.conf手动配置Samba    474
22.2.2  使用testparm命令测试Samba    476
22.2.3  启动smbd守护进程    477
22.2.4  挂载Samba共享    478
22.2.5  使用SWAT配置Samba    478
22.3  使用Ubuntu进行网络和远程打印    482
22.3.1  创建网络打印机    483
22.3.2  在局域网上进行网络打印    483
22.3.3  任务消息块打印    484
22.4  使用通用UNIX打印系统GUI    485
22.5  避免打印机支持问题    489
22.5.1  多功能一体机(打印/传真/扫描)设备    489
22.5.2  使用USB和老式打印机    489
22.6  阅读参考    490
第23章  FTP远程文件服务    491
23.1  使用FTP客户端    491
23.1.1  FTP客户端界面    492
23.1.2  使用基于文本的FTP客户端界面    492
23.1.3  使用图形界面FTP客户端    499
23.2  FTP服务器    501
23.2.1  选择认证的或匿名服务器    502
23.2.2  Ubuntu的FTP服务器包    502
23.2.3  其他FTP服务器    502
23.3  安装FTP软件    503
23.4  FTP用户    504
23.5  为wu-ftpd配置inetd    505
23.6  配置VSFTP服务器    506
23.6.1  控制匿名访问    506
23.6.2  其他的vsftpd服务器配置文件    507
23.6.3  默认的vsftpd行为    507
23.7  配置Wu-FTPd服务器    509
23.8  使用ftpaccess文件中的命令对wu-ftpd进行配置    509
23.8.1  配置访问控制    510
23.8.2  配置用户信息    512
23.8.3  配置系统日志    516
23.8.4  配置权限控制    517
23.8.5  配置定向到cdpath的命令    519
23.8.6  shutdown文件的结构    520
23.9  配置FTP服务器的文件转换操作    520
23.9.1  剥离前缀    521
23.9.2  剥离后缀    521
23.9.3  添加前缀    521
23.9.4  添加后缀    521
23.9.5  外部命令    521
23.9.6  类型    522
23.9.7  选项    522
23.9.8  描述    522
23.9.9  一个转换操作的例子    522
23.10  使用ftphosts文件中的命令允许或禁止FTP 服务器连接    523
23.11  服务器管理    524
23.11.1  显示关于连接用户的信息    524
23.11.2  计算连接的数目    525
23.11.3  使用/usr/sbin/ftpshut安排FTP服务器停机时间    525
23.11.4  使用/var/log/xferlog查看服务器事务的日志    527
23.12  阅读参考    529
第24章  处理电子邮件    531
24.1  电子邮件是如何发送和接收的    531
24.1.1  邮件传输代理    532
24.1.2  选择一个MTA    534
24.1.3  邮件分发代理    534
24.1.4  邮件用户代理    535
24.2  基本的Postfix配置和操作    535
24.2.1  配置伪装    536
24.2.2  使用智能主机    537
24.2.3  设置消息传递时间间隔    537
24.2.4  邮件中继    538
24.2.5  转发带别名的电子邮件    538
24.3  使用Fetchmail获取邮件    539
24.3.1  安装Fetchmail    539
24.3.2  配置Fetchmail    539
24.4  选择邮件分发代理    542
24.4.1  Procmail    542
24.4.2  Spamassassin    543
24.4.3  Squirrelmail    543
24.4.4  病毒扫描器    543
24.5  邮件守护程序    544
24.6  Microsoft Exchange Server的替代者    544
24.6.1  Microsoft Exchange Server/Outlook客户端    544
24.6.2  CommuniGate Pro    545
24.6.3  Oracle协作套件    545
24.6.4  Bynari    545
24.6.5  Open-Xchange    545
24.6.6  phpgroupware    545
24.6.7  PHProjekt    545
24.6.8  Horde    546
24.7  阅读参考    546
24.7.1  Web资源    546
24.7.2  参考书目    547
第25章  代理与反向代理    549
25.1  什么是代理服务器    549
25.2  安装Squid    549
25.3  配置客户端    550
25.4  访问控制列表    551
25.5  指定客户端IP地址    555
25.6  配置示例    556
25.7  阅读参考    557
第26章  LDAP    559
26.1  配置LDAP服务器    560
26.2  配置客户端    564
26.2.1  Evolution    564
26.2.2  Thunderbird    564
26.3  管理    566
26.4  阅读参考    566
第Ⅳ部分  Linux编程
第27章  使用Perl    569
27.1  在Linux中使用Perl    569
27.1.1  Perl的版本    570
27.1.2  一个简单的Perl程序    570
27.2  Perl中的变量和数据结构    572
27.2.1  Perl的变量类型    572
27.2.2  特殊变量    573
27.3  操作符    573
27.3.1  比较操作符    574
27.3.2  复合操作符    574
27.3.3  算术操作符    575
27.3.4  其他操作符    575
27.3.5  特殊字符串常量    576
27.4  条件语句:if/else和unless    577
27.4.1  if    577
27.4.2  unless    577
27.5  循环    578
27.5.1  for    578
27.5.2  foreach    578
27.5.3  while    579
27.5.4  until    579
27.5.5  last和next    579
27.5.6  do…while和do…until    580
27.6  正则表达式    580
27.7  访问shell    581
27.8  模块和CPAN    582
27.9  代码示例    582
27.9.1  发送电子邮件    582
27.9.2  清理日志    584
27.9.3  往新闻组发信    585
27.9.4  单行小程序    586
27.9.5  命令行处理    586
27.10  阅读参考    587
27.10.1  书目    587
27.10.2  新闻组    588
27.10.3  万维网    588
27.10.4  其他资源    589
第28章  使用Python    591
28.1  Linux中的Python    591
28.2  Python基础    592
28.2.1  数字    593
28.2.2  进一步讨论字符串    594
28.2.3  列表    596
28.2.4  字典    598
28.2.5  条件和循环    599
28.3  函数    601
28.4  面向对象    602
28.4.1  类和对象变量    602
28.4.2  构造函数和析构函数    603
28.4.3  类继承    604
28.4.4  多重继承    606
28.5  标准库和Vaults of Parnassus    606
28.6  阅读参考    607
第29章  编写PHP脚本    609
29.1  PHP入门    609
29.1.1  进入和退出PHP模式    610
29.1.2  变量    610
29.1.3  数组    612
29.1.4  常量    613
29.1.5  引用    613
29.1.6  注释    614
29.1.7  转义序列    614
29.1.8  变量替换    615
29.1.9  操作符    616
29.1.10  条件语句    618
29.1.11  特殊操作符    619
29.1.12  switch语句    620
29.1.13  循环    621
29.1.14  包含其他文件    623
29.2  基本函数    624
29.2.1  字符串    624
29.2.2  数组    627
29.2.3  文件    629
29.2.4  其他函数    630
29.3  处理HTML表格    634
29.4  数据库    634
29.5  阅读参考    636
第30章  Ubuntu中的C/C++ 编程工具    639
30.1  Linux中的C编程    639
30.1.1  C++编程    640
30.1.2  Linux C/C++编程入门    640
30.1.3  编程的步骤    641
30.2  C/C++语言的基本元素    641
30.3  Ubuntu中的C语言编程项目管理工具    642
30.3.1  使用make构建程序    642
30.3.2  使用autoconf工具配置代码    644
30.3.3  使用RCS和CVS管理软件项目    644
30.3.4  调试工具    645
30.4  使用GNU C编译器    646
30.5  一个简单的C程序    647
30.6  图形界面开发工具    648
30.6.1  使用KDevelop客户端    648
30.6.2  Trolltech的Qt Designer    649
30.6.3  GNOME中的开发工具Glade客户端    650
30.7  阅读参考    651
第Ⅴ部分  Ubuntu日常维护
第31章  保护您的机器    655
31.1  了解计算机攻击    655
31.2  评估机器的弱点    657
31.3  保护您的机器    658
31.3.1  保护无线网络    658
31.3.2  口令和物理安全    659
31.3.3  配置和使用Tripwire    659
31.3.4  设备    661
31.4  病毒    661
31.5  配置防火墙    662
31.6  构建一个灾难恢复计划    662
31.7  在Linux安全问题上要保持最新    663
31.8  阅读参考    664
第32章  性能调整    665
32.1  硬盘    665
32.1.1  使用BIOS和内核来调整磁盘驱动器    666
32.1.2  hdparm命令    666
32.1.3  文件系统调整    667
32.1.4  tune2fs命令    668
32.1.5  e2fsck命令    668
32.1.6  badblocks命令    669
32.1.7  禁止文件访问时间    669
32.2  内核    669
32.3  Apache    670
32.4  MySQL    671
32.4.1  衡量关键字缓冲区的使用    672
32.4.2  使用查询缓存    673
32.4.3  其他调整    675
32.4.4  查询优化    675
32.5  阅读参考    675
第33章  命令行高级班    677
33.1  为什么使用Shell    678
33.2  基本命令    679
33.2.1  使用cat输出文件的内容    680
33.2.2  使用cd改变目录    681
33.2.3  使用chmod修改文件访问权限    682
33.2.4  使用cp复制文件    683
33.2.5  使用du输出磁盘使用情况    683
33.2.6  通过使用find查找文件    684
33.2.7  使用grep在输入中查找字符串    686
33.2.8  使用less为输出翻页    687
33.2.9  使用ln在文件间创建链接    689
33.2.10  使用locate通过索引查找文件    690
33.2.11  使用ls命令列出当前目录下的文件    691
33.2.12  使用man阅读用户手册页    692
33.2.13  使用mkdir创建目录    693
33.2.14  使用mv移动文件    693
33.2.15  使用ps列出进程    693
33.2.16  使用rm删除文件和目录    694
33.2.17  使用tail输出文件的最后一行    694
33.2.18  使用top输出资源利用率    695
33.2.19  使用which输出命令的位置    696
33.3  将命令组合使用    696
33.4  多终端    698
33.5  阅读参考    700
第34章  高级APT    701
34.1  使用Aptitude    701
34.2  dpkg后端    702
34.3  配置APT    704
34.4  阅读参考    705
第35章  内核和模块管理    707
35.1  Linux内核    708
35.1.1  Linux源代码树    708
35.1.2  内核的类型    710
35.2  管理模块    711
35.3  何时进行重新编译    713
35.4  内核版本    714
35.5  获得内核源代码    714
35.6  为内核打补丁    715
35.7  编译内核    717
35.7.1  使用xconfig配置内核    721
35.7.2  创建一个初始的RAM磁盘映像    724
35.8  当发生故障时    724
35.8.1  编译时的错误    724
35.8.2  运行时错误、启动加载器问题和内核oops    725
35.9  阅读参考    726
第Ⅵ部分  附录
附录A   Ubuntu和Linux的Internet资源    729
A.1  Web站点和搜索引擎    730
A.2  Usenet新闻组    735
A.3  邮件列表    736
A.4  Internet Relay Chat ...   737

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16566727/viewspace-485721/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-10-29

  • 博文量
    922
  • 访问量
    1359639