Professional Documents
Culture Documents
开源 2008 年第 8 期 1
卷首语
卷首语
Linux:从 LiveCD 到自启动 U 盘
USB 接口设备,想必大家都并不陌生,USB 设备用得多了,当然对 USB 标准也有所耳
闻。数年前,USB 2.0 将 USB 传输速度从 12Mbps 大幅提升到 480Mbps,而现在,USB
3.0 标准也即将问世。Intel 正率领一众业内厂商开发下一代的 USB 3.0 标准,速度有望再次
提高 10 倍,目前,USB 3.0 标准已经完成了 90%左右,预计今年第四季度全部完成。
USB 3.0 标准发布,传输速率将得到大幅提升,这对于时常使用 USB 接口数码设备的
朋友将是一个福音,同时,对于传统的 Linux 操作系统领域,也将带来一定的冲击。
传统的 PC 电脑,人们都习惯于将操作系统预装到 PC 电脑的硬盘上,通过硬盘启动操
作系统开始作业。随着光盘技术的发展,在 2000 年前后,几个德国人在 Linux 发行版
Debian 的基础上,发明了“on-the-fly”技术,把操作系统压缩到一张普通的 CD 光盘上,
通过该 CD 启动计算机,而根本不需要硬盘之类的存储介质,他们将此独立为一个 Linux 的
衍生版本,取之名曰 Knoppix,而人们将通过此种方式运行电脑的操作系统光盘称之为
“LiveCD”。
Linux LiveCD 的诞生,对于 Linux 的推广及扩大应用起到了很大的促进作用。在当时,
桌面 Linux 很多功能并不完善,Linux 作为一个新生事物受到人们的普遍怀疑,很多人希望
尝试一下这个有别于 Windows 的操作系统,但又恐不适应或者不满足自身使用需求而感到
畏惧,LiveCD 的出现很好地解决了这一问题。在不需要将系统安装在硬盘的情况下,人们
只需要插入一张 CD 就可以尝试 Linux 操作系统,在熟悉了 Linux 环境的日常操作或者认可
了这一新的操作系统时,人们再将其安装于硬盘上。同时,一些 Linux 爱好者,积极推动
Linux 的普及,但是发现很困难,当将朋友的电脑操作系统换成 Linux 后,结果朋友根本不
会使用,这不仅受到了朋友的责备,也使其丧失了对 Linux 的信心,结果适得其反。
LiveCD 出现后,人们只需要传递一张普通 CD,就能很好的推广 Linux,朋友在高兴的时候
插入 CD“玩玩”,而并不影响其正常使用 Windows 工作,并且随着 Linux 的不断升级,
能使其不断尝试升级后的 Linux,从而最终认可这一操作系统。
随着 Linux 桌面的不断完善,LiveCD 遇到了瓶颈。人们发现,Linux 能很好的满足其需
求,能完全能取代 Windows,或者用户体验比 Windows 更加出色的时候,LiveCD 已经显
得不合时宜,主要来自三个原因,其一是 CD 的读写速度已经不能满足于需求,无论是当时
52X 的 CD 光驱还是 16X 的 DVD 光驱,运行 LiveCD 已经显得非常吃力,并且随着 Linux
开源 2008 年第 8 期 2
卷首语
桌面应用不断丰富,人们已经不能满足运行程序等上数分钟的状态了。第二个原因是普通的
CD 并不是一个能随时轻松自由读写的存储介质,LiveCD 一般只支持读操作,而并不支持写
操作,也就是人们通过 LiveCD 运行电脑后的所有操作及更改,并不能进行保存,而下一次
启动 LiveCD 得到的依然是一个崭新的系统。最后一个原因就是普通 CD 的读写寿命都很短
暂,并且很容易受到“污染”而使其作废,这种情况下,人们就不可能完全地将自己的工作
交由一张“不靠谱”的 CD。因此,LiveCD 更多的是爱好者手中的一个玩具。
随着闪存 U 盘不断降价以及 USB2.0 的出现,人们发现 U 盘能很好的取代 LiveCD 的
CD 存储介质,能将操作系统预装到 U 盘里面,开机自启动。2006 年年底,法国 Mandriva
公司将 Mandriva Linux 预装到 U 盘里面,推出了 “Liveflashkey”(容量为 2GB),两周
之内销售了 10 万个,随后相继推出 4G 版、8G 版,在法国掀起了自启动 U 盘的热潮。
自启动 U 盘比之过去的 LiveCD 有着多方面的优势,最主要的原因是 U 盘能自由的进行
读写操作,人们能将在操作系统上的更改进行保存。目前,U 盘的寿命在正常的读写操作情
况下,被证明能使用 10 年左右,这和传统的存储介质硬盘相比也毫不逊色,同时,USB
2.0 的读写速度与 CD 相比,已经快了数十倍,在 U 盘上运行程序与硬盘上运行程序的差距
正在缩小。
就在 8 月 19 日,百度宣布以闪存及配套技术全面代替硬盘存储,而其承载全球检索及
索引存储的运算集群中的硬盘已全部拆除,这是闪存与硬盘这两种新老存储介质竞争中的一
次胜利。闪存具有快速、安全、低功耗等优点,而此前被硬盘厂商诟病的容量小、成本高的
缺点正在得到改善,目前市面上 16G 的闪存盘价格在 400 人民币左右,而 8G 的闪存盘价
格更是低至到 200 元,而这种更快、更大、更便宜的趋势正在加速的演进中,闪存介质的
兴起已经成为未来一种趋势。
随着闪存介质的发展,尤其当 USB 3.0 标准出台的时候,我们应该看到一个由闪存软件
组成的市场。在这里,任何的软件都存储在闪存上,运行任何需要的软件都只需要插入一个
U 盘甚至是 SD 卡等其他闪存设备,当然这也包括了 Linux 等操作系统。我们甚至可以继续
设想,具有丰富定制功能的 Linux 操作系统被各个行业、各个领域进行个性化定制,而从事
不同职业的人们不论走到哪里,只需要随身携带一个闪存设备,就能随时随地拥有一个完全
属于自己的操作系统。
开源 2008 年第 8 期 3
卷首语
开源 2008 年第 8 期 4
目录
目录
卷首语..................................................................................................................................................2
Linux:从 LiveCD 到自启动 U 盘.................................................................................................2
产业聚焦..............................................................................................................................................7
《开源》杂志成立专委会和顾委会.............................................................................................7
Vmware 与 Ubuntu 加盟 Linux 基金会..........................................................................................8
奥运开幕式惊现 Windows 蓝屏.....................................................................................................8
浏览器使用率月度统计.................................................................................................................8
QQ for Linux 1.0 如期而至............................................................................................................9
OpenWeb 基金会成立...................................................................................................................10
美国上诉法院裁定:违反开源许可条款即构成侵权...............................................................10
ISO 驳回印度等四国上诉............................................................................................................10
Linux 将开始主导 MID 市场........................................................................................................11
谷歌与开源组织合作觊觎低价 Linux 市场................................................................................12
红旗发布 Linux 奥运预览版........................................................................................................13
十大轻量级的 Linux 发行版........................................................................................................14
SaaS 和云计算:开源软件的危机...............................................................................................16
开源“云计算”...........................................................................................................................17
云计算的一个问题.......................................................................................................................18
开源通讯............................................................................................................................................20
Intel 向 AKA 社区捐赠 Atom 开发平台......................................................................................20
富士通南大软件积极回馈 Linux Kernel 社区............................................................................21
甲骨文公司在中国推进 UBL.......................................................................................................22
WPS 将运行在 Linux 系统上.......................................................................................................23
开源社区............................................................................................................................................24
SourceForge 宣布 2008 年度社区选择奖.....................................................................................24
Linuxpk 首发 VIM 用户手册 7.2 中文版.....................................................................................24
“小芭比” Puppy Linux 中文版问世........................................................................................25
Java 播放器 YOYOPlayer1.1.3 发布............................................................................................26
Pidgin(Gaim)发布 2.5.0 版............................................................................................................26
GNOME 2.23.6 正式发布.............................................................................................................27
微软赞助 Apache 的背后..............................................................................................................28
自由软件的伟大胜利...................................................................................................................29
工作与社区奉献并不矛盾...........................................................................................................31
开源 CMS 驱动 Web 2.0...............................................................................................................34
开源 2008 年第 8 期 5
目录
知识学堂............................................................................................................................................38
Linux 下设备完全驱动(三).....................................................................................................38
PC 的足迹(中)..........................................................................................................................50
经验技巧............................................................................................................................................57
Linux 一句话精彩问答——系统配置篇(6)...........................................................................57
编写包含图形界面的 shell 脚本:Zenity 介绍...........................................................................61
如何在 Linux 操作系统中收看奥运直播....................................................................................68
如何给 Grub 加密码......................................................................................................................70
Linux 系统下光驱软开关与限速.................................................................................................71
修改 Linux 下 22 端口方法介绍...................................................................................................72
有关加强 Linux 安全的配置说明................................................................................................73
pdftk 随心所欲操作 PDF 文件.....................................................................................................75
屏幕窗口的收纳盒——Screen 工具............................................................................................77
企业应用............................................................................................................................................79
建立可全面监控 Squid 代理服务器............................................................................................79
基于 djbdns 打造安全的 DNS 应用..............................................................................................90
使用 Vtiger CRM 进行客户管理..................................................................................................98
嵌入式..............................................................................................................................................108
MMU 与 Cache............................................................................................................................108
开源小知识......................................................................................................................................120
为什么开发者需要了解软件的知识产权?.............................................................................120
软件产品为什么需要许可协议?.............................................................................................121
编读往来..........................................................................................................................................122
Linuxpk.com 8月十大热门帖...................................................................................................122
开源 2008 年第 8 期 6
产业聚集
产业聚焦
《开源》杂志成立专委会和顾委会
《开源》杂志发布第八期之际,决定成立专家委员会和顾问委员会,同时 Linux 宝库
(Linuxpk.com)成为中国开源软件推进联盟(COPU)成员。
《开源》电子杂志成功发行七期,已经成为中国开源领域下载量最大、传播范围最广、
影响最深的电子期刊杂志。此次通过成立专家团队的方式对杂志的方向进行把握,同时对杂
志的内容进行指导,使其成为开源领域一本具有专业性和权威性的电子杂志。
专家委员会成员均来自第三方的开源领域专家,专拣委员会成员包括:倡导开源与国产
软件的倪光南院士、将开源软件库从芬南背回中国的宫敏博士、致力于原汁原味引入自由软
件的袁萌教授、内核专家毛德操教授、QualiPSO 项目负责人许洪波教授,以及来自美国的
陈怀临先生。
顾问委员会主要来自开源厂商及支持开源的厂商专家成员,目前包括:中科红旗总裁贾
栋、中标软件副总裁曹冬、
Intel 中国 Linux 和开源战
略经理陈绪、微软平台战
略总监李科研,以及 EMC
中国实验室主任兼首席科
学家毛文波。
相信随着专家委员会
和顾问委员会的成立,将
为《开源》杂志带来新的
发展机遇,同时进一步提
高其专业性与权威性,为
开源业界、开源社区奉献
一本精品的开源杂志。
开源 2008 年第 8 期 7
产业聚集
奥运开幕式惊现 Windows 蓝屏
8 月 8 日,第 29 届夏季奥运会正式拉开帷幕。
2008 北京奥运会开幕式的盛大隆重不仅征服了国
人,也赢得了世界各国媒体的交口称赞。
当来自微软的工程师还在为 Windows XP
Embedded 在奥运开幕式顺利完成任务而兴奋不
已的时候(美联社的报道称微软动用了 120 台基于
XPe Axon Media Servers),却不知有人在鸟巢
奥运开幕式现场 H 区 3 层的顶棚拍摄到
Windows 经典蓝屏的照片。
浏览器使用率月度统计
尽管最新的日度统计显示,Firefox 在 7 月底 统计却表现出了些许不同的态势,IE 在 7 月占有
市场占有率已经超过 20%,而 IE 则已经降至 率小幅回升,Firefox 的份额增长则主要来自于
70%以下。但 Net Application 刚刚放出的月度 Safari 的下滑。
开源 2008 年第 8 期 8
产业聚集
开源 2008 年第 8 期 9
产业聚集
OpenWeb 基金会成立
这一新的基金会将提供私有和公众数据与 Web
服务的最佳访问模式。
Facebook 率先宣布支持这一新的基金会,
在今年 OSCON 大会上,Six Apart 宣布 Google、MySpace、Plaxo 以及其它互联网新贵
Open Web Foundation 成立,这是一个专门从 都参与了连署,他们各自均表示将自己的产品与
事开发和认可 Web 相关标准及特效的技术组织。 平台按统一标准进行对接。
美国上诉法院裁定:违反开源许可条款即构成侵权
ISO 驳回印度等四国上诉
批准 OOXML 为国际标准
8 月 15 日,据国外媒体报道,国际标准化组 ISO 及 IEC 是在驳回了巴西、印度、南非和
织(以下简称“ISO”)及国际电工委员会(以下简 委内瑞拉等四个成员国针对 OOXML 国际标准投
称“IEC”)本周驳回了四个成员国的申诉,批准 票程序的申诉后,正式给 OOXML 开绿灯放行的。
微软 OOXML(Office Open XML)为国际文档标 四国的申诉未获得 ISO 技术管理委员会和 IEC 标
准。 准化管理委员会三分之二成员的支持。这四国认
开源 2008 年第 8 期 10
产业聚集
开源 2008 年第 8 期 11
产业聚集
谷歌与开源组织合作觊觎低价 Linux 市场
8 月 6 日消息,据国外媒体报道,在美国旧 到太多的关注。除此之外,谷歌还积极地与
金山举行的 Linuxworld 大会上,一位开放源代 Wine 这样的模拟软件进行协作。Wine 可以让使
码开发者透露,为在迅速崛起的低价 Linux 操作 用 Linux 的用户使用微软 Office 这种原本只能在
系统市场占据一席之地,谷歌(Google)正与开源 Windows 上运行的软件。而 Wine 也将被捆绑安
社区紧密合作,在操作系统中整合谷歌出品的应 装在 GOS 系统中。
用程序。 GOS Gadget 3 系统还将预装谷歌的 Picasa
开源软件开发商 Good OS 创始人兼总裁刘 软件,同时提供谷歌 Gmail 的网络链接。该系统
戴维(David Liu)当天透露,谷歌正与开源社区合 将会在今年九月发布,产品完全免费,该公司正
作,以便在低价 Linux 笔记本、台式机当中预装 在与电脑厂商接洽,希望能够成为低价笔记本电
大量谷歌应用软件,其中包括谷歌在线办公套件、 脑的预装系统。
谷歌桌面应用软件和电子邮件收发软件等等。业 美国市场研究公司 IDC 此前发布的预测报告显示,
界人士称,虽然目前低价 Linux 笔记本仍处于初 到 2012 年时,全球超便携笔记本电脑出货量将
生阶段,但预计今后一两年内这类产品出货量将 达 900 万台。这种超便携笔记本也称为“网络笔
大幅增长。 记本”,如华硕“易 PC”(Eee PC)即属于此类产
刘戴维称,就 Good OS 即将推出的一款 品。华硕首席执行官沈振来此前曾表示,虽然今
GOS Gadgets 3 操作系统来说,它将预装大量谷 后低价 Linux 笔记本销量将呈增长趋势,但总整
歌应用软件。该 Linux 操作系统专门针对低价笔 体上看,Windows 笔记本出货量仍将高于 Linux
记本用户而开发。除谷歌常用网络应用软件外, 笔记本。
GOS Gadgets 3 还集成了桌面小游戏、系统检测、
无线网络状态检测等应用工具。事实上,在微软
Windows Vista 和苹果 Mac OS X 操作系统中,
也集成了各类迷你应用软件。
刘戴维接着表示,虽然上述谷歌应用软件都
免费对外提供,但谷歌中国员工已把这些产品整
合到 GOS 操作系统中,以确保这些应用软件能
够在 GOS 中流畅运行。他透露,虽然 Good OS
和谷歌中国并没有正式宣布该合作消息,但双方 刘戴维称,他的公司正与数家笔记本制造商
仍将通力合作保障这些程序的正常运转。Liu 表 除此之外,微软和苹果也分别在其各自的操
示,谷歌并不希望自己与开源组织之间的合作受 作系统中整合有迷你应用程序。
开源 2008 年第 8 期 12
产业聚集
开源 2008 年第 8 期 13
产业聚集
■ 中型发行版
■ 迷你版
Damn Small Linux DSL 是一个非常体积小
Vector Vector Linux Standard GOLD 是一
的发行版。它是一个 50M 大小的 LiveCD,也能安
个完全免费下载的发行版,它包括了各种软件。
装到硬盘上。DSL 能完全的在 RAM 里运行,而
Vector Linux 是一下基于 Slackware,而专门为
且你可以通过软件仓库为它安装更多的软件。
低配置的老计算机设计的。在一台只有 Pentium
DSL 的推荐配置
200、128 内存以及 3G 硬盘空间的老机器上高效
是 P200 和
的运行。在即将发行的 VL Light 完全安装只需要
64MB 内存。
350M 的空间以及 64M 的内存来运行。
Puppy
Zenwalk 是另一个基于 Slackware 的发行
Linux 也是以
版,它追求的是轻便、快速,
Live CD 的开式
并没有过多的软件。虽然它
发行,它运行的
以 i686 为标准,但也是完全
最低内存要求可以达到
兼容 i486 的。Zenwalk 的配
32M,并且它的启动速度
置要求是 Pentium III 处理器、
很快,一般都能在 60 秒内完成启动。
1 28M 内存和
Puppy Linux 的目标是打造一个易用的系统,
2G 的硬盘空
不需要太多技术方面的要求。
间。
开源 2008 年第 8 期 14
产业聚集
开源 2008 年第 8 期 15
产业聚集
SaaS 和云计算:开源软件的危机
陈伟
开源 2008 年第 8 期 16
产业聚集
开源“云计算”
陈杰
移动领域是开源软件寻求突破的一个重点, 因此,对于谁将成为“那片云”的问题,业
但最近喧嚣尘上的“云计算”也蕴含着开源软件 界一致的观点就是云计算将架构在开源软件之上,
发展的巨大机遇。对于云计算的定义,业界争论 并且大部分基础应用都将基于开源软件。因为大
不一,但一个比较一致的看法就是云计算是基于 家都知道,作为集中式的服务平台,开放性永远
Web 的一种服务,是 SaaS 应用的升级版本,它 是其关键要素之一,同时开源软件的灵活性和可
消除了用户在传统硬件、软件、专业技能方面的 扩展性也完全吻合云计算的发展趋势。
投资,而完全脱离技术与部署中的复杂性而轻松 正因为如此,众多的开源社区人士反而开始
获取。 担忧云计算的兴起将给开源软件带来一场巨大的
在今年 Gartner 的报告中就认为,削减成本 危机。云计算的兴起将给开源软件带来危机,作
将推动大多数软件服务(SaaS)提供商以某种方 为服务的云计算平台,不需要采用传统的软件发
式采用开源软件的创新技术。在两年时间里, 布形式,开源的许可证对其就缺乏了约束力,即
90%的软件服务将以某种方式以开源软件为基础, 索取开源代码,而并不回馈代码给社区,其回馈
软件服务提供商将在操作系统、应用服务器和数 方式则是基于 Web 服务。这就出现了问题,这
据库的层面上使用开源软件以降低成本。开源软 些企业通过索取了开源代码,并且进行了修改,
件一直提倡软件免费,以服务的形式进行付费, 也因此获利了,但是对于开源社区的可持续发展
本质上和 SaaS 是雷同的。 并没有带来任何益处。
开源 2008 年第 8 期 17
产业聚集
云计算的一个问题
毛文波
开源 2008 年第 8 期 18
产业聚集
开源 2008 年第 8 期 19
开源通讯
开源通讯
永中 Office2009 发布全面支持国家文档标准
7 月 18 日 永中科技在北京召开永中 Intel OSCON 展望 Moblin 未来
Office2009 新产品发布会,新的永中 Office 7 月 21 至 25 日 , 是 OSCON ( Oreilly
2009 产品与微软 Office2007 实现了精确兼容, OpenSource Convention)十年庆。英特尔中
并对国家文档标准(UOF)进行了全面支持。 国开源技术中心(OTC)的陈绪和张晓波远赴美
国俄勒冈州波特兰市,代表中国 Intel 参与该会,
开源 2008年第8期 20
开源通讯
开源 2008年第8期 21
开源通讯
广州、南京、苏州、上海、大连等城市软件园区 的国家电子政务基础信息库项目,由国家发改委
举行。开源行动日活动是由共创软件联盟、 牵头,包括国土资源部、水利部等 11 个部委单位
Sun、Intel、中科红旗公司、中科方德等公司共 共同建设。此次中标是继中标金宏工程后,金蝶
同组织的一个技术交流活动,Sun、Intel、中科 Apusic 再次入选国家级重点电子政务建设。
红旗、中科方德等公司的技术人员与软件园开展
面对面的技术答疑、技术指导,提供专题技术培 ODF 时代来临: IBM Lotus Symphony
训或技术合作。 推出 1.0 正式版
IBM 近日宣布推出一套基于 ODF 的免费办
中标软件举办“中标普华藏文 Office 办公软件” 公软件 Lotus Symphony,用于创建和共享文档、
培训班 电子表格和幻灯片。Symphony 的推出标志着开
继年初原信息产业部、上海市政府联合向西 放文档格式(ODF)已趋于成熟,并再次兑现了
藏自治区政府赠送了 3.2 万套、价值 1500 万元的 IBM 的承诺,将办公生产软件从不断支出的财务
中标普华藏文 Office 之后,5 月中标软件又为来 负担改进为高效经济的生产工具,以此支持企业
自西藏自治区拉萨、日喀则地区的十余名信息主 将资金投入到更为创新的业务领域。
管开展了“中标普华藏文 Office 办公软件”培训
班。日前中标软件深入藏区,在拉萨、那曲等地
继续为当地近 1000 名学员提供藏文办公软件培 广东进行《广东省 Linux 电子政务应用产品目录》
训,此举得到了上海市政府相关部门、西藏藏语 征集工作
言委员会以及西藏各地政府等多方面的高度评价。 为继续落实《广东省 Linux 软件推进计划》,
促进我省 Linux 应用产业的进一步发展,将成熟
甲骨文公司在中国推进 UBL 的 Linux 应用产品纳入我省 Linux 应用产品推荐
甲骨文公司致力于 Linux 企业级的应用, 目录,作为政府采购的依据之一。2008 年 6 月,
Linux 试验室使用多种手段测试 Linux 的性能、 开展了第四期《广东省 Linux 电子政务应用产品
可靠性、可延展性和高可靠性,这些工作已经体 目录》征集工作,目录征集时间为 6 月至 12 月。
现在 Linux Kernel 当中。甲骨文 Unbreakable
Linux(UBL)不是一个新 Linux 的发行版。UBL
是一个为企业提供 Linux 操作系统支持的服务项 广东开展 Linux 软件产品及解决方案推进发展
目。甲骨文公司提供高质量和丰富的服务使得企 情况调研工作
业得以成功的使用 Linux 操作系统。 为了解和总结广东省 Linux 软件推进计划实
施成效和存在问题,为下一步制定 Linux 软件或
金蝶 Apusic 中标自然资源和地理空间基础信息库 相关开源软件及解决方案推进政策提供借鉴和参
项目 考,决定就全省 Linux 软件产品及解决方案应用
7 月,金蝶中间件有限公司(以下简称金蝶 推进及发展情况开展调研工作,同时在调研过程
Apusic)中标自然资源和地理空间基础信息库项 中,我委将发现并推荐一批自主创新且具有较强
目。自然资源和地理空间基础信息库建设项目是 市场拓展能力的 Linux 软件或相关开源软件及解
“两网一站四库十二金”中率先通过批复并启动 决方案,重点扶持或优先纳入政府采购目录;发
开源 2008年第8期 22
开源通讯
开源 2008年第8期 23
开源社区
开源社区
下载地址:
http://bbs.linuxpk.com/thread-33846-1-1.html
开源 2008年第8期 24
开源社区
下载地址:
http://puppy.cnbits.com/ftp/incoming/qqdanfiles/puppy_400_cn_beta1.iso
开源 2008年第8期 25
开源社区
Pidgin(Gaim)发布 2.5.0 版
近日,Pidgin 发布了最新的 2.5.0 版本,Pidgin 是一款
功能强大支持多个协议的开源即时通讯软件。包含的 IM 协议
有 AIM、Bonjour、Gadu-Gadu、 Groupwise、 ICQ、
IRC、 MSN、 QQ、 SILC、 SIMPLE、 Sametime、
XMPP、Yahoo! IM、Zephyr 等,十分全面。值得一提的是,
QQ 不再以插件形式支持了,而是直接可以使用了。
Pidgin 功能特色
* 提供易于转换交谈对象的分页视窗对话
* 容许用户在同时间登入不同帐户
* 经由插件可加入额外的功能
* 能将对方的别名改为真名
开源 2008年第8期 26
开源社区
* 能将根本是同一人的不同分身帐户组合成相同的“通讯者”
* 能够进入会议及接收留言
* 当欲捕捉的特定对象改变状态时,可发出提示或播放音效
你可以从下面的链接下载到你想要的 GNOME2.23.6
申明:此版本的主要目的是用于测试,尽管它能够顺利地安装,但我们并不能保证其稳定性
开源 2008年第8期 27
开源社区
陈杰
但是,仅仅掏钱赞助开源就能表明微软参与
开源的决心吗?我看未必,为开源掏钱这对于微软
来说已经根本算不上什么。其实,有一件事更值
得我们去关注,Sam Ramji 在赞助的同时宣布,
微软将向 ADOdb 贡献一款补丁,ADOdb 是一
个 PHP 数据访问层,此次发布的补丁将首次基于
开源 2008年第8期 28
开源社区
自由软件的伟大胜利
袁萌
开源 2008年第8期 29
开源社区
重大。 要求地方法院参照执行。此项裁决,有什么意义?
通常认为,既然是自由/开源软件,允许人
在我们国内,一般人不把自由软件看在眼里, 们自由使用,为什么还会构成法律侵权?在以往,
荒谬地称其为“免费软件”,更有甚者,妄称其 人们认为,违反了开源使用许可条款,顶多只能
“毫无商业价值”,存在商业模式所谓的“硬伤 算是违反了一项“经济合同”。解决经济合同纠
”。我们国内某些自诩“国产 Linux”的软件生 纷(官司),根据“谁主张,谁举证”的原则,
产厂商肆无忌惮地滥用自由软件而不怕引火烧身, 你说我犯规,拿出证据来!打这种官司,很麻烦,
令人佩服。8 月 14 日,美国最高法院的这次判决, 很费时,真的打不起。但是,现在就不一样了。
对于 GPL 自由软件使用许可条款而言,无疑是一 如你果违反了某项开源许可条款,人家到法院告
次伟大的法律胜利。对全球自由软件社区而言, 你,只要有证据(这种“非经营”性的证据很容
更是一个等待时间太长久的盛大节日。从此,在 易找到),法院就可以向你直接发出“禁制令”
法律意义上,自由软件真正地站起来了。 (Injunction),禁止你的经营活动,而不仅仅
是经济罚款了事(经济处罚)。大家都明白,这
近日,孙永杰发表文章声称:自由软件创新, 就麻烦了。
没有商业价值。非常明显,这无异于全盘否定了
自由软件(国际运动)。现今,自由软件具备了 在我国,违反 GPL 规则的现象,比比皆是,
不可否认的法律地位(法律确认了其授权方式)。 如同盗版现象。现在,违反 GPL 规则,如同盗版
在当代软件生态系统中,比如互联网世界,自由 一样,处于同一个法律级别(水准)。因此,有
软件几乎无所不在,无所不能,你怎么能说自由 关厂商应该及早注意自己的经营活动,查看是否
软件毫无商业价值?微软前总裁 Bill Gates 的名 有违反开源许可条款的地方,以免将来被动。
言“GPL 必然导致没有人愿意写软件,提高其性 (注:有兴趣者,请参阅“United States Court
能”,今天不再灵验了。 of Appeals for the Federal Circuit
2008-1001”判决书,原告是 Robert
回顾过去十年,我们可以看出,自由软件在 Jacobsen,被告是 Matthew Katzer 及其相关公
我国境内没有得到认真的对待,各种谬见四处泛 司。判决书共计 15 页,裁决的结论在 15 页,其
滥,毒害着人们的思维。美国最高法院的判决, 中指明了开源许可协议的许可条款是
似乎远隔千里,不管我事。但是,此项法律判决 “enforceable copyright conditions ”(“强
迟早波及我国,只是时间早晚的问题。谁说自由 制性的版权条款”)。事实上,开源许可协议
软件没有商业模式(所谓“硬伤”)?这简直是 (Artistic)的要求很低,只要求引用时必须注明
瞎说。谁说自由软件不能卖钱?就看你怎么卖法 程序作者的姓名,这远比 GPL 规则的要求宽松多
了(这属于商业机密)。 了。上诉法院认为,开源程序的作者,虽然允许
程序代码被不确定人群使用,但不代表该作者放
开源 2008年第8期 30
开源社区
工作与社区奉献并不矛盾
参与开源社区有着多种多样的形式,而本文 部分最活跃的项目大都属于这一类,比如论坛程
作者作为开源 CMS 系统 Xoops 的国际项目负责 序 phpbb、内容管理 XOOPS 等。
人,将讲述他是如何参与到开源社区当中的,并
在参与社区研发的同时,如何平衡个人本职工作
与社区奉献的关系的。
社区型开源项目体现了最彻底的开源精神,
开源项目根据其运作模式和规模,大致可分 源码是开放的,项目的开发过程是开放的,团队
为三类。 和社区的管理也是开放的。这类开源项目可以看
作团队型项目开放式发展后的结果,但由于在团
由商业公司支持的开源项目,项目的开发者 队成员的流动性、社区组成上的复杂性和管理上
和社区管理者一般是商业公司的雇员,由商业公 的松散性等因素,它们在开发管理上有其独特性。
司开放部分或全部源码,并形成一定的用户社区
这类项目的代表国外有 OpenSolaris,国内有互 开放源码、开放开发、开放管理
动 在 线 的 维 客 开 源 版 , Mysee 公 司 的
OpenMysee , 以 及 近 来 开 始 在 国 内 发 展 的 社区型开源项目是由来自社区的成员在志愿
Oracle 的 Berkeley Db 社区等。这类项目在管理 的基础上靠个人兴趣和爱好参与开发的,保护团
上依托于商业公司,具有较多的公司管理色彩。 队成员尤其是核心的热情显得尤其重要。然而不
其中一个特色:源码是开放的,开发是封闭的。 可回避的是来自社区的开发者在开发能力和代码
这一点在国内的一些开源项目中由于对版权协议 风格等各方面都存在差异,如何在保证开发质量
的特别定义而体现得尤其明显,因而也突出了自 的同时使每个团队成员受到足够的尊重甚至是鼓
由软件与开源软件的区别。 励,这是项目负责人是要特别重视的。
由个人和小规模团队组成的团队型开源项目, 在我们项目这几年的发展过程中,就有一些
由于核心开放和管理团队规模较小,复杂度不高, 成员因各种原因热情受到打击而离开了社区,其
项目的管理比较简单直接。这类项目包括近来比 中有极为关键的核心成员,对项目的发展造成不
较流行的 WYSWYG 在线 web 编辑器 FCKeditor 同程度的伤害。
等。
我自己从几年前开始接触目前的开源项目,
由开源社区自发产生和支持的社区型开源项 在提交的代码受到肯定后开始积极的参与各个子
目,无论是开发者、管理者还是用户都来自社区, 项目组的开发,自己的能力不断得到提高,最后
以志愿者身份贡献于社区。SourceForge 上绝大 成为整个项目的负责人和主开发;这其中团队成
开源 2008年第8期 31
开源社区
员之间的相互鼓励和交流学习起了至关重要的作 然不能忽视,特别是东亚文化的内敛矜持和欧美
用。 文化的开放直接之间的差别在某些特定环境下会
激化团队中存在的矛盾。
目前我们的开发团队有 100 多成员,其中核 我们这个开源项目最初是由来自东亚和欧洲
心开发组是流动性的,规模维持在 10 人左右。进 的核心成员共同主导,其中主开发来自日本;后
入开发团队时间比较短的或是对项目了解还不是 来团队核心中欧美成员逐渐占绝大多数,主开发
很深的,我们会鼓励其参与团队的讨论;当他的 与其他成员之间的交流存在某些障碍,日积月累,
开发水平或是对项目的熟悉达到一定程度之后就 矛盾的激化使核心团队的协作无法正常进行,最
可以获得 SVN 的提交权限,此时会特别协助他掌 终以投票的方式请原来的主开发离开团队。这种
握对协同工具的使用和对代码质量的控制,在其 直接甚至于有些无情的方式,在我们看来是很难
提交有问题的代码后通过私下交流协助更正。这 接受的,但对项目的发展确实必要的。当然这位
种开放式开发的方式虽然增大了工作量,但对团 主开发一直是受社区尊重的,他是这个项目的创
队的建设和长期发展是必需的。 始人,为了项目的发展他接受了这个决定而没有
采取过激的行为。
同时随着项目的发展壮大,团队组织结构的
复杂性增大,但却缺乏明确的监管机制。在这样 不过从另一方面来讲,在开源社区项目以分
的情况下,需要制定相对繁琐的管理规则,使各 支(Fork)的形式分裂发展是一种正常现象,至
个项目组的工作具有一定的透明度,形成开放的 少不是消极的行为。一个开源项目发展到一定阶
管理机制。这势必降低某个特定项目组特定任务 段,由于核心成员之间对长期发展规划和开发思
的效率,但却保障了项目长期发展的稳定性。 路存在不同意见,就会有一部分成员单独成立一
开源社区里的合与分 个新的项目,这就形成了分支。开源社区里不同
分支之间不是相互仇视的敌对关系,更多的是具
社区型开源项目的团队成员来自五湖四海, 有一定竞争性的相互激励关系,比如操作系统里
成员之间缺少类似于商业公司的雇佣关系,团队 众多的 Linux 分支和 Web CMS 里众多的 Nuke
组织结构相对松散无序。团队的存在和发展完全 衍生项目等。
依靠成员之间愉快的合作关系。而作为一个国际
性的开源项目,成员之间主要是通过在线论坛或 完美主义与实用主义的结合
是 IM 交流;开源项目的开发者原本就具有比较
强的个性或是重视个人自由度,而不同成员之间 开源项目的开发者大部分具有 Geek 情结,
形形色色的表达方式和高低不同的语言能力更增 把项目当作自己的作品而不仅仅是一个产品或是
加了成员之间交流的复杂程度。 商品,追求完美的设计开发,醉心于代码的精雕
细刻。但是作为一个完整的开源项目的另一边,
另一方面,随着国际化程度的提高,不同文 用户却更专注项目提供的代码的实用性;换句话
化之间的差异日益缩小,特别是在开源社区,来 说用户希望得到的是一个产品设置是商品,他们
自东西方不同国度不同行业的成员可以在同一社 希望不断看到有新的版本出现,对软件新功能和
区内交流学习;然而文化差异带来的交流障碍依 性能改进的关注甚于对代码质量的关心。作为一
开源 2008年第8期 32
开源社区
个健康发展的开源项目,必须要处理控制好代码 本职工作与开源奉献之间的平衡
设计开发的质量和软件开发周期之间的平衡关系,
同时开发者要舍得牺牲自己追求完美的目标,兼 与受雇于商业公司而参与开源项目的开发源
顾用户对产品功能和易用性的需求。社区型开源 不同,社区型开源项目的参与者大部分都是在自
项目产生于社区,其开发者也来自社区,用户群 己的业余时间参与开发和管理。如果自己日常工
的存在和壮大是这类开源项目发展的基础。 作内容与所参与的开源项目没有太多相关性,就
在我们的项目中曾经发布过一个系列,以用 会存在个人和工作时间安排的问题。特别是开源
户的功能需求为导向,追求新功能和发布速度, 项目的开发一般都是开发者个人的爱好和强烈兴
忽略了开发质量,给后续开发埋下了隐患,其结 趣点所在,在控制不好的情况下对开源项目的过
果是导致了整个项目的开发停滞了较长一段时间。 多投入会影响到日常工作和个人生活,对参与者
这个系列对项目的负面影响到目前还没有完全消 个人和项目的长期发展都是不利的。这个问题无
失。 论在欧美国家还是在国内,都是存在的。
在基于 Web 的开源项目里有一对具有对比
性的例子。WordPress 是目前应用最广的 Blog 我们项目的上一任主开发员在一年前辞掉自
系统,拥有大量的用户和活跃的开发团队。在它 己的工作,全时做新版本的架构设计和底层开发;
的初期版本中,在结构设计和代码实现上存在不 一开始他自己充满信心,团队成员也很受鼓舞。
同程度的问题,不过它为用户提供了一个简单易 然而随着时间推移,来自经济和家庭生活的压力
用而功能新颖的个人发布系统,满足了用户的需 逐渐显现,经过大概半年时间,他已经无法继续
求,同时很好的控制了发布周期,逐渐吸引了大 维持高效的开发。后来由于身体和心理等方面的
量的用户,形成了稳定的用户社区,并与开发团 原因,终止了对这个项目的参与,对项目开发和
队形成了良好的反馈。另有一个 Web CMS 系统, 团队建设的持续性带来了双重伤害。
与我们的项目差不多同时从 Nuke 中形成分支。
他们的开发团队做了长期复杂的设计开发工作, 我们中文社区有一位成员,从四年前开始参
在发布的时候已经是一个很优秀的 CMS 系统, 与项目的设计和开发工作。当时他还是初二学生,
但是由于开发周期过长,同时系统设计过于复杂, 从简单的文档写作和教程开始,参与的工作逐步
造成用户群的流失,已经很难再恢复良好的开发 深入。他很好的处理了自己的学习和项目参会之
和反馈机制。 间的平衡,只有在假期和周末才参与社区的工作,
平时基本以学习为主。几年下来,他已经为项目
提供了很多经典的文档和设计作品。
一个成功的开源项目不仅仅是一个软件,而
是一个由开发团队、管理组织、用户社区等各方
面形成的有机体。项目的成长依赖于每个方面的
稳定健康的发展。
开源 2008年第8期 33
开源社区
顾宏军
内容管理系统是开源软件较早进入的领域之
一,迄今为止,已有过百种开源内容管理系统出
现,能够被广泛接受和使用的应该有超过 10 种。
早期的有 postnuke、php-nuke,现今正在流
行的 Xoops、Joomla、Plone 等,还有新星
MODx 等。这些开源内容管理系统在很多场合和
开源 2008年第8期 34
开源社区
后,又由用户在实际项目中进行应用。可以说开 良性的商业模式
源内容管理系统是从用户中来到用户中去。是全
体用户的智慧的成果,这正是开源开发模式带来 开源内容管理系统是最早开始商业化探索的
的优势。所以开源 CMS 能以最快速度满足用户 开源领域之一。已发展出几种成熟的商业模式,
的功能需求,对用户体验的改善也能及时进行。 有的已形成很完整的商业链。现在开源内容管理
在这个重视体验的网络时代,用户体验可以说关 系统商业模式主要包括与主机提供商集成,提供
乎项目的命运,Ajax 等改善用户体验的技术在开 预安装其 CMS 的虚拟主机;提供模板定制服务;
源内容管理系统中得到了充分的发挥。 提供功能定制开发服务等几类。但这些模式都有
难以做大做强的问题,提供开源内容管理系统服
务的公司都有很强区域性,相信未来会有更好的
商业模式出现。
内置 SEO 特性
几乎每种开源内容管理系统项目,都有几个
内置 SEO 特性将成为内容管理系统的标准功 专门提供为其用户提供主机空间的服务商,如提
能。在关注功能与用户体验的同时,开源内容管 供 Joomla 空间的 Lunarpages、siteground,
理系统,将内置 SEO 特性。 提供 wordpress 空间的 wphosts、Blue Host,
提供 plone/zope 空间的 ingenihosting 等。这
所谓 SEO 是指遵循搜索引擎的搜索原理,对 些主机空间提供商,寄生于开源内容管理系统项
网站结构、网页文字语言和站点间互动外交略等 目,同时也对开源项目进行赞助,保持项目的顺
进行合理规划部署,以改善网站在搜索引擎的搜 利发展。
索表现,进而增加客户发现并访问网站的可能性
的这样一个过程。现在因特网上信息成爆炸式增 开源 CMS 实现了内容管理与表现的分离,
长,而搜索引擎是人们查找信息的主要来源之一, 这就提供了另外一种商业模式:提供模板定制服
如何让搜索引擎能够更快更准确的从自己网站上 务。开源 CMS 一般都只自带几个默认模板,很
索引信息,是很多网站的迫切需求,SEO 就是为 多时候用户都希望自己的网站界面能够是独一无
解决这一问题。开源内容管理系统内置 SEO 特性, 二的,能够更美观些,这时很多美工团队开始提
使得很多原本要进行的复杂劳动由内容管理系统 供开源 CMS 的模板定制服务。国外已有很多这
自动进行,省却了很多麻烦。 种类型的公司,如专门提供 joomla 模板的
rockettheme、joomlart,国内也有部分公司涉
以后 SEO 特性将成为评估一个内容管理系统 足这一行业。
的重要指标。目前开源内容管理系统
Joomla、MODx 以及国内的 dedeCMS 等都已 如果说定制开源内容管理系统模板为美工人
内置 SEO 功能或选项;用这些系统建立的网站几 员提供了一种生财之道,那么对开源内容管理系
天之内,即可被搜索引擎收录。 统进行定制开发、技术服务则为开发人员也提供
了种生财之道。虽然开源内容管理系统功能在不
断完善,易用性也在提升,但要普通用户能部署
开源 2008年第8期 35
开源社区
开源 2008年第8期 36
开源社区
开源 2008年第8期 37
知识学堂
知识学堂
Linux 下设备完全驱动(三)
郄晓烨
X-Window 概述
X-Window 是一套显示系统,包括
Server 端和 Client 端,他们之间使用 X 协议
互相通信。X 诞生于 1984 年,在较短的时
间内它就发布到了 11 个版本—X11。X11 经
过多年的发展,现在已经发布到 X11R6。X
Client 将希望显示的图形发送到 X
Server,X Server 将图形显示在显示器上,
同时为 X Client 提供鼠标、键盘的输入服务。
因为 C/S 结构,可以将 X 的 Server 和 Client
分别运行在两台计算机上,甚至可以安装一
些软件,让 Windows 作为 X Server,让
Linux 作为 Client,将 KDE 或 GNOME 等桌
面环境显示到 Windows 主机上来。
图 1
图 1 所示让 Windows 作为 X Server。
开源 2008年第8期 38
知识学堂
Xfree86 自带了一些设备的驱动,具体位置在/usr/X11R6/lib/modules/drivers,如果机器显示卡
太新,无法使用 X-Window,比如使用了 Intel 的 855GM 芯片组中集成的显卡无法启动 X,则可以考
虑升级 XFree86。当前 XFree86 成熟的版本是 4.3,最新的版本 4.4 正在完善之中。从以下的链接中可获
得 4.3 版的 XFree86 所支持的所有显卡列表
http://xfree86.linuxforum.net/4.3.0/RELNOTES2.html#3。
XFree86 官方版本下载网站是 http://www.xfree86.org/downloads.html ,中国的镜像网站是
http://xfree86.linuxforum.net/downloads.html。也可以从中科红旗网站 http://www.redflag-
linux.com/source/download/XFree86_driver4.3.tgz 下载。
下载后安装 tgz 包:
# tar zxvf XFree86_driver4.3.tgz
# sh install.sh
开源 2008年第8期 39
知识学堂
+header_support_download&下载驱动程序。
1.安装驱动程序
(1)选择下载 RPM 包:
# rpm -Uvh --force intelgraphics_ 20040607_i386.rpm
这时程序将自动安装,安装程序将更新/usr/X11R6/modules/drivers/i810_drv.o 的驱动程序,使
其支持新的 i865G 芯片组中的显卡。
2.选择驱动程序
有三种方法可以选择驱动程序:
(1)如果是 Red Hat 系统则可以运行下面代码:
# redhat-config-xfree86
图2
图 2 显示为使用 redhat-config-xfree86。这个命令可以自动侦测显卡、配置分辨率和色深,以及选
开源 2008年第8期 40
知识学堂
这样程序会一步步提示选择正确的驱动程序。
这两种方法都会将结果写入/etc/X11/XF86Config 配置文件。
或者 XF86Config-4
该配置文件中其它需要注意的地方如下:
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Unknown monitor"
HorizSync 31.5 - 37.9
VertRefresh 50.0 - 70.0
Option "dpms"
EndSection
上面这个部分是设置显示器的类型,不知道自己的显示器叫什么名字没关系,但需要将显示器的垂
直刷新率和水平刷新率正确设置,这两个参数可以查看显示器的说明书。以上是 15 英寸显示器最常用的
频率,如果这个参数设置错误,显示器就会花屏或黑屏。
Section "Screen"
开源 2008年第8期 41
知识学堂
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 16
SubSection "Display"
Depth 16
Modes "1024x768" "800x600" "640x480" //默认会使用最高的分辨率
EndSubSection
EndSection
这里是设置显示模式的地方,包括屏幕的分辨率和色深,默认使用最高的分辨率。如果想使用较低
的分辨率,那么将高分辨率删除就可以了,在这个配置文件中显示器会使用“1024×768”分辨率,色深
是 16 位色。有关 XF86Config 文件的详解可以参看它的 man page:
# man XF86Config
3.启动 X-Window
运行 startx,启动 X-Window。这种方式依赖于控制台(tty),将 X-Window 作为当前控制台
的 Shell 子进程来运行。
开源 2008年第8期 42
知识学堂
骤正常使用,所不同的是下载地址和具体的驱动程序的生成方式可能不一样。
然后重复以上的第二至第三步:
# redhat-config-xfree86 //选择正确的驱动程序
# startx //启动 X-Window
安装其它显卡的驱动
指定源文件位置:
开源 2008年第8期 43
知识学堂
注意,要看看是否有错误发生,如果有请仔细查看出错信息。
# fglrxconfig //使用 ATI 的配置工具配置驱动程序
3.常见显卡驱动的下载地址
◆nVIDIA 显卡驱动程序地址 http://www.nvidia.com/object/linux.html。
◆ATI 显卡驱动程序地址 http://www.ati.com/support/driver.html(ATI 网站访问速度较慢,可以
多试几次)。
◆VIA 芯片集成显卡驱动程序 http://www.viaarena.com/?PageID=296。
◆SIS 显卡驱动程序地址 http://www.mypcera.com/qu/2/soft1/xsis.rpm。
◆Intel 芯片组显卡驱动程序地址 http://downloadfinder.intel.com/scripts-df/support_intel.asp?
iid=HPAGE+ header_support_download&。
◆Intel 笔记本迅驰显示驱动程序地址 http://downloadfinder.intel.com/scripts-
df/filter_results.asp?strOSs=39&strTypes=DRV%2CARC&ProductID= 922&OSFullName=
Linux*&submit=Go%21。
ATI 系列笔记本驱动程序要升级 XFree86。
开源 2008年第8期 44
知识学堂
4.内核支持显示模式调整
在命令行界面下,可以调整内核的显示模式,让它使用较高分辨率,设置方法如下。
(1)使用 GRUB 作为 boot loader,则运行命令:
# vi /boot/grub/grub.conf
之后运行下面命令:
# lilo -v
使用新的配置文件更新 MBR。
常见显卡故障的处理
1.当屏幕为全黑或花屏时,一般是显示器参数设置有误。首先应该按“Ctrl+Alt+Backspace”,结
束 X-Window。然后查看显示器说明书,在/etc/X11/XF86Config-4 或 XF86Config 文件中,将水平和
垂直刷新率改成正确的值,或者运行 redhat-config-xfree86 和 XFree86-configure。
开源 2008年第8期 45
知识学堂
如果希望该服务每次自动启动,则使用下面命令:
#chkconfig xfs on
声卡驱动程序概述
Linux 下 声 卡 的 驱 动 是 作 为 普 通 内 核 模 块 来 加 载 的 , 系 统 内 置 的 声 卡 驱 动
在/lib/modules/2.XXX/kernel/drivers/sound/目录下。以下是系统内置的声卡驱动模块:
# ls /lib/modules/2.XXX/kernel/drivers/sound/
ac97_codec.o cs4232.o forte.o uart401.o
ac97.o cs4281 i810_audio.o via82cxxx_audio.o
ad1848.o cs46xx.o maestro3.o ymfpci.o
ad1889.o emu10k1 rme96xx.o
audigy es1370.o soundcore.o
cmpci.o es1371.o sound.o
结合前一篇所介绍的内容可以知道,系统在启动时会通过以下两个文件来加载模块 :
/etc/modules.conf 和/etc/rc.d/rc.sysinit,声卡也是在这里加载的。如果新安装了一块声卡,在 Red
Hat Linux 中则可以使用 kudzu 命令来搜索声卡,并且自动配置。如果系统中没有内置的驱动程序,则
可以按以下步骤来安装(以 VIA 的 8237 南桥集成声卡为例)。
从 VIA 的网站 http://www.viaarena.com/?PageID=294 上下载最新的驱动程序
LinuxAudiov230.gz。
解压缩:
# tar xzvf LinuxAudiov230.gz
编译 src.rpm 包:
开源 2008年第8期 46
知识学堂
Linux“万能声卡驱动”安装
安装源码包:
# rpm -ivh kernel-soureXXX.rpm
或者
# tar zxvf kernel-2.XXX.tar.gz
# cd /usr/src/linux2.XXX/ //到源代码的目录中
开源 2008年第8期 47
知识学堂
(2)下载驱动程序
从 http://www.alsa-project.org/alsa/ftp/driver/下载驱动程序 alsa-dirver-1.0.6rc1.tar.bz2;从
http://www.alsa-project.org/alsa/ftp/lib/下载库文件 alsa-lib-1.0.6rc1.tar.bz2;从 http://www.alsa-
project.org/alsa/ftp/utils/下载工具 alsa-utils-1.0.6rc1.tar.bz2。
(3)安装驱动
# cd /usr/src
# mkdir alsa
# cd alsa
# cp alsa* ./
# tar -xjvf alsa-driver-1.0.6rc1.tar.bz2
# cd alsa-driver-1.0.6rc1
# ./configure --with-cards=emu10k1 --with-sequencer=yes;
# make
# make install
# chmod a+rw /dev/dsp /dev/mixer /dev/sequencer /dev/midi
(4)更改配置文件
# vi /etc/modules.conf
alias char-major-116 snd
开源 2008年第8期 48
知识学堂
也可以使用以下命令来设置音量的大小:
# amixer -c 0 sset 'Master',0 100%,100% unmute
# amixer -c 0 sset 'PCM ',0 100% unmute
(2)安装驱动程序:
# tar zxvf oss3991e-linux-x86-v24.tar.gz
#./oss-install
开源 2008年第8期 49
知识学堂
PC 的足迹(中)
Intel 开源软件技术中心 王齐
奔腾的心
AMDK5 处理器
Pentium 的照片
开源 2008年第8期 50
知识学堂
开源 2008年第8期 51
知识学堂
开源 2008年第8期 52
知识学堂
开源 2008年第8期 53
知识学堂
效率呈对数增长,与功耗呈指数增长的大前提下, 怎 样 的 赞 誉 对 Sanders 都 是 不 够 的
功能上的增强显得苍白无力。 Sanders 和他的 AMD 的故事是最可怕,也是最
在这段时间里,AMD 主要以 Athlon XP 系 英勇的。Sanders 年复一年,顽强挑战这个星球
列处理器对抗 Pentium IV,Athlon XP 系列处理 上最成功、最有竞争力的公司 Intel,在挑战的几
器是 AMD 历史上跨时最长,影响最大的一代处 十年来,AMD 一直在英特尔的巨人影子下挣扎
理器。2001 年 10 月,AMD 使用 Palomino 内 与生存,其产品虽不乏亮点,却也必须在 90%以
核的第一代 Athlon XP 处理器面世,2002 年 4 上的时间里忍受着失败的无奈与孤独。但是无论
月 和 2003 年 1 月 , AMD 陆 续 推 出 基 于 在任何时候,Sanders 都没有向这个最强大的公
Thoroughbred 内核和 Barton 内核的第二、第 司低头,时刻没有忘记反击。
三代 Athlon XP 处理器。 不懈的努力取得了回报。2003 年 4 月 23 日,
Athlon XP 处 理 器 率 先 使 用 了 PR AMD 发 布 了 基 于 x86-64 ( 后 来 改 名 为
(Performance Rate)值标定处理器而不是直接 AMD64)技术的 Opteron 处理器,这是世界上
使用主频,如 Athlon XP 2000+处理器的主频是 首款真正兼容 IA32 指令集的 64 位 PC 处理器。
1.67GHz,而其与 Pentium IV 2.0G 的性能相当。 在此时,64 位处理器的竞争早已进入白热化阶段。
PR 值的提出实际上是 AMD 的不得已,从主频的 1991 年 MIPS 推 出 第 一 个 商 用 64 位 处 理 器
提升速度上看,AMD 的 Athlon XP 无法和 Intel R4000;DEC 在 1992 年 3 月推出 Alpha21064
的 Pentium IV 抗衡。不过 AMD 的 PR 标定有些 处 理 器 ; 1995 年 Sun 推 出 了 64 位 的
保守,许多 Benchmark 程序的结果显示 AMD 的 UltraSPARC 处理器;IBM 也在 1998 年发布了
PR 标定值超过实际值,Athlon XP 2000+的实 64 位的 RS64-II 处理器,但这些 64 位处理器都
际性能超过了 Pentium IV 2.0G。 是针对服务器平台。
PR 值的出现,使客户逐渐认识到高频未必意 Itanium
味着高能,但是在 Intel 巨大的市场营销能力和前
期产品优势明显的巨大惯性作用下,多数客户认
为 Pentium IV 可能并不完美,但至少比 AMD 的
Athlon XP 稍微强些。AMD 在无奈中选择等待。
铩羽而归
开源 2008年第8期 54
知识学堂
开源 2008年第8期 55
知识学堂
开源 2008年第8期 56
经验技巧
经验技巧
《Linux 一句话精彩问答》是 Linux 初学者很好的入门文档,想必很多朋友当时都是边看该文档,边
敲打键盘,玩着 Linux 过来的。该文档由本刊副总编陈绪主编,迄今已经收录近千个精彩问答。从本期
开始将在桌面应用栏目进行连载,希望能帮助到更多刚接触到 Linux 的朋友们。
Linux 一句话精彩问答——系统配置篇(6)
陈绪
1122 如何配置让哪些服务启动
开源 2008年第8期 57
经验技巧
次有效
1125 先测试 patch 是否运行正常,暂不将更改应用到 kernel
patch --dry-run
卸载一个软件包:
rpm -e <package-name>
dpkg -r <package-name>
显示一个软件包的内容:
rpm -qvl <package-name.rpm>
dpkg -c <package-name.deb>
显示所有已经安装的软件包:
rpm -qvia
dpkg -l
打印一个包的信息:
rpm -qpi <package-name.rpm>
dpkg -I <package-name.deb>
检验包 characteristics:
rpm -Va
debsums -a
检验一个文件属于哪个包:
rpm -qf </path/to/file>
dpkg -S </path/to/file>
安装新软件包:
rpm -Uvh <package-name.rpm>
dpkg -i <package-name.deb>
1127 强制新用户首次登陆后修改密码
开源 2008年第8期 58
经验技巧
root
1131 查看某文件的一部分
1132 查找当前目录下文件并更改扩展名
更改所有.ss 文件为.aa
# find ./ -name "*.ss" -exec rename .ss .aa '{}' \;
开源 2008年第8期 59
经验技巧
方法 1
sed 's/123/456/g' file.txt > file.txt.new
mv -f file.txt.new file.txt
方法 2
vi file.txt
输入命令:
:%s/123/456/g
mkfs -j /dev/xxxx
1137 查看当前运行级别
runlevel
1138 查看当前登陆身份
1 who am i
2 whoami
3 id
注意 1 跟 2 的小区别
1、如果在删除包之前删除了包的目录
rpm -e --noscripts
2、如果系统里一个包被装两次(由于某些异常引起的)
开源 2008年第8期 60
经验技巧
高延斌
Linux 作为桌面系统正在越来越多的受人关注。为了改善用户体验,很多的程序员付出了大量的努力,
不只是为了让普通用户得到更容易从 Windows 上迁移到 Linux 上,同时也为传统的系统管理员提供了更
多的方便。
可以产生如下的对话框:
图1
开源 2008年第8期 61
经验技巧
通过这些简单的基于文本的对话框,我们获得了与程序基本的交互的能力。当图形界面被引入之后,
我们有了各种更好的选择,比如 Xdialog, gdialog 和 Kdialog,分别是基于 X.org, Gtk+和 KDE 的图形
对话框。使用的方法也和 dialog 命令大同小异。比如以下 Kdialog 的例子:
kdialog --title "ACAP entry" --password "Please enter the server access code:"
会产生一个询问密码的对话框:
图2
图3
开源 2008年第8期 62
经验技巧
#!/bin/bash
function findlog
{
DATESEL=`zenity --calendar --title="Select a day" --text="To view the log files of 'My App'
updated in a single day, please select a date" --date
-format=%m-%d-%Y`
zenity --text-info --title="myapp-$DATESEL.log" --filename="myapp-$DATESEL.log"
}
function adduser1
{
USERNAME=`zenity --entry --text="Please input user name:" --title "Input User Name"`
PASSWORD1=`zenity --entry --text="Please input passoword:" --title "Input Password" --
hide-text`
PASSWORD2=`zenity --entry --text="Please input passoword again:" --title "Input
Password" --hide-text`
while [ "$PASSWORD1" != "$PASSWORD2" ]
do
zenity --error --text="Passwords do not match"
PASSWORD1=`zenity --entry --text="Please input passoword:" --title "Input
Password" --hide-text`
PASSWORD2=`zenity --entry --text="Please input passoword again:" --title "Input
Password" --hide-text`
开源 2008年第8期 63
经验技巧
Done
ENCRYPTEDPASSWORD=`echo $PASSWORD | makepasswd –clear-form=- --crypt | awk
‘{print $2}’`
useradd $USERNAME –p $ENCRYPTEDPASSWORD
}
function conhost
{
HOSTSEL=`zenity --list --editable --separator="@" --print-column=ALL --title "Host
Selection" --column Host --column User Toast root`
ssh ${HOSTSEL#*@}@${HOSTSEL%@*}
}
############################
#
# 主程序
#
###########################
# zenity --info --title="Zenity Demo" --text="Press Enter to start the demo program of Zenity"
if [ -z "$SELECTION" ]
then
exit 0
fi
if [ "$SELECTION" = "$FINDLOG" ]
then
findlog
elif [ "$SELECTION" = "$ADDUSER" ]
then
adduser1
开源 2008年第8期 64
经验技巧
图4
这个是一个用到了 Zenity 提供的 List 功能。注意,缺省情况下这个对话框的返回值是被选中行的第
一列的值,但是因为第一列被设置成了 Radiobox,所以返回的是第二列的值。如果希望多选的话,可以
使用—check-list 选项。
选择了希望执行的操作之后,就会转到对应的 shell 函数。这个脚本提供了三个功能,搜索某一个应
用程序在某一天的日志文件,添加一个新用户和用 SSH 连接到另一个主机。
我们先来看一下第一个功能。这个功能需要的输入是一个日期,然后查找名字为“MyApp-日期.log”的
日志文件。
图5
开源 2008年第8期 65
经验技巧
需要的只是选择一个日期。
第二个功能是添加一个用户。需要输入需要添加的系统用户的名字:
图6
输入用户名之后,需要输入两次用户的密码。因为使用了—hide-text 选项,用户输入的字符都被显
示成“*”。
图7
如果两次输入不一致,会被要求重新输入。
图8
如果输入正确,那么一个系统用户将被成功添加。
开源 2008年第8期 66
经验技巧
图9
开源 2008年第8期 67
经验技巧
作者:Stuff
翻译:小老鼠杰利
第一步:获得 VLC
Ubuntu:
其他发行版:登录 http://www.videolan.org/vlc/
第二步:获得 sopcast,把它解压到自己的文件夹
wget http://download.sopcast.cn/download/sp-auth.tgz
tar xvzf sp-auth.tgz
cd sp-auth
方法:
开源 2008年第8期 68
经验技巧
流媒体列表:http://www.sopcast.org/channel/
XML 格式的所有列表:http://www.sopcast.com/chlist.xml
Google 上有更多流媒体。
提示:并非所有流媒体都有视频。
链接:http://www.sopcast.com/download/libstdcpp5.tgz
示例:
./sp-sc-auth sop://broker1.sopcast.com:3912/48606 3904 8904 > /dev/null &
第四步:启动 VLC
打开网络流媒体:http://localhost:[streamport]/tv.asf
提示:在它允许你连接流媒体之前也许你不得不等待 20 秒左右。
打开 VLC
播放效果
开源 2008年第8期 69
经验技巧
目的是为了防止他人修改 grub,用单用户模式启动。
grub 加密码只需要修改 grub 启动文件,增加一行 password 关键字,可以采用明文存储或者
MD5 加密后存储。下面我们介绍一下用 MD5 加密的方式。
/sbin/grub-md5-crypt
Password:
Retype password:
$1$oWpTe$/MWUUYbBlF.2RUZK8nbWU0
原始密码是 "abc"。
2、修改 grub.conf 文件
default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
password --md5 $1$oWpTe$/MWUUYbBlF.2RUZK8nbWU0
title Red Hat Enterprise Linux AS (2.6.x-xx.EL)
.........
GRUB=/boot/grub/grub.conf
TEMP=/tmp/grub.conf
开源 2008年第8期 70
经验技巧
Linux 系统下光驱软开关与限速
一、光驱的软开关:
二、光驱的限速:
volname /dev/cdrom
开源 2008年第8期 71
经验技巧
修改 Linux 下 22 端口方法介绍
第一种方法:
先:修改/etc/hosts.deny,在其中加入 sshd:ALL
然后:修改:/etc/hosts.allow,在其中进行如下设置:sshd:192.168.0.241
第二种方法:
首先修改配置文件
vi /etc/ssh/sshd_config
Port 22
Port 50000
然后保存退出
执行/etc/init.d/sshd restart
现在编辑防火墙配置:vi /etc/sysconfig/iptables
开源 2008年第8期 72
经验技巧
执行/etc/init.d/iptables restart
1)命令提示符下打
2)用防火墙禁止(或丢弃)icmp 包
开源 2008年第8期 73
经验技巧
vi /etc/ssh/sshd_config
同时,创建一个普通登录用户,并取消直接 root 登录
useradd 'username'
passwd 'username'
vi /etc/ssh/sshd_config
在最后添加如下一句:
开源 2008年第8期 74
经验技巧
刘颖
安装方法
应用实例
开源 2008年第8期 75
经验技巧
注意,参数的有效格式只能是单个的大写字母,比如 A、B、C 等。
pdftk 同样支持通配符模式,格式如下:
# pdftk *.pdf cat output combined.pdf
2.重组文件
pdftk 工具能够从几个 PDF 文件中分割部分内容合并成一个新的文件,命令格式如下:
# pdftk A=one.pdf B=two.pdf cat A1-7 B1-5 A8 output combined.pdf
3.加密文件
随着 PDF 文件被越来越广泛地应用,为提高文件的安全性,给 PDF 文件加上密码和权限限制越来越
有必要。pdftk 工具能够满足这些要求,下面分别予以说明。
(1)设置文件修改密码
设置文件修改密码的命令格式如下:
# pdftk mydoc.pdf output mydoc.new.pdf owner_pw mypass1
开源 2008年第8期 76
经验技巧
小结
屏幕窗口的收纳盒——Screen 工具
林思敬
1.Screen 常用命令
使用 Screen 非常简单,只需在 Shell 下键入“screen”命令便可打开一个 Screen Session; “-
ls”参数会显示目前所有的 Screen Session;“screen -d [keyword]”命令会将某进程放到后台运行;
“screen -r [keyword]”则会将后台进程恢复到前台。
在每个 Session 下,所有命令都是先按“Ctrl+A”键,然后再按相应的键即可。常用的命令有:
C 开启新的 Window;
N 切换到下一个 Window;
P 切换到前一个 Window;
开源 2008年第8期 77
经验技巧
2.一个实例
举例说明 Screen 的应用。
首先开启一个 Screen 窗口,然后使用 joe 编辑一个文件。如果需要临时离开,在不退出编辑状态的
情况下,先键入“Ctrl+A”再键入“D”就可以将编辑进程隐藏到后台执行。这样防止了其它人修改正在
编辑的文件。运行“ps -e”命令可以看到正在运行 joe:
6264 pts/2 00:00:00 bash
6354 pts/2 00:00:00 joe
开源 2008年第8期 78
企业应用
企业应用
曹江华
代理服务器的功能是代理网络用户取得网络信息,它是网络信息的中转站。随着代理服务器的广泛
使用,随之而来的是一系列的安全问题。由于没有对代理服务器的访问控制策略作全面细致的配置,导
致用户可以随意地通过代理服务器访问许多色情、反动的非法站点,而这些行为往往又很难追踪,给管
理工作带来极大的不便。
部署 Squid 服务器
1. 各种代理服务器的比较
Linux 下的代理服务器软件很多,但是被广泛应用的只有 Squid、socks、Apache 等几个实践证明
是高性能的代理软件。下面我们分别来比较一下这几个软件,如图 1 所示。
虽然上面所列种类还不太全面,但是所谓窥一斑而知全豹,从中我们也可以看出什么样的代理服务
器是被用户广泛使用的。Squid 是 Linux 下一个缓存 Internet 数据的代理服务器软件,其接收用户的下
载申请,并自动处理所下载的数据。也就是说,当一个用户想要下载一个主页时,可以向 Squid 发出一
个申请,要 Squid 代替其进行下载,然后 Squid 连接所申请网站并请求该主页,接着把该主页传给用户
同时保留一个备份。当别的用户申请同样的页面时,Squid 把保存的备份立即传给用户,使用户觉得速
度相当快。目前,Squid 可以代理 HTTP、FTP、GOPHER、SSL 和 WAIS 协议,暂不能代理
POP3、NNTP 等协议。Squid 可以工作在很多操作系统中,如 AIX、Digital、Unix、FreeBSD、HP-
UX、Irix、Linux、NetBSD、Nextstep、SCO、Solaris、OS/2 等。Squid 支持以下协议:
客户端协议:HTTP、FTP、Gopher、WAIS 、SSL
缓存及管理协议:ICP、Cache Digests、SNMP、HTCP
开源 2008年第8期 79
企业应用
图 1 Linux 下主流代理服务器比较
2.Squid 工作原理和流程图
1)代理服务器的工作机制
代理服务器的工作机制很象我们生活中常常提及的代理商,假设你自己的机器为 A 机,你想获得的
数据由服务器 B 提供,代理服务器为 C,那么具体的连接过程是这样的。首先,A 机需要 B 机的数据,A
直接与 C 机建立连接,C 机接收到 A 机的数据请求后,与 B 机建立连接,下载 A 机所请求的 B 机上的数
据到本地,再将此数据发送至 A 机,完成代理任务。
2)Squid 工作流程
开源 2008年第8期 80
企业应用
图 2 Squid 工作原理图
[rpm -q squid]
开源 2008年第8期 81
企业应用
图 3 安装 Squid 代理服务器
如果你的桌面出现图 3 类似的情况
表示 Squid 代理服务器基本运行正常。
2.使用 cachemgr.cgi
1)cachemgr.cgi 配置过程
开源 2008年第8期 82
企业应用
<Location /cgi-bin/cachemgr.cgi>
AuthTypeBasic
AuthNamw"Squidadmin"
AuthUserFile/usr/local/squid/etc/squid.pwd
require valid-user
</Location>
生成口令文件:
#cd /usr/local/squid/etc
#htpasswd -c squid.pwd squidadmin “创建密码文件 ”
New passwd:
Re-type new passwd:
Adding password for user squidadmin
#chown apache:apche squid.pwd “将认证口令文件的属主改为 apache”
图 5 cachemgr.cgi 登录界面
开源 2008年第8期 83
企业应用
输入管理员名称和口令,按“continue”按纽进入 Squid 监控界面见图 6。
图 6 cachemgr.cgi 实时监控界面
(2)重点解读监控数据
cachemgr.cgi 提供的数据非常详细,下面重点解读一些内容:
◆Memory Utilization(内存使用情况)
内存是 Linux 所管理的最重要的资源之一。内存管理系统是操作系统中最为重要的部分,因为系统
的物理内存总是少于系统所需要的内存数量。虚拟内存就是为了克服这个矛盾而采用的策略。系统的虚
拟内存通过在各个进程之间共享内存而使系统看起来有多于实际内存的内存容量。Linux 支持虚拟内存,
就是使用磁盘作为 RAM 的扩展,使可用内存相应地有效扩大。核心把当前不用的内存块存到硬盘,腾出
开源 2008年第8期 84
企业应用
一个内存池是主要的物理内存逻辑区分,包括一个工作或工作组。你能检查正在使用每个进程的内存,
空闲的内存,以及泄露的内存。
◆Event Queue(事件队列)
◆Async IO Function Counter(同步 IO 运行)
◆DISKD Stats(磁盘使用情况)
◆Current Squid Configuration (配置文件通常是处于隐藏状态)。
◆comm_incoming(低水平网络 IO 情况)
◆IP Cache Stats and Contents(IP 缓存使用情况)
◆FQDN Cache Stats and Contents(域名缓存使用情况)
◆Internal DNS Statistics(内部域名统计)
◆External ACL stats(扩展 ACL)
◆HTTP Header Statistics(HHTP 包头统计)
◆Cache Utilization(缓存使用情况)
◆Full Histogram Counts(柱状图统计)
◆Process Filedescriptor Allocation(进程分配)
◆5 Minute Average of Counters(5 分钟统计平均值)
开源 2008年第8期 85
企业应用
图 8 Squid 总体运行情况
3.安全应用 cachemgr.cgi 监控
cachemgr.cgi 可以监测的数据包括:网络流量、使用协议、系统负载、数据包发送时间等。透过它,
基本上所有进出数据都无所遁形,不管拿来做例行的网络监测工作,还是拿来做报告,都是非常优秀的
开源 2008年第8期 86
企业应用
工具,让您的网络流量透明化,通过对这些数据的分析,网络管理员可以深入了解网络当前的运行状况。
不过如何保护这些信息只能给授权的人士获得,将变得额外重要。除了前面介绍的控制访问外最好使用
SSL 协议保护敏感的监控网页。
保护 HTTP 通讯:SSL 的一个常见的用途是保护浏览器和网络服务器之间的网络 HTTP 通讯,但这并
排除应用于不加保护的 HTTP。其方法主要是,对普通 HTTP 加以 SSL 保护(称为 HTTPS),但有一个重要
的区别:它使用 URL 类型 https 而不是 http ,而且使用不同的服务器端口(默认的是 443)。限于篇幅
SSL 配置过程读者可以参考一些修改书籍。配置 SSL 完成后。使用浏览器访问首页输入:https:// IP 地
址或者域名 /cgi-bin/cachemgr.cgi 在 Linux 下 Firefox 浏览器屏幕提示 https 安全。注意浏览器位置栏
和右下角的安全标志,见图 9。
开源 2008年第8期 87
企业应用
Linux 网络管理员应当尽量记录所有日志,这些日志会记录所有异常访问的线索。网络日志不是用来
应付检查,而且它能够帮助你更好地从事网络管理工作。它记录了系统每天发生的各种各样的事情,包
括哪些用户曾经或 者正在使用系统,可以通过日志来检查错误发生的原因,更重要的是在系统受到黑客
攻击后,日志可以记录下攻击者留下的痕迹,通过查看这些痕迹,系统管理员可以发现黑客攻击的某些
手段以及特点,从而能够进行处理工作,为抵御下一次攻击做好准备。
1.Squid 日志格式
squid 拥有完善的日志系统,但是对用户来说,以下的几个日志文件具有重要的意义:
access.log
该文件主要包含了客户访问的相关信息,如客户机的 i p 地址,访问的站点,访问的流量大小等等。
一般的 squid 日志分析程序主要是基于该文件的。
cache.log
该文件包含着 squid 服务进程的相关信息,如启动的状态,错误信息等等。
store.log
该文件包含缓存中存储对象的相关信息,如对象存储的时间,对象的大小,对象超期的时间等等。
开源 2008年第8期 88
企业应用
图 10 子段说明
3. 使用 Linux 命令
如果我们仅仅需要查看某一个字段,可以用 awk 命令,它把一个记录行分割成多个字段,我们使用
参数传回需要的字段。命令如下:
# tail -f /var/log/squid/access.log | awk '{print$3 " " $8 " " $7}'
这里选择的是客户访问时间和用户请求所花费的时间,显示见图 11:
图 11 查看客户访问时间和用户请求所花费的时间
这种方式的优点是实时性强,显示的是当前正在访问的记录的情况。
4.使用专业软件分析
事实上, squid 已经有众多的日志分析软件了,而且大多是免费的,您可以依照自己的喜好来加以
安装与分析你的 squid 代理服务器。
pwebstatus( http://martin.gleeson.com/pwebstats
开源 2008年第8期 89
企业应用
webalizer(http://www.mrunix.net/webalizer/
squid-graph(http://squid-graph.securlogic.com/
squidsites(http://www.stefanopassiglia.com/downloads.htm
sarg(http://sarg.sourceforge.net/
#mkdir /var/www/html/usage_squid/
#cp msfree.png webalizer.png /var/www/html/usage_squid/
余海发
开源 2008年第8期 90
企业应用
上又有自己的特点。
1.tinydns
tinydns 是专为一个或多个指定域提供可信的域名解析的服务。tinydns 只处理 UDP 格式的请求,
而不能处理 TCP 格式的请求,它也不会为不相关的域做递归的域名解析。tinydns 被明确地设计成一个
专门处理来自其它 DNS 服务器查询请求的服务器,并不支接对客户(比如浏览器)的服务。tinydns 服
务器上/etc/resolv.conf 文件中的 nameserver 应指向 tinydns 服务器的 IP 地址。
2.dnscache
dnscache 是 DNS 缓存服务,它负责回答客户(比如浏览器)的 DNS 查询请求。从安全角度考虑,
dnscache 和 tinydns 不能在同一台服务器上,这是为了防范 DNS 缓存中毒攻击(DNS Cache-
poisoning Attacks)。dnscache 可以处理 UDP 和 TCP 的 DNS 查询请求。
3.rbldns
rbldns 是一个特殊的服务器,它适用于高效地处理“黑洞列表”,通常是配合邮件系统来使用,比
如 RBL 或 DUL。
4.axfrdns
axfrdns 用来实现支持 TCP 请求的功能。通常,只有过长的域名才需要以 TCP 方式做解析,超长的
开源 2008年第8期 91
企业应用
5.walldns
walldns 可以对 IP 地址请求做出虚假应答,在需要提供 IP 地址请求应答,同时又要隐藏内部网络结
构的场合使用。walldns 在实际应用中也不多见。
2.安装环境
djbdns 可以在多数 Unix 类平台上安装,本文以 Linux 为例。
3.具体安装
下面具体介绍这三个包的安装方法。
编译安装 djbdns:
#wget http://cr.yp.to/djbdns/djbdns-1.05.tar.gz
#tar -xzpvf djbdns-1.05.tar.gz
#cd djbdns-1.05
#make
#make setup check
编译安装 daemontools:
#wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
#tar -xzpvf daemontools-0.76.tar.gz
开源 2008年第8期 92
企业应用
#rm daemontools-0.76.tar.gz
#cd admin/daemontools-0.76
#package/install
#rm -rf /command/*
#cp command/* /command
编译安装 ucspi-tcp:
#wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
#tar -xzpvf ucspi-tcp-0.88.tar.gz
#cd ucspi-tcp-0.88
#make
#make setup check
注意,如果 Linux 版本使用的是 glibc-2.3.1 及以上版本的 glibc 库(比如 FC2),在编译过程中会
出现“undefined referencer `errno`”这样的错误信息,可以下载专用的补丁来修正这个错误。
这里介绍一个更简单的手工解决方法。在这三个软件的源程序目录中都有一个名为“conf-cc”的文
件,这个文件是设置 GCC 编译时的参数选项,只要在该文件中加上参数“-
include=/usr/include/errno.h”就可以顺利完成编译。比如,djbdns 源代码目录中的 conf-cc 文件是:
gcc -O2 -Wimplicit -Wunused -Wcomment -Wchar-subscripts -Wuninitialized -Wshadow
-Wcast-qual -Wcast-align -Wwrite-strings
将其修改为:
gcc -O2 -Wimplicit -Wunused -Wcomment -Wchar-subscripts -Wuninitialized -Wshadow -
Wcast-qual -Wcast-align -Wwrite-strings -include=/usr/include/errno.h
djbdns 实现 DNS 应用
开源 2008年第8期 93
企业应用
保存退出后,执行以下命令:
#cd /etc/axfrdns
#make
保存退出后,执行以下命令:
#cd /etc/axfrdns
#make
开源 2008年第8期 94
企业应用
/usr/local/bin/tinydns-data
修改为:
remote:data.cdb
scp data.cdb 61.xxx.xxx.99:/etc/tinydns/root/data.cdb.tmp
ssh 61.xxx.xxx.99 mv /etc/tinydns/root/data.cdb.tmp /etc/tinydns/root/data.cdb
data.cdb: data
/usr/local/bin/tinydns-data
增加 ns 记录:
#./add-ns myxxx.org 61.xxx.xxx.88
#./add-ns myxxx.org 61.xxx.xxx.99
#./add-ns xxx.xxx.61.in-addr.arpa 61.xxx.xxx.88
#./add-ns xxx.xxx.61.in-addr.arpa 61.xxx.xxx.99
增加主机记录:
#./add-host www.myxxx.org 218.xxx.xxx.118
#./add-host mail.myxxx.org 218.xxx.xxx.119
增加假名记录:
#./add-alias ldap.infosec.cn 218.xxx.xxx.118
增加 MX 记录:
#./add-mx myxxx.org 218.xxx.xx.119
开源 2008年第8期 95
企业应用
#make
开源 2008年第8期 96
企业应用
(2)建立/etc/dnscache 服务目录:
#dnscache-conf gdnscache gdnslog /etc/dnscache 192.168.2.1
djbdns 的扩展应用
开源 2008年第8期 97
企业应用
在动态域名解析服务方面的应用
随着个人宽带用户的大幅增长,许多想在家里建设网站的用户产生了对动态域名解析服务的需求。
现在这些用户可以很容易地实现一套基于 djbdns 的动态域名解析解决方案。网上也已经有一些这样的项
目发布了它们的实现方案。
在虚拟主机管理系统中的应用
对 DNS 服务安全方面的高要求使得一些虚拟主机管理系统转向使用基于 djbdns 的解决方案。由于
djbdns 的代码体积小、可读性好、安全性好,虚拟主机管理系统的开发者们很乐意转到 djbdns 上。著
名的虚拟主机管理系统 Cpanel 就采用了 djbdns。
djbdns 还能扩展出更多的应用,但 djbdns 最主要的功能还是 DNS 服务本身。djbdns 在效率和安
全方面的良好表现,使得开源用户在 BIND 之外有了其它的选择。开源软件在相互竞争中彼此促进、提
高,最终的受益者将是广大的开源用户们。
顾宏军(Linuxpk.com )
VtigerCRM 首页视图
开源 2008年第8期 98
企业应用
图1
图2
开源 2008年第8期 99
企业应用
点击子菜单或主菜单的下拉菜单,可以进入对应模块列表页面,点击新增图标可以新增记录,点击
查找图标,可以查找当前模块记录,点击导入图标,可以导入当前模块的记录,点击导出图标,可以导
出当前模块的记录。
注意:图标在灰色的情况下是不可以点击的,表示在当前情况下无法使用此功能。
图3
开源 2008年第8期 100
企业应用
信息。
图4
操作步骤:以管理员的身份登陆 VtigerCRM 系统,点击“系统设定”主菜单,进入系统设定页面,点
击“其它设置”板块的“SMTP 服务器设定”,点击右上角的“编辑”按钮配置 SMTP 服务器信息,填
写正确的信息后点击保存按钮,保存过程系统会自动发送一封测试 Email 信息到管理员的 Email 地址,
如果 SMTP 服务器信息和管理员的 Email 正确,管理员将收到一封 Test Email 邮件。
第三步:设置各个模块所需要的字段 每个公司的业务大都不一样,需要的字段可能也不一样,所以
需要屏蔽一些自己公司不需要的字段和添加一些自己需要但系统没有的字段。
开源 2008年第8期 101
企业应用
图5
第四步:设置各个模块的下拉菜单的选项 每个公司的业务大都不一样,例如销售流程,客户级别等,
所以在 CRM 系统实施时需要修改下拉框的选项。操作步骤:以管理员的身份登陆 VtigerCRM 系统,点
击“系统设定”主菜单,进入系统设定页面,点击“工作台”板块的“选择清单编辑器”,选择一个模
块,可以查看所选模块的所有下拉框选项,点击下拉框选项右上角的“编辑”按钮,进入编辑页面,在
弹出窗口里输入下拉框选项,每行只能输入一个选项,输入完毕后点击保存按钮即可生效,保存后可以
到相应模块查看下拉框选项。
第五步:设置访问权限组(Profile,对系统的各种权限分组),访问权限组是权限的核心部分,用户权
限均是在访问权限组的基础上确定的。通过访问权限组可以控制对某个模块的权限(新增/编辑,删除、查
看,导入、导出等权限),而且还可以控制对某个模块的字段的读写权限(可见、读、写等权限),通过此
功能即可实现简单的审批功能(下级对某个字段具有只读权限,上级对某个字段具有可写权限)。
开源 2008年第8期 102
企业应用
图6
编辑某个用户组,进入用户组编辑页面,如果选择全局权 限的查看所有模块和编辑所有模块前面的
选择框,下面的选择框就无须选择,当然如果不选择查看所有模块和编辑所有模块的选择框,就需要一
一选择下面模块列表 中中各个模块的存取权限,在模块的前面打勾表示可以存取所选模块,不打勾表示
表示不能存取该模块,在新增/编辑列的下面打勾表示可以新增和编辑该模块的记录,在查看列的下面打
勾表示可以查看该模块的记录,在删除列的下面打勾表示可以删除该模块的记录。如果没有查看权限,
就没有新增/编辑和删除权限。点击“字段与工具设定”列的展开/收缩图标,可以设定该用户组能存取该
模块的哪些字段(可见某个字段,可写某个字段,只读某个字段等),并且可以设定该访问权限组是否能导
入和导出改模块的记录。依次设定每个模块的权限,确认无误后点击上方或下方的保存按钮即可保存该
访问权限组的权限设置。当然,如果觉得默认权限设置已经能满足自己公司的需求,就不需要编辑用户
组的权限设置。
开源 2008年第8期 103
企业应用
新增某个访问权限组,点击右上角的“新增访问权限组”按钮,输入用户组名称和描述信息,选择
“基于已存在的访问权限修改 (建议)”,点击下一步,进入用户组的编辑页面,操作方法和编辑某个访
问权限组的方法一样,确认后点击保存按钮即可保存访问权限组。
第六步:设置职位(Role,对应公司中的岗位设置),职位是和访问权限组关联的,一个职位可以对
应多个访问权限组,一个用户对应一个职位,用户拥有职位,从而拥有访问权限组对应的存取权限(各个
模块和字段的存取权限)。职位是分上下级的,由于用户和职位是关联的,拥有上级职位的用户能看到拥
有下级职位的记录,例如销售经理 A 的角色是"销售经理",销售人员 A、销售人员 B、销售人员 C 的角色
是"销售人员",那么销售经理 A 能看到销售人员 A、销售人员 B 和销售人员 C 所拥有的记录。
点击某个角色右边的第一个图标(+),进入新增职位的页面,首先输入职位名称,然后选择左边"可用
访问权限组"中的访问权限组,接着中间的点击>>按钮,即可把所选访问权限组选择到"已指定访问权限
组"输入框里,确认后点击保存按钮即可保存该职位。点击某个角色右边的第二个图标,进入编辑角色的
页面,操作方法和新增角色的方法一样。
图7
开源 2008年第8期 104
企业应用
操作步骤:点击右上角的“新增用户”按钮,进入新增用户页面,输入用户名,密码,Email,姓名
和权限,以及其它联系方式、地址、照片等信息,还可设置该用户是否具有管理权限,另外可以设定新
用户在首页显示的模块最新记录,确认后点击保存按钮即可保存新用户信息。使用新用户的用户名和密
码即可登陆 VtigerCRM 系统。
图8
开源 2008年第8期 105
企业应用
第八步:设置用户群组(Group,类 似公司中部门的概念),用户群组包含角色、用户、其它用户群
组等,通过用户群组可以定义复杂的权
限机制。每个模块的记录都有一个负责
人,负责人不仅可以指 定为用户,也可
以指定为组织。当负责人指定为某个用
户群组时,表示该用户群组所包含访问
权限组、用户和其它用户群组有权限操
作这条记录。
图 9
操作步骤:以管理员的身份登陆 VtigerCRM 系统,点击“系统设定”主菜单,进入系统设定页面,
点击“用户管理”板块的“用户群组”,进入用户群组列表页面,点击右上角的“新增用户群组”按钮
可以增加新用户群组,点击列表中编辑图标即可编辑所选用户群组信息,点击列表中的删除图标即可删
除所选用户群组。
点击右上角的“新增用户群组”按钮,进入新增组织页面,输入组织名称和描述信息,切换成员类
型,列表里可以显示所选成员类型对应的成员,选择左边的成员,然后点击>>按钮以添加新成员,选择
右边的成员,然后点击<<以删除成员,确认后点击“保存”按钮。新增完毕后,在新增记录时即可指定
负责人为该用户群组。
点击用户群组列表中的编辑图标,进入编辑用户群组页面,操作方法与新增用户群组的方法一样,
确认后点击“保存”按钮。
第九步:设置共享规则(高级权限控制, 设置共享权限比较复杂,一般企业采用默认的共享权限即
可),VtigerCRM 系统不仅通过角色的上下级关系来控制权限,而且还通过共享来控制权限。如果全局
共享规则为私有时,职位的上下级权限有效,如果全局共享规则为共享权限(非私有)时, 角色的上下级
权限就无须生效,因为已经全局共享了,公司内部的数据都是共享的,就无须上下级角色来控制权限了。
如果全局共享规则为私有时,公司内部还需要 特别的共享规则时,则可以通过自定义共享规则来实现。
职位、职位和下级职位、用户群组之间可以互相共享只读和读写权限。注意自定义共享规则后,必须点
击右 上角的“更新权限&重新计算”按钮,只有这样共享规则才能生效。
开源 2008年第8期 106
企业应用
图 10
操作步骤:点击右上角的“修改权限”按钮可以修改全局共享规则,点击下面的“新增权限”按钮
或“点击这里”可以自定义权限规则。
点击右上角的“修改权限”按钮,进入全局共享规则编辑页面,每个模块的共享规则可以选择私有,
表示只有负责人和负责人的上级能存取负责人所创建的记录,选择“共享:共享只读权限”,表示系统
内的所有用户均能查看该模块的记录,选择”共享:读、新增/编辑权限“,表示系统内的所有用户均能
查看、新增和编辑该模块的记录,选择”共享:读、新增/编辑、删除权限“,表示系统内的所有用户均
能查看、新增和编辑、编辑该模块的记录。确认后点击右上角的“保存”按钮。
点击下面的“新增权限规则”按钮,弹出新增自定义共享规则窗口,第一步:选择拥有记录的角色
或角色和下级角色或组织,第二步:选择共享对象和共享权限,第三步,选择相关模块的共享权限,确
认后点击下面的“新增规则”按钮。注意:点击上面“更新共享规则”按钮才可启用刚新增的共享规则。
第十步:其它设置项目,通过系统的"其它设置"选项,可以设置系统的通知模版,Email 模版,货币币种,
税额和业务条款,还可以查看用户的登陆历史和操作日志。
经过以上十个步骤的设置,CRM 系统就可以正常使用,为公司进行客户管理而服务了,后面就需要
对 VtigerCRM 的其他功能模块进行逐一的介绍和讲解了。
开源 2008年第8期 107
嵌入式
嵌入式
MMU 与 Cache
亚嵌教育(www.akaedu.org) 宋劲杉
虚拟地址和物理地址的概念
我们知道,CPU 通过地址来访问内存中的单元。地址有虚拟地址和物理地址之分,如果 CPU 没有
MMU(Memory Management Unit,内存管理单元),或者有 MMU 但没有启用,CPU 核在取指令
或访问内存时发出的地址将直接传到 CPU 芯片的外部地址引脚上,直接被内存芯片(以下称为物理内存,
以便与虚拟内存区分)接收,这称为物理地址(Physical Address,以下简称 PA),见图 1 “物理地址
示意图”。如果 CPU 启用了 MMU,CPU 核发出的地址将被 MMU 截获,这之前的地址称为虚拟地址
(Virtual Address,以下简称 VA),而 MMU 将这个地址翻译成另一个地址发到 CPU 芯片的外部地址
引脚上,也就是将虚拟地址转换成物理地址,见图 2 “虚拟地址示意图”。
图 1. 物理地址示意图
开源 2008年第8期 108
嵌入式
图 2. 虚拟地址示意图
注意
思考与练习
1、以下程序中用到的地址是虚拟地址还是物理地址?
开源 2008年第8期 109
嵌入式
2、下图中内存芯片的寻址范围是多少?这个地址范围是指虚拟地址还是物理地址的范
围?
虚拟内存管理的意义
让每个进程有独立的地址空间是引入虚拟内存管理的最主要目的。所谓独立的地址空间是指,不同
进程中的同一个 VA 被 MMU 转换到不同的 PA,并且在某一个进程中访问任何地址都不可能访问到另外
一个进程的数据,这样使得任何一个进程有非法内存访问都不会意外改写其它进程的数据,不会影响其
它进程的运行,从而保证了整个系统的稳定性。另一方面,每个进程都认为自己独占 4GB 的地址空间,
编写程序会比较方便,不必为每个进程分配一个地址范围,而是每个进程都可以使用一个完整的地址空
开源 2008年第8期 110
嵌入式
间中的任何地址。
引入 VA 到 PA 的转换也会给分配和释放内存带来方便,物理上不连续的空间变成逻辑上连续的虚拟
地址空间,比如要 malloc 一块很大的内存空间,而物理内存虽然有足够的空闲内存,却没有足够大的连
续空闲内存,这时就可以分配多个不连续的物理页面,而映射到连续的虚拟地址范围。
一个系统如果同时运行着很多进程,为各进程分配的内存之和可能会大于实际可用的物理内存,虚
拟内存管理使得这种情况下各进程仍然能够正常运行,因为各进程分配的只不过是虚拟内存的页,这个
页的内容可以映射到物理内存的页框,也可以临时保存到磁盘上而不占用物理页面,磁盘上这一部分称
为交换分区(Swap Partition)。当物理内存不够时将物理内存中不常用的页面临时保存到磁盘上,而
当用到这些页面时再从磁盘上加载回内存,这称为换页(Paging)因此,
地址空间的分类:
程序空间(RO)
数据空间(RW)
寄存器映射空间(No Cache)
用户空间与系统空间
CP15 协处理器
CP15 为系统控制协处理器,有以下功能单元
MMU 内存管理单元
Cache 缓存控制
开源 2008年第8期 111
嵌入式
开源 2008年第8期 112
嵌入式
图 3. 协处理器指令格式
图 4. 内存访问步骤
1、CPU 发出虚拟地址(VA),请求读数据
4、检查权限位确定是否允许读该物理内存页,如果不允许则引发 Abort 异常
开源 2008年第8期 113
嵌入式
MMU
Alignment Fault (仅数据访问,取指无此限制)
Word、Half Word 数据访问指令所访问的地址未对齐
Translation Fault
Page Descriptor 的[1:0]为 00 (Fault,无效表项)
Domain Fault
相应的 Domain 位为 00 (No Access)或 10 (Reserved)
Permission Fault
根据 AP 位和 CP15 寄存器 1 的 S,R 位决定访问权限,若 Domain 位为 11 (Manager)则 bypass
这一步检查
External Abort
总线异常,例如此物理地址上没有挂 RAM 芯片
思考与练习
1、从 VA 到 PA 的映射为什么要采用多级页表的方式?一级页表有什么缺点?
Cache
开源 2008年第8期 114
嵌入式
Clean 操作
将 Cache 中的数据写回 RAM,清除 Dirty 位
Invalidate 操作
声明 Cache 中的数据无效,强制重新从 RAM 读取
思考与练习
1、为使系统性能最佳,N-Way Set Associative Cache 的 N 应根据什么确定?应折衷考虑哪些因
素?
表 2. 初始寄存器
开源 2008年第8期 115
嵌入式
接下来的步骤是:
创建简单的临时内核页表
mov r0, r4
mov r3, #0
add r2, r0, #0x4000 @ 16k of page table
1: str r3, [r0], #4 @ Clear page table
str r3, [r0], #4
str r3, [r0], #4
str r3, [r0], #4
teq r0, r2
bne 1b
为什么是 16KB 呢?我们只使用第一级页表(Translation Table),该页表使用地址的[31:20]这 12
个 bit 索引,共有 4K 个表项,每个表项 4 字节,因此是 16KB。下面我们将使用 Section Descriptor 来
填充表项,每个 Section 对应 1MB 地址空间,我们只映射 4MB 的地址空间。思考一下,为什么首先要
把这 16KB 清零,即使没用到的表项也要清零?
开源 2008年第8期 116
嵌入式
map)。现在把临时内核页表的映射情况总结如下:
表 3. 映射关系
以下代码建立上面所说的等价映射。
图 5. 内存访问步骤
开源 2008年第8期 117
嵌入式
mov r0, #0
mcr p15, 0, r0, c7, c7 @ invalidate I,D caches on v4
mcr p15, 0, r0, c7, c10, 4@ drain write buffer on v4
mcr p15, 0, r0, c8, c7 @ invalidate I,D TLBs on v4
mcr p15, 0, r4, c2, c0 @ load page table pointer
mov r0, #0x1f @ Domains 0, 1 = client
mcr p15, 0, r0, c3, c0 @ load domain access register
mrc p15, 0, r0, c1, c0 @ get control register v4
/*
* Clear out 'unwanted' bits (then put them in if we need them)
*/
开源 2008年第8期 118
嵌入式
/*
* Turn on what we want
*/
#ifdef CONFIG_CPU_ARM920_D_CACHE_ON
orr r0, r0, #0x0004 @ .... .... .... .1..
#endif
#ifdef CONFIG_CPU_ARM920_I_CACHE_ON
orr r0, r0, #0x1000 @ ...1 .... .... ....
#endif
这一段有很多协处理器指令,请读者对照数据手册和代码中的注释查看各指令的含义。
作者简介:宋劲杉,清华大学自动化系硕士,北京亚嵌教育研究中心(www.akaedu.org)高级讲师,5
年嵌入式系统开发经验,2年嵌入式行业教学经验。参与多个嵌入式系统项目开发工作,精通 Linux内核、
POSIX、TCP/IP、 bootloader编写、文件系统、ARM处理器,擅长ARM平台上Linux系统的移植和应用
开发,熟悉的ARM处理器有:S3C2410、PXA255、PXA270和EP7312等。
个人博客地址:http://djkings.javaeye.com/
开源 2008年第8期 119
开源小知识
开源小知识
为什么开发者需要了解软件的知识产权? 没有登记的软件受著作权法保护吗?
知识产权是法律赋予人们对智力劳动成果所 开发者大多知道软件可以通过申请著作权登
享有的民事权利。知识产权对软件的创造者而言, 记得到保护,实际上,软件从它诞生的那一刻起
可以将知识产权理解为开发者可以在一定期限内 就已经受到版权法的保护。不管一个软件是不是
对软件享有的独占权或专有权和软件开发者依法 申请了著作权登记,软件作品的作者都可以对侵
享有的其它权利。显然,开发者对成果的独占使 犯其著作权的行为采取措施。例如,某公司的软
用权可以带来各种收益,因此软件不仅是程序员 件作品没有进行著作权登记,但是当有人非法复
所创造出来的成果,而且是企业的一笔财富。如 制这个软件时,该公司仍然可以通过法律手段追
何使管理和使用软件的知识产权,实现其价值最 究非法复制者的责任。
大化是开发者和企业都关心的问题。
开发者可以将自己的智力成果进行各种形式 在中国有没有软件专利?
的处理。比如公开软件、出售软件、甚至是将其 商业方法软件专利又是什么?
进行销毁都是开发者的自由。这些自由都是法律
所赋予的,其中知识产权法是非常重要的一部分。 关心软件产业的人们都注意到欧盟在 2005
开发者经常忽视知识产权对自身的价值,多 年没有通过软件专利法案,但美国的做法对国际
半是由于其将法律给予的自由视作与空气、阳光 规则大趋势的影响力也不得不考虑。即便没有专
一样理所当然、天经地义。事实上,不管开发者 门的软件专利立法,软件的专利问题依然存在。
是不是注意到知识产权法的存在,他的智力成果 “凝固”在产品中的软件专利已经为国内很多软
始终处于法律的保护和管制之下。开发者准备对 件企业所认识。
自己或他人的智力成果进行任何处理之前,都应 商业方法软件的专利保护最初也是从美国发
该考虑该行为是不是符合知识产权规则的要求。 起的。商业方法软件专利在美国、欧洲和日本的
申请和授权十分火爆。
软件相关知识产权主要有哪几类? 中国国内的反映比较消极,企业对商业方法
的专利申请尚处在无知状态,专利局的审查指南
最初的知识产权多涵盖的内容比较窄,主要 和政策也没有针对性的反映,专利代理服务机构
包括版权、专利权和商标权。后来出现一些新型 多是在忙着为外国的申请进行代理。目前,中国
的知识产权,如地理标记权、集成电路布图设计 涉及到商业方法的软件专利不多,而国外银行以
权等等。当然与软件和软件产品关系最密切的还 及网络公司在中国申请的有关电子商务方法的专
是版权、专利权和商标权。 利已经覆盖了中国金融业的基础服务。
开源 2008年第8期 120
开源小知识
开源 2008年第8期 121
编读往来
编读往来
Linuxpk.com 8月十大热门帖
Debian 上 PostFix 的配置
http://bbs.linuxpk.com/thread-14495-1-1.html
SecureCrt 监控非法登录脚本
http://bbs.linuxpk.com/thread-33666-1-1.html
对于 Linux 系统的几个常见误解
http://bbs.linuxpk.com/thread-33676-1-1.html
在红旗 Linux6.0SP1 下安装 httpd-2.2.8+php-5.2.5+PostgreSQL-8.3.1+drupal-6.2
http://bbs.linuxpk.com/thread-25230-1-1.html
MySQL 命令
http://bbs.linuxpk.com/thread-25357-1-1.html
Centos 5.2 + HylaFAX + Apache + MySQL + PHP + AvantFAX + HylaFAX-Clinet
http://bbs.linuxpk.com/thread-33649-1-1.html
intel 965+slackware 12+compiz fusion
http://bbs.linuxpk.com/thread-33843-1-1.html
AWK 有关域分隔符的问题
http://bbs.linuxpk.com/thread-33845-1-1.html
linux 内核完全注释
http://bbs.linuxpk.com/thread-33893-1-1.html
经典的杯子测试题
http://bbs.linuxpk.com/thread-33526-1-1.html
开源 2008年第8期 122
编读往来
开源 2008年第8期 123