Professional Documents
Culture Documents
卷首语
我们周岁了
又到了岁末年初,在这么一个特定的时期,大多数朋友都在写着对过去一年的工作总结与对新一年
的展望与预期,媒体也不例外。
2008“XX”大盘点、排行榜、编辑选择奖等等是这段时期媒体的关键词汇,一年都过去了,总得将
某领域一年发生的事捋一遍,从概述中发现脉络,既是总结也是展望,当然,开源领域也不例外。
最近,就好些媒体的朋友问询我,在举世瞩目的“08 年”中,开源界发生了哪些应该被记住的事
情。我列举了很多:诺基亚收购 Symbian 并开源肯定算一件、Sun 的开源战略也得算一件、微软与开源
界的互操作合作愈发紧密并第一次基于 LGPL 贡献代码算一件、“番茄花园”与“黑屏”事件也是与开源
息息相关的两件大事、当然 Netbook 的流行、Google 推出的 Chrome 开源浏览器、Sun 收购 MySQL 和
innotek,Intel 收购 Openede Hand……等等都是在这一年中我们曾经关注过的开源事件。
末了,突然想起,我还忘了一件大事,那就是《开源》杂志创刊一周年了。
时间是一个很奇特的元素,当我们一天一天过着的时候觉得停慢,但猛一回头发现,多少岁月依然
流逝。《开源》亦如此,一期接着一期的做着,忙完一期又是一期,但回头一看,已经发行了 12 期了,
已经过去 1 年的时间了。
“坚持”是我们这一年中一路走来的心态与情绪,既包括了对自己的肯定,也涵盖了对他人的鼓励 ,
一群来自于社区,沟通于网络的 ID 组成了《开源》编辑部,正是大家对开源的热忱以及所信仰的理念,
让大家走到了一起,为了这一共同的目的,共同的方向努力着,也坚持着。
《开源》杂志自创刊之日起就收到了来自开源社区广大开源爱好者的广泛关注和支持,下载量每月
递增,形成了一群忠实的读者,也收到了众多朋友的踊跃投稿,为《开源》的发展奠定了基础。随着读
者的增多,以及影响力的扩大,受到了开源产业界的重视,中国开源软件推进联盟陆首群主席担任了杂
志的主席,工程院院士倪光南更是在杂志创刊之际就发来了贺言,当年将开源软件背回中国的宫敏博士
内核专家毛德操教授,袁萌教授、许洪波教授等悉数成为了杂志专家委员会委员,来自业界企业的代表
如中科红旗总裁贾栋、中标软件副总裁曹冬、微软战略平台总监李科研、Intel 中国 Linux 和开源战略
经理陈绪博士、Sun 开源推广中心白剑波主任、EMC 中国实验室主任毛文波博士也相继成为了杂志顾问
委员会委员。这些专家和企业代表的加入,将杂志提升到了更高的高度,同时,也对杂志提出了更高的
要求和更多的期许。
1 年的时光,1 年的历练,《开源》编辑部摸爬滚打过来了,在这也得感谢编辑部的同仁,都是一
群热爱开源的人,都是一群信奉开源理念的人,也都是一群乐于分享与奉献的人,正是这些从未谋面朋
友的努力,使得 12 期《开源》能与广大读者们见面,历史也许记不住你们,但《开源》永远会记住这些
奉献过的人们。
开
oss.linuxpk.com 源 2009 年第 1 期 2
卷首语
除了编辑部,更应该感谢的是读者,每期杂志发布后,都能收到众多读者的 Email,有问询、有
投稿、有感谢、也有鼓励。正是这些热心的读者,让我们有了坚持下去的动力与决心,让我们觉得自己
是在做一件“有意义”,"值得”的一件事情。
下面是一封读者来信,在我们一周年的纪念日的特殊日子,与大家分享,也作为我们 1 周年回顾的
总结以及新一年的美好开端:
祝《开源》杂志越办越好!Move on!
来自:深圳
Mason.Huang
开
oss.linuxpk.com 源 2009 年第 1 期 3
主办:Linux 宝库
网址:www.linuxpk.com
官方下载地址:oss.linuxpk.com
主席:陆首群
专家委员会(按姓氏拼音为序)
宫敏 毛德操 倪光南 许洪波 袁萌
顾问委员会(按姓氏拼音为序)
白剑波 曹冬 陈绪 贾栋 李科研 毛文波
主编:陈杰
副主编:陈伟
排版:邹洋
封面设计:张亚运
编辑部:高延斌 姚欣宇 顾宏军
校对:戴彬 沈佩琪 王文龙 李彦荣 赵龙
声 明 :杂志部分内容来自开源社区及互联网,目的是加强开源文
化交流和开源应用传播,如存在版权问题,敬请联系,我们将在第一
时间进行处理。
致谢:本电子杂志由 OpenOffice 制作,并直接导出 PDF
文档,在此表示感谢 。
投稿信箱:opensource@linuxpk.com
目录
内容目录
卷首语
我们周岁了.................................................................................................................................2
产业聚焦
开源软件高端用户应用会议召开.............................................................................................7
Linux 基金会:所有的 Linux 发行版都遵从 IPv6 标准..........................................................8
诺基亚完成对 Symbian 的收购.................................................................................................8
Mozilla 软件扩展下载超过 10 亿次..........................................................................................9
未来 IT 行业将有 40%职位与开源有关...................................................................................9
2008 年开源界 10 件大事........................................................................................................10
IBM Lotus 携手 Ubuntu 以虚拟桌面对抗微软.......................................................................11
08 年 6 大最差预测 Linux 得势 苹果推出新品....................................................................12
08 年 10 大超酷开源软件........................................................................................................13
分析称谷歌 Android 上网本 2009 年诞生..............................................................................18
亚洲 Linux 联盟 Asianux 新增第五位成员.............................................................................20
2020 年前开源软件发展路线图..............................................................................................21
经济危机碰撞开源产业碰出新机遇?...................................................................................22
PHP on Windows,互操作一大步..........................................................................................26
开源通迅
SIP 与 Sun 携手共建 MIIT_CSIP - Sun 开放技术创新实验室 ............................................28
新学堂科技推出基于开源软件的杀手级应用 .....................................................................28
从索取到贡献红旗为社区贡献源代码 .................................................................................28
Novell 助力 PlateSpin 进行重大革新 ....................................................................................29
北京 Gnome 用户组在京成立 ...............................................................................................29
红旗 Linux 帮助网吧降低运营成本 ......................................................................................29
中标软件获两亿元注资 .........................................................................................................29
红旗 2000 再获政府青睐 .......................................................................................................30
金蝶开源中间件 Apusic 成功替换.NET 产品 ......................................................................30
EMC 发布云存储基础架构 Atmos .........................................................................................30
金蝶中间件为“全国政协”保驾护航 .................................................................................30
威盛波兰发布新款 C7-M 核心上网本 .................................................................................30
各地开源社区进行时—深圳 .................................................................................................31
Apusic 中标国家金质工程 .....................................................................................................31
Splashtop 荣获《科技新时代》等三项创新大奖 ................................................................31
中兴通信手机出货量激增 .....................................................................................................31
开源社区
MySQL 社区稳定版 5.0.75 发布.............................................................................................32
开
oss.linuxpk.com 2009 年第 1 期 5
源
目录
适合所有 Linux 发行版的包管理器........................................................................................32
openSUSE 11.1 Final 正式版发布...........................................................................................33
Mozilla 移动浏览器“Fennec”Alpha 2 发布...........................................................................35
MagicLinux 2.1 正式版发布....................................................................................................36
Slackware Linux 12.2 发布.......................................................................................................37
领跑的开源软件 Apache..........................................................................................................38
英特尔中国开源技术中心系列专访之二...............................................................................40
何谓“准就业”?不要被忽悠了!.......................................................................................42
特别报道
《开源》新年贺词...................................................................................................................44
贺《开源》周年 黑屏带来契机.............................................................................................45
在金融风暴中,《开源》企业破浪前进 .............................................................................46
写在《开源》杂志创刊一周年之际 .....................................................................................48
《开源》坚定了我们对社区的参与 .....................................................................................49
《开源》之道 .........................................................................................................................51
知识学堂
GNU/Linux 开发第一步...........................................................................................................52
透视 GNOME 项目..................................................................................................................55
经验技巧
Linux 一句话精彩问答 ..........................................................................................................62
tar 命令备份还原 linux 操作系统............................................................................................68
Firefox 启动自动处于脱机工作模式的解决方法..................................................................74
Shell 的五个小应用..................................................................................................................75
给 Iptables 定时........................................................................................................................77
无线网卡在 Linux 下活起来....................................................................................................79
在 Linux 上快速搭建计数器....................................................................................................82
5 分钟打造 U 盘启动的 Ubuntu...............................................................................................85
用 SrvRepor 远程监控 Linux 服务器.......................................................................................87
企业应用
LRP 架构 Linux 路由器防火墙...............................................................................................90
配置 Linux 下的动态 DNS 服务..............................................................................................97
实现 Linux 网络防火墙..........................................................................................................103
嵌入式
开源嵌入式数据库 Berkeley DB...........................................................................................109
开发利器 DevRocket..............................................................................................................117
编读往来
Linuxpk.com 十二月十大热门帖 ........................................................................................120
开
oss.linuxpk.com 2009 年第 1 期 6
源
产业聚焦
开源软件高端用户应用会议召开
(中国)、伊迪艾电脑科技(上海)、上海慧广
科技、北京富通东方科技以及 IBM、Intel 等系
统集成商。
中国开源软件推进联盟陆首群主席在作会议
主题报告时指出:为了促进开源软件的高端应用,
我们邀请各位嘉宾光临。“联盟”是第三方,将
为你们“见面”创造条件,为你们进行沟通、交
流、共享、合作来“铺路”、“架桥”,通过这
次会议,促使广大用户能了解开源软件的特点和
发展状况,以及其独特的开发、发行、应用、服
务模式,了解开源软件在欧美发达国家高端市场
的应用,了解开源软件开始进入国内高端市场的
情况;也促使各家开源软件的开发、发行商能进
12 月 12 日 , 中 国 开 源 软 件 推 进 联 盟
一步了解用户需求,加深用户体验,推出满足中
(COPU)召开“开源软件高端用户应用报告会”
国高端应用市场需求的开源软件版本和服务;在
(上午是报告会,下午是圆桌会议—座谈会)。
我们这次邀请的嘉宾中,还有各家系统集成商,
参加会议的有:中国人民银行金融电子化公
你们对于促进开源软件的高端应用,可说是作用
司、中国银监会、中国开发银行、中国工商银行
巨大。中标软件、中科红旗、Red Hat、Sun 作
中国银行、中国建设银行、中国农业银行、交通
了大会发言,介绍他们开发、发行的 Linux 和
银行、中国进出口银行、中国光大银行、中信银
Solaris 操作系统以及其他开源软件版本的特点,
行、华夏银行、长安保险公司、中国移动、中国
介绍了他们的开源软件在高端市场应用的情况;
联通、铁道部、中国计算机用户协会等用户部门
随后长安保险也做了大会发言,谈到 Oracle 的
CSIP、中科红旗、中标软件、北京拓林思、红旗
服务器 UBL(Linux 操作系统)在长安各网点的
2000、北京大学微电子与软件学院、Red Hat
运行情况;下午的圆桌会议讨论比较踊跃;广大
、Novell、Sun、Oracle 等开源软件开发、发
用户、开发发行厂商、系统集成厂商以及跨国公
行厂商和培训单位;太极公司、神州泰岳、中科
司(如各金融、电信用户,IBM、Novell、Sun
软、中兴通讯、华为、科兰、神州数码、安富利
等公司)进行了自由热烈的发言。
开
oss.linuxpk.com 2009 年第 1 期 7
源
产业聚焦
该 声 明 还 称 , Linux 基 金 会 的 IPv6
Workgroup 开始分析国防部的要求以及关键领
域的支持。他们开始共同协作并成功的研究出并
分享这个符合国防部标准的技术。
开
oss.linuxpk.com 2009 年第 1 期 8
源
产业聚焦
的公司,Symbian 系统在全球移动设备操作系统市场上占据了垄断地位。今年 6 月 24 日诺基亚宣布成
立 Symbian 基金会,会员包括 AT&T、LG 电子、摩托罗拉、NTT DOCOMO、三星、索尼-爱立信、意法-
恩智浦无线、德仪和沃达丰。
此次完成收购要约为建立该基金会迈出了最重要的一步,完成收购后,Symbian 公司的职员将在明
年 2 月 1 日全部转为诺基亚职员。
Mozilla 软件扩展下载超过 10 亿次
据国外媒体报道,Firefox 以及 Mozilla 一数字,其中绝大多数来自 FireFox,高扩展性
的其他产品的扩展下载量已经超过 10 亿次。 已经使它成为了一个软件平台,甚至一些可以提
供独立功能的软件例如 StumbleUpon 也拥有了
这也许是世界上用户主动下载扩展数量最多
FireFox 版。
的软件,Mozilla 仅用了 3 年半时间就达到了这
未来 IT 行业将有 40%职位与开源有关
开
oss.linuxpk.com 2009 年第 1 期 9
源
产业聚焦
将会到来。
在这个长达 78 页的报告中,开源专家提出了一些非常明智的建议,其中包括推荐的政府政策,以及
一些教育和企业管理方面的建议。
另外它指出非常有意思的一点,在云计算成为主流的过程中,以开源为基础的实际应用代码将进一
步向用户“隐藏”。这是它在成为主流技术过程不可避免的,不过有人认为这是对开源的一种“削弱”。
1. Linux 上网本迅速风靡
5. 谷歌推出开源移动平台 Android
开
oss.linuxpk.com 2009 年第 1 期 10
源
产业聚焦
这三家公司合作搭售的虚拟桌面方案,将让企业只需付出极小的成本,就能使用企业最普遍需要的
办公室软件。这套解决方案可让系统管理者,传送开源的 Linux 与 Lotus 的邮件与协同作业软件,到任
开
oss.linuxpk.com 2009 年第 1 期 11
源
产业聚焦
何远程办公室的计算机或工作站。以往,这常常是企业花费最多的软件支出。
08 年 6 大最差预测
Linux 得势 苹果推出新品
据国外媒体报道,2008 年即将过去,回顾 2007 年底或今年年度人们对 2008 年的展望,会发现很
多预测并未得以实现。以下为 6 大最差预测:
一、Linux 得势
《PC World》曾预测,由于 Windows Vista 表现欠佳, Linux 将迅速占领企业和政府市场。实
际情况是,Windows 的市场份额仍高达 90%,而 Mac OS X 为 9.1%。
二、CNET 五大预测全部落空
CNET 预测的“宽带危机、PC 被淘汰、谷歌垄断 700mhz 频段资源及股价突破 1000 美元、苹果发布
新型产品和宽带电视灭亡”五大趋势全部落空。
四、《商业周刊》预测,AOL 将与微软、谷歌或雅虎达成某种交
开
oss.linuxpk.com 2009 年第 1 期 12
源
产业聚焦
易,目前尚未发生。
知名 IT 分析师约翰·巴特利(John Battelle)预测,雅虎 2008 年将找到适当的战略,重新振作
起来。而今年,雅虎两次裁员,与谷歌和微软的交易全部破产,CEO 杨致远也不得不辞职。
五、媒体将声讨任天堂 Wii
Street.com 网站曾声称,Wii 并不是一款伟大的视频游戏机,2008 年定会遭到媒体声讨。但实际
情况是,Wii 今年的销售势头强劲,还是圣诞节期间的最畅销游戏机。
08 年 10 大超酷开源软件
据国外媒体报道,在即将过去的 2008 年,开源应用得到了长足发展,并且渐成主流。另外,开源软
件已不再局限于 Linux 操作系统,Android 移动平台和 Firefox 浏览器同样成为开源运动的核心。以
下为 08 年 10 大“超酷”开源软件:
开
oss.linuxpk.com 2009 年第 1 期 13
源
产业聚焦
开
oss.linuxpk.com 2009 年第 1 期 14
源
产业聚焦
Laconica 开源微型博客平台
Fedora 9 操作系统
开
oss.linuxpk.com 2009 年第 1 期 15
源
产业聚焦
OpenSuSE 11 操作系统
开
oss.linuxpk.com 2009 年第 1 期 16
源
产业聚焦
开
oss.linuxpk.com 2009 年第 1 期 17
源
产业聚焦
谷歌 Android 移动平台
之所以做出这一推断,主要原因是通信终端芯片
厂 商 高 通 ( Qualcomm ) 也 是 “ 开 放 手 机 联 盟
(Open Handset Alliance)”的一员。而该组
开
oss.linuxpk.com 2009 年第 1 期 18
源
产业聚焦
织正是谷歌为推广 Android 手机而牵头组建的。
尽管上网本从本质上讲还是笔记本电脑,但是“上网”才是它最主要的用途。而且,随着“云计算
”服务和无线宽带技术的成熟,上网本也将以其小巧便携的优势对这两个领域起到推动作用。
但是,如今的上网本仍然存在着几个缺陷:1)上网本通常都缺乏内置的无线广域网(wireless
WAN)连接;2)电池寿命和操作系统都是针对台式机设计的,而非移动设备。
这种解决方案还能够解决网络连接目前所面临的问题。尽管戴尔、惠普最近纷纷为其上网本增加可
选的无线宽带模块,但是这些模块的价格却较为昂贵,而高通的 Snapdragon 芯片组则具有先天性的优
势,它自设计之初就支持 3G 和 HSPA 网络。而且还内置有 GPS、蓝牙和 Wi-Fi 模块。
另外,Android 并不是一款桌面操作系统,因此它能够更好的适应上网本。最有趣的一点在于 ,
Android 目前已经能够支持触摸界面,而高通刚刚推出的上网本也支持触摸屏,这难道仅仅是一个巧合 ?
开
oss.linuxpk.com 2009 年第 1 期 19
源
产业聚焦
“ 非 常 高 兴 WTEC 能 够 在 继 中 国 、 日 本 、 韩 国 和 越 南 之 后 , 成 为 Asianux 的 第 5 个 成 员 。
”MIRACLE Linux 总裁兼 CEO Takashi Kodama 说,“2008 年泰国软件市场的销售总额是 18000 万
美元,并以每年 15%的速度增长,其中 Linux 市场占据了接近 8%。我相信随着正版化的推进,Linux
市场占有率会不断增长,这要归功于 Asianux 的推广。我非常希望 Asianux 能够在泰国开源软件获得
更多进展。”
开
oss.linuxpk.com 2009 年第 1 期 20
源
产业聚焦
2020 年前开源软件发展路线图
开
oss.linuxpk.com 2009 年第 1 期 21
源
产业聚焦
他们描绘了一幅开源软件在 2020 年的美好蓝图,到那时候,开源软件将成为软件行业的主流,将大
幅降低地区之间的数字差距。社交网络将使用普及的开放云计算服务,人们在网上不仅仅可以与朋友进
行交互,还可以与政府和企业进行交互。众多公司的 CIO 们将大力支持使用开源软件,并让其运行绿色
数据中心和其它业务模式的核心应用。
不过,该报告的作者表示,要想实现这种美好的愿望,需要实际的行动来支持。投资者、立法者、
教育者和普通的消费者都要完成好自己的角色任务。
他们表示,政府必须支持开放标准和开放服务。这不仅仅是一个意识形态的问题,如果数据需要在
不同的服务和系统之间实现交互,这是必需的。
这就需要一个稳定且中立的法令,来明确规定开放标准和服务如何被制定并使用。他们认为,明确
的法律框架可以帮助避免软件许可的泛滥。
对于投资者,无论是国有还是私有,都应该投资研究和开发战略性开源软件技术,政府和企业应该
建立理论和专业知识的培训计划,以教育新一代软件开发者了解自由/开源软件。
该报告的作者主要是来自法国的专家,另外还包括来自比利时、巴西、加拿大、德国和美国等国家
的开源专家。
经济危机碰撞开源产业
碰出新机遇?
伴随着 12 月气温的骤然下降,全球经济环境也迅速迎来了“寒冬”,
衰退已成必然。股票市场的低迷已经影响到所有行业的任何企业,自然每一
个开源厂商、每一个 Linux 项目都或多或少将受到影响。据开源分析师表示,
从短期来看,无论是开源厂商还是商业软件厂商,都将遭受经济危机的伤害 ;
但是从长远来看,开源却又将受益于这次经济衰退,短期的阵痛或有利于其
长期的健康发展,为其带来新的机遇。
开
oss.linuxpk.com 2009 年第 1 期 22
源
产业聚焦
前经济危机给开源软件社区所带来的影响是截然不同的。他表示,从短期来看,在未来数周内,无论是
开源行业还是商业软件领域,所有人将会发现“现实是残酷的”。他还表示,过去几个月已经是他所经
历的最为艰难的岁月。
对于使用开源软件的企业来说,这当然是一件好事情,但是,对于那些依靠服务和支持来谋生的厂
商来说,所受影响的程度还不能确定。不过,至今为止,经济低迷在这个领域所带来的影响还没有那么
强烈。
一、价格优势是开源取胜的关键
Asay 提到,Linux 公司通常在价格上比专有软件公司更具优势,当经济下滑的时候,这可能是一件
非常关键的事情。他表示,“尽管现在处于经济寒冬,在刚过去的一周,我们还是签下了三个单子:其
中一个单子竞争对手产品价格是 500 万美元,而我们的产品只有 50 万美元;另外,我们还以 25 万美元
拿下了另一个单子;还有在加拿大的一个单子,来自专有软件公司的产品标价超过了 1 百万美元,而我们
的只有 10 万美元。”
开
oss.linuxpk.com 2009 年第 1 期 23
源
产业聚焦
有软件 Exchange 竞争。去年,Zimbra 的收费邮箱年收入已经从 1200 万美元增长至 2000 多万美元,
其客户数量也从 1 万多暴涨至 3 万多。其营销和产品副总裁 John Robb 表示,“每天我们醒来的时候会
问自己这样一个问题,‘如何我们才能发展的更大?’”
二、面临的风险:未来不确定
不过,虽然有以上利好消息,开源软件同样也面临着巨大的风险:客户可能习惯于免费使用软件。
Driver 表示,“我已经看到低迷的经济正在让更多的人开始关注开源,但是如果经济低迷持续的时间过
长,经历一场持续一年或更长时间的真正经济衰退,我担心的一件事情恐怕会发生,普通的 IT 机构或许
会怀疑自己是否还需要一个服务和支持。如果它们面临这种经济状况,而且不知道未来会如何,它们可
能会认为,省去在服务和支持上的投资,可以生存的更长一些。”
Driver 表示,对于开源软件厂商来说,由此带来的危险结果是,“如果使用我们软件的客户不选择
使用服务和支持的时间越长,他们或许认为,其实不需要厂家的支持和服务也不会有什么问题。” 如果
客户具有了这种观点,依靠服务和支持生存的开源厂商就麻烦了。
遭遇这种情况的即使不是全部开源软件厂商,也应该是绝大多数。Asay 表示,在他经历过的每个销
售案例中,客户在做出购买决策之前,可以有很长的时间进行测试评估,据他表示,一个财富 10 强的公
司在其生产过程中使用 Alfresco 的产品已经有一段时间,但是至今还没有给 Alfresco 一毛钱。
在目前经济情形下,这种现象给开源厂商所带来的危险比以往更大,尤其对那些小公司来说更是如
此。正如 Driver 所说的,这已经和开源关系不大,而是一个小厂商如何才能生存下去的问题。
传统的开源厂商都在对如何将用户转化为客户而感到发愁,Driver 表示,在经济低迷时期,实现这
个目标将更困难,因为很多用户通常仅仅希望免费使用开源产品,而不想成为它的客户。
三、更富创新性才能安度经济危机
那么,面临一个可能更加漫长的经济低迷时期,开源软件厂商该如何应对?Asay 的建议是,“所有
人应该考虑盈利问题。当然,还有发展问题,但是盈利应该是第一位的。”
必须想办法卖出尽可能多的软件。另外,将更多的精力放在研发上。如果一个产品足够优秀,它的
销量自然会上涨。这一点对于目前的状况尤其正确,现在开源厂商必须依靠自己的产品质量来反击质疑
的声音。
开
oss.linuxpk.com 2009 年第 1 期 24
源
产业聚焦
另外,开源厂商必须让自己有区别于竞争对手的地方,或者说必须有自己的“绝招”。Asay 表示,
“开源厂商必须确保自己的产品或服务有独到之处。功能扩展、附加功能、增强支持的体验、类似软件
即服务(SaaS)的在线服务、托管软件。托管软件是开源行业应该加强投入的一个领域。让客户可以按月
交费,在经济低迷时期或许是一个可以让你成功的方案。”
Driver 则表示,在经济低迷时期,创新、开发和销售比以往任何时候都重要。他认为,对于小厂商
来说,现在是缩衣节食的时候了。调查自己的核心用户,然后充分利用开源的独特之处,例如开放创新,
或许它可以成为一个新业务模式创建的催化剂。云计算、订户标价等模式的流行说明,创新是可以针对
客户的,而不仅限于技术。它们应该创建协作性垂直用户社区,并在这个社区中亮出自己更多观点。
Driver 表示,如果他是一个开源厂商,他希望能够发现新的方法来解放自己的产品,并让社区成员参与
到产品相关工作中来。
Driver 同时指出,开源行业的巨头现在还可以进行一些物美价廉的收购交易。他建议大型开源厂商
可以关注一些“跳楼价”出售的企业,对于那些手中有钱的开源厂商来说,经济低迷时期就是黄金时期。
四、努力把握好现有客户
最后,在当今特殊的宏观环境下,以往的一些建议将变得更加重要。Asay 表示,“把握好现有的客
户,企业所遭遇的最糟糕的事情莫过于客户的离去。客户是它们最稳定的收入来源。把握好现有的客户,
并将更深层次的产品和服务卖给他们。要知道,客户群的建立并非一朝一夕之功,因此需格外珍惜。”
开源公司可以做的最重要的一件事情是,冷静应对当前局势,安然度过困难时期;所有困难终会过
去。用 Asay 的话来结束本文,“不要慌张——如果你的企业一直是认真经营,没有理由自乱阵脚或去
解雇所有的人。”
开
oss.linuxpk.com 2009 年第 1 期 25
源
产业聚焦
PHP on Windows,互操作一大步
陈杰
这是微软中国与国内开源社区比较全面、也是比较深入的一次合作,从合作内容可以看出,不仅包
括了人员培训,技术支持,以及社区参与,还联合社区共同举办了一次深度体验活动,这种全方位、多
角度的参与国内开源社区的行为,对于微软中国来说还是首次的。
PHPChina 创始人耿志军表示:“在我们社区有很多使用微软平台的用户,过去由于缺乏微软的支
持,他们在社区得到的帮助很有限,我们很高兴这次能与微软公司建立合作,在异构环境日趋发展的今
天,我们有必要,并且必须有能力为用户提供更好的服务,为用户提供更加广泛的平台选择。”
开
oss.linuxpk.com 2009 年第 1 期 26
源
产业聚焦
台,在 Windows 上搭建 Apache+MySQL+PHP 的环境,同样也能达到理想的应用效果和效率,这也是开
源业界人士谈论"混源"架构的典型案例,从"LAMP 架构"到"WAMP 架构",这也是微软认同的"异构"环
境。
微软(中国)有限公司平台战略总监李科研就表示:“互操作原则是用户的需求,也是微软的基本
策略。开源软件与微软应该是伙伴的关系,我们在性能在能互补,在平台上能互操作,这能为我们的用
户带来实际的好处。为了实现互操作性,微软积极地寻求合作。此次与 PHPChina 的合作,是微软全球
互操作性战略在中国的延续,也是微软与中国开源社区合作的新起点。”
开
oss.linuxpk.com 2009 年第 1 期 27
源
开源通讯
问题,业内人士大多认为,其兼容性以及缺少杀
SIP 与 Sun 携手共建 手级应用等问题是开源软件在探寻商业模式之路
术创新实验室 开源软件推进联盟主席陆首群走访了北京新学堂
网络科技有限公司,公司首席执行官张昀为其讲
2008 年 11 月 19 日,CSIP 副主任邱善勤博
解了新学堂的商业模式。
士和 Sun 公司中国区总经理薛耀焜先生代表双方
新学堂目前开发的是一款基于开源软件和
签署了 MIIT_CSIP - Sun 开放技术创新实验室
SAAS 模式的高效网络学习平台技术,并在短时
谅解备忘录。工业和信息化部软件服务业司软件
间内已实现大幅盈利。它将开源软件和 SAAS 模
处处长孙文龙、CSIP 主任陈伟及 Sun 公司董事
式结合,极大地加快了软件开发速度,大幅降低
会主席 Scott McNealy 先生等双方高层出席并
了软件部署成本,并且具备较好的跨平台特性,
见证了签字仪式。
成功解决了开源软件的兼容问题。可以说,新学
双方将在工业和信息化部的指导下,在绿色 堂已经构成开源软件中的杀手级应用。
IT、中国开源社区运作体系、开源人才培养、开
陆主席对新学堂取得的商业模式突破表示高
源应用及软件互操作等五个领域开展合作,共建
度赞赏,他认为这为开源软件商业模式提供了一
开源生态环境,为行业发展提供支撑。
条可借鉴的道路。
开源技术创新实验室的成立,标志着国家软
件与集成电路公共服务平台在开源公共服务平台
建设上具有了一个良好开端。这一公共服务平台
的建设,将有助于引导企业在生产设计流程中充 从索取到贡献
分利用好国家平台的公共服务资源,缩短产品上
市时间,减少企业面临的设计困难,营造更富活 红旗为社区贡献源代码
力的开源软件环境,培育和打造开源产业链,推 据悉,近日红旗桌面研发部门在 KDE 项目上
广开源理念,并帮助中国工业和信息产业提高技 取得了重大的突破。红旗研发部张强为 KDE 提交
术创新能力。
了关于 Kwin 和 Plasma 的相关 Patch,并得到
了 KDE 社 区 核 心 成 员 Seigo 发 出 的 SVN
commit 帐号的邀请。同时,研发部李耀鹏也为
新学堂科技推出基于开源软 KDE 社 区 提 交 了 关 于 密 码 和 时 区 设 置 相 关 的
Patch,并修复了 KDE 中较为严重的 Bug。
件的杀手级应用
开源软件的商业模式一直是业界高度关注的
开
oss.linuxpk.com 2009 年第 1 期 28
源
开源通讯
Novell 助力 PlateSpin 红旗 Linux 帮助网吧
进行重大革新 降低运营成本
12 月 4 日,Novell 宣布对 PlateSpin 工 自 2002 年以来国家相关部门一直在推行软
作负载管理解决方案进行重大革新。利用 件正版化进程。近日,江西省南昌市数百家网吧
Novell 在 协 同 操 作 方 面 的 优 势 , 新 版 实现了软件正版化。据悉,在此次南昌文化局推
PlateSpin 系列产品可使处于混合 IT 环境中的 动的软件正版化工作,主要针对服务器操作系统
客户能够在物理和虚拟基础设施之间剖析、迁移 软件,相关部门参考了工业信息产业部的推荐品
保护并管理服务器工作负载。凭借这些新的增强 牌,分别推荐了红旗 Linux 服务器操作系统和微
功能,PlateSpin 工作负载管理产品是目前市 软的服务器操作系统,南昌市共有近 600 家营业
场 上 唯 一 的 支 持 32 位 和 64 位 Windows 与 网吧出于性价比的考虑选用了红旗 Linux。
Linux 服务器、以及所有领先的系统管理程序的
解决方案。
中标软件获两亿元注资
北京 Gnome 用户组 11 月 19 日,中标软件董事会正式通过股东
方 CEC、CETC 各向中标软件注资一亿元的决议,
在京成立 中标软件将成为我国唯一一家亿元级开源软件操
作系统企业,进一步巩固了公司在基础软件领域
北京 Gnome 用户组,(简称 BeijingGUG, 的位势!
或 BGUG)是一个位于北京的致力于对 Gnome 平
还是 11 月,中标软件相继签约广州市政府
台进行推广、开发及本地化工作的开源社区组织。
信息中心、广州市中医院,广东省英德中医院、
北京 Gnome 用户组于 2008 年 11 月 26 举行第一
中国电信揭阳分公司、西藏公安厅等多个省市级
次会议,筹备北京 Gnome 用户组活动相关事宜。
单位,为这些单位提供整体解决方案。
现暂定于每月的第三个星期三晚 7 点举行例行聚
会,具体地点将在网站上通知 注资后中标软件将继续以“一架式”软件为
(http://www.gnome-cn.org/)。 发展方向,做大做强我国的操作系统产业,通过
开
oss.linuxpk.com 2009 年第 1 期 29
源
开源通讯
Atmos 能通过全球云存储(cloud storage)
红旗 2000 再获政府青睐 环境,协助客户将大量非结构化数据进行自动管
理。凭借其全球集中化管理与自动化信息配置功
日前,红旗 2000 公司应邀赴香港参加了 “
能,可以使 Web 2.0 用户、互联网服务提供商、
第十二届北京-香港经济合作研讨洽谈会”。在
媒体与娱乐公司等安全地构建和实现云端信息管
本届洽谈会的亮点“京港科技与金融服务对接项
理服务。(EMC 吴瑕)
目推介会”上,红旗 2000 公司与香港投资企业
中国数码信息有限公司现场签署投资意向协议,
宣布双方将共同投资组建一家新公司,致力于信
息技术行业发展,共创我国 IT 行业发展的繁荣 金蝶中间件为“全国政
新局面。
协”保驾护航
近日,金蝶中间件有限公司再传捷报,其开
金蝶开源中间件 Apusic 源中间件产品 Apusic 成功中标全国政协办公业
务资源信息系统工程。据介绍,金蝶中间件的旗
成功替换.NET 产品 舰产品 Apusic 应用服务器和消息中间件将作为
金蝶中间件有限公司近日传来喜讯,成功中 基础支撑平台,用于构建综合管理与信息传输服
标湖南省电子政务外网数据交换平台及信用信息 务的基础系统。这是继成功签约国家发改委、国
系统二期。据悉,本项目将采用基于 J2EE 的金 家质检总局、国家信访局、国家监察部等国字头
蝶 Apusic ESB 替换之前基于.NET 的产品。这 客户之后,金蝶中间件再次中标重量级电子政务。
是金蝶中间件继国家质检大通关、宁夏三农数据
交换平台、南京江宁权力阳光等项目之后再次中
标数据交换平台及应用整合的项目。(金蝶中间
件 李军)
威盛波兰发布新款
C7-M 核心上网本
EMC 发布云存储 威盛与波兰厂商 Aristo 合作,推出的新款
开
oss.linuxpk.com 2009 年第 1 期 30
源
开源通讯
SUSE Linux Enterprise 领跑 ISV 支持 工程。这是继国家金宏工程、地理空间信息库之
认证 后,以金蝶中间件 Apusic 为代表的开源中间件
正式进入“四库十二金”的第三个金字工程。此
11 月 26 日 , Novell 在 京 宣 布 在 SUSE
次中标对于正蓄势待发的国产基础软件业来说是
Linux Enterprise 最 新 版 本 之 上 已 有 超 过
一个振奋人心的好消息,对基础软件业的发展意
2500 个软件应用程序通过认证,并且平均每个
义深远。
月增加 140 个新的应用程序。与其他最新版本的
商 用 Linux 发 行 版 相 比 , SUSE Linux
Enterprise 9 和 10 具有最多的已认证软件应
用程序。 根据 IDC 研究公司的研究报告,SUSE Splashtop 荣获《科技新时
Linux Enterprise 是发展最快的 Linux 发行
版,同时它也是许多最主要的企业软件厂商的首 代》等三项创新大奖
选 Linux 平台,其中包括 Microsoft 和 SAP 公
美 国 加 州 圣 何 塞 2008 年 11 月 12 日 讯 ,
司。
DeviceVM 宣 布 其 获 奖 产 品 - 即 时 启 动 平 台
Splashtop 获 得 了 全 球 最 大 的 科 学 技 术 杂 志
《科技新时代》颁发的“最佳创新奖”。同时,
10 月 20 日,金蝶中间件成功中标国家金质
开
oss.linuxpk.com 2009 年第 1 期 31
源
开源社区
源码包:ftp://mirror2.dataphone.se/pub/mysql/Downloads/MySQL-5.0/mysql-
5.0.75.tar.gz
改进:http://dev.mysql.com/doc/refman/5.0/en/releasenotes-cs-5-0-75.html
开
oss.linuxpk.com 2009 年第 1 期 32
源
开源社区
开
oss.linuxpk.com 2009 年第 1 期 33
源
开源社区
密切合作,使开发人员更加便捷、快速地为 openSUSE 项目作贡献。
● 一个无与伦比的远程桌面体验工具 – Nomad
获取方式
开
oss.linuxpk.com 2009 年第 1 期 34
源
开源社区
Mozilla 移动浏览器“Fennec”Alpha 2 发布
Windows/Mac/Linux 系统均可以直接开测。本次更新提升了启动速度,页面打开反应速度和缩放
速度。
下载:http://www.mozilla.org/projects/fennec/1.0a2/releasenotes/
开
oss.linuxpk.com 2009 年第 1 期 35
源
开源社区
系统的主要组件如下:
kernel-2.6.25.20/qt3.3.8/kde3.5.10/gcc-3.4.6/glibc-2.3.6/xorg-1.5.2 , 几 乎
都是同一个大版本中的最后一个小版本,包括其它的一些软件,比如 amarok/kaffeine 等。
自 rc3 以来的更新如下:
● 更新内核到 2.6.25.20
● 更新 xorg-server 到 1.5.2,同时更新配套软件包。
开
oss.linuxpk.com 2009 年第 1 期 36
源
开源社区
● 更新 kfuseiso,修正中文支持问题。
● 更新 wine 到 1.1.8,修正部分中文的显示问题
● 更新 konversion
● 更新 cmake
● 更新 hal,修正普通用户挂载需要输入密码的问题。
下载地址:
CD 版本:http://apt.magiclinux.org/iso/MagicLinux-2.1.Houyuan.cd-1.iso
DVD 版本:http://apt.magiclinux.org/iso/MagicLinux-2.1.Houyuan.dvd-1.iso
开
oss.linuxpk.com 2009 年第 1 期 37
源
开源社区
务器的任何场合。可以按需使用各种 web、ftp 和 email 服务器,可以在各种流行的桌面环境中作出选
择。大量的开发工具和编辑器、库文件被包纳进来,以方便那些希望开发或编译额外软件的用户们。
下载:ftp://slackware.mirrors.tds.net/pub/slackware/slackware-12.2-
iso/slackware-12.2-install-dvd.iso
领跑的开源软件 Apache
中国开源软件推进联盟主席 陆首群
开
oss.linuxpk.com 2009 年第 1 期 38
源
开源社区
Justin Erenkrantz 主席与会,足见 Apache 对这次会议的重视。这次会议的目的是要促进开源软件
Apache 的发展,特别是促进 Apache 在中国的开发和应用。对此,我是全力支持的。
我认为,Apache 有五个特点:
下面我想谈一点希望:
开
oss.linuxpk.com 2009 年第 1 期 39
源
开源社区
英特尔中国开源技术中心系列专访之二
——虚拟化中国团队
陈杰
Intel 开源技术中心虚拟化团队合影
提到英特尔,一直以来,人们的惯性思维都是一家硬件公司,他们关注的是生成芯片、销售芯片,
而软件来自于不同领域,这和英特尔是毫不相干的事情。事实上,在软件领域,尤其是开源软件领域,
英特尔做出了很多的贡献,很明显的一组数据就是在英特尔中国,专门从事开源软件研发的就有 150 个
工程师左右,这些工程师做的每一件事情都与开源软件有关,并且都回馈与开源社区。《开源》杂志将
做一系列采访,一一介绍来自英特尔开源技术中心的不同团队,介绍他们所涉及的开源项目及从事的工
作。
开
oss.linuxpk.com 2009 年第 1 期 40
源
开源社区
《开源》:首先介绍一下你们虚拟化团队的历史,目前负责哪些方面的研究?
《开源》:请简单介绍一下项目的具体情况任何,以及目前的进展情况。
虚拟化中国团队所取得的一些进展:
对多种虚拟机操作系统的支持(如 Windows、Solaris 等)
虚拟机的保存、恢复和动态迁移
Xen 的内存虚拟化算法(影子页表)的主要开发者之一
性能调优
《开源》:从团队成立以内,取得了哪些突破性的成果,并简单介绍一下项目的远景规划。
开
oss.linuxpk.com 2009 年第 1 期 41
源
开源社区
邀请老师到 Intel 来做访问学者,来共同探讨和提高国内在虚拟化基础研究领域的研究。
目前,基础的虚拟化解决方案逐渐成为成熟产品,基于 VT 的虚拟化解决方案已经在业界得到了广泛
的应用。该团队将继续在深层次的虚拟化问题上进行进一步的研发工作。例如:
在虚拟化中加入高可靠性的支持,使之能够满足关键任务的需求。
在虚拟化中进行有效的电源管理以实现绿色计算。
何谓“准就业”?不要被忽悠了!
袁萌
近日,“准就业”一词满天飞舞,把一些待业的大学毕业生“忽悠”得晕头转向,全蒙住了。何
谓"准就业”,“准就业”组织者究竟想干什么?本文试图“解析”一下。
首先,什么叫“准就业”?在此,“准”字的含义是,程度上虽然不完全够,但是,可以作为某类
事物看待的意思。因此,“准就业”就是正式就业之“前夕状态”,而不是处在待业和就业之间的“中
间状态”。简单来说,“准就业”应该明确偏向正式就业的一方,否则就不应该叫做“准就业”。
12 月 19 日,有一个新闻发布会,主题是“LUPA 找到了中国当前大学生就业难的解决方案”。先不
说 LUPA 是什么组织,只说说“中国当前大学生就业难的解决方案”,这里的核心问题是,组建一个由
LUPA 牵头的全国性“资源整合中心”(所谓“就业实训基地”),招收有意向进行就业实训的学生,进
行核心职业能力、核心职业技术“双核强化实训”,经过 3~6 个月的实训,合格者可进入“就业岗位”,
并在项目经理人的指导下工作,创造价值并且取得收入(请注意,此时接受实训者还没有进入正式的工
作岗位)。“准就业”阶段结束后,学生将分层次进入国内外 IT 企业、政府、事业单位、民营企业等
(这才算是正式就业)。十分明显的是,实训阶段不是“准就业”(在此阶段,学生到哪里就业都不知
道,根本谈不上“准” 字),本质上,实训阶段只是一个“就业前的预备期”,学生接受“实训”,提
高核心技能,谁来付钱?学生本人也!同时,以解决“中国当前大学生就业难”为由,再伸手向国家要
钱。由此可见,LUPA 的“准就业”解决方案纯粹是一个商业策划方案,完全以赢利为目的。至于“准就
业”阶段结束后,接受实训者如何“分层次”进入“工作岗位”,那还得依靠学生自己本人,“准就业
”组织者并不承担什么责任。
经国家教育部批准,以北京大学软件学院牵头(负责),政府投入巨资,组建了“Linux 技术培训
与推广中心”全国体系,这是一项体现国家意志的重大举措。人才培养是一个非常严肃的问题,不应受
到任何“商业操作”的影响。LUPA 自称:为了打造“准就业”平台,LUPA 首先“整合”了北京大学、
开
oss.linuxpk.com 2009 年第 1 期 42
源
开源社区
清华大学和浙江大学等 40 所国家 Linux 技术培训与推广中心,......,作为其学生资源平台。这是谁
授予 LUPA 的“整合”权力?LUPA 不要把自己的位置放错了地方。实际上,从全国“Linux 技术培训与
推广中心”体系培养出来的大学毕业生,本身就有“国家培训”的印记和资格,根本用不着什么“双核
强化实训”的资格证书。
另据媒体报道,“准就业”机制受到海内外专家学者、政府高层的高度关注。在此,我们要问,既
然“准就业”机制是一项“中国大学生就业解决方案”,那么,该上马项目是否(事先)通过认真的审
查和评议?其可行性如何?其可能的效果如何?我希望,“准就业”问题能够引起社会公众、企业老板
舆论媒体和政府官员的足够注意。我认为,一时性的失业,对于大学毕业生本人而言,是反省自己人生
的必要阶段,并不可怕。大学毕业,又是人生的一个转折点,就业竞争是一件好事,是他们必须上的一
课。别的学校具体情况,我也许并不清楚,但是,北京大学的毕业生,一般来说,都是一些佼佼者,无
论学识,还是品德。我不希望,这些佼佼者再去接受什么“双核实训”,沾染那些“铜臭”!
开
oss.linuxpk.com 2009 年第 1 期 43
源
特别报道
特别报道
开
oss.linuxpk.com 2009 年第 1 期 44
源
特别报道
贺《开源》周年 黑屏带来契机
中国工程院院士 倪光南
今年年初,当我看到陈杰主编的《开源》电子杂志时,我
给他写了一段话:
“很高兴看到了《开源》月刊,虽然不是纸面杂志,但电
子杂志对于我们大多数人和纸面杂志是一样的。中国的开源事
业的环境仍不够好,开源刊物遇到的困难反映了整个开源事业
的状况,以中国目前的经济实力而论,我们在高技术领域,在
信息领域,在软件领域,在开源软件领域,投入是很小的,在
这种情况下,只能依靠大家努力,用最小的投入取得尽可能大
的效益。由于国家贯彻自主创新的战略方针,开源软件的前途
是很光明的,国家的‘核高基’专项就是一个重大的推动。问
题是国家战略的贯彻需要时间,需要克服各种阻力,所以在短
期内,开源软件企业、社区等都需要克服困难,争取发展,然
后就会有大的发展。
希望《开源》月刊愈办愈好”。
在写这段话的一年后,很高兴地看到《开源》月刊确实愈
办愈好了,作为目前中国开源软件领域中仅有的刊物之一,它
中国工程院院士-倪光南
对中国的开源软件是很有贡献的。
不久前发生的“黑屏”事件凸显了中国的信息安全问题,它表明如果软件(尤其是基础软件)不是
自主可控的,信息安全就得不到保障。实际上,国家早就着手部署发展自主可控的基础软件。根据《国
家中长期科学和技术发展规划纲要(2006-2020 年)》,国家确立了“核高基”重大专项,其中包含
了“基础软件产品”,现在已进入实施阶段,这次“黑屏”事件更显示出这个专项的必要性,也将会加
速推动这个专项的实施。
“基础软件产品”包括了操作系统、数据库管理系统、中间件和办公套件等等内容,它们与开源软
件有非常密切的关系。例如专项要发展的操作系统是与开源软件 Linux 兼容、遵循 Linux 开放标准的,
它或是自主开发并与开源软件相结合,或就是基于开源软件发展出来的。“核高基”重大专项所支持的
其它基础软件也与开源软件有类似的密切关系。所以说,国家支持发展自主基础软件也就是支持了开源
软件;而开源软件只要与中国的软件人才结合起来,就可以成为自主可控的软件(或服务)。
开
oss.linuxpk.com 2009 年第 1 期 45
源
特别报道
在我国政府采购中,按照《软件政府采购实施办法》(征求意见稿),本国供应商发行的源代码开
放软件视同本国软件予以认定。虽然这个《办法》没有正式公布,但这个原则已得到认可。由此可见,
本国软件与开源软件在很多情况下是相通的;支持国产软件和支持开源软件在很多情况下是一致的。
我们主张在中国信息化(包括软件正版化)中推广国产软件和开源软件,因为这不但能保障信息安
全,而且将对中国的经济和就业产生重大的贡献。反之,如果我们在信息化中推广外国软件,不但达不
到自主可控,而且中国市场带动的只是外国公司,它们对中国的经济和就业的贡献是微不足道的。
“黑屏”事件也促使我们深刻反思中国 IT 人才的教育培训问题。由于历史原因,过去我国教育培训
体系是向微软倾斜的,例如《中小学信息技术教育大纲》规定的教学内容全部依赖微软操作系统和办公
软件;全国计算机等级考试在 2005 年开考的 13 模块中,有 10 个是考微软等外国公司的软件……。相比
之下,其他大国都不是这样。如美国排名靠前的十多所名牌大学中,大多数计算机系都配备 Unix 或
Linux 实验室,许多只有 Unix 或 Linux 实验室,只有极少数只配备 Windows 实验室;俄国信息技术
和通信部长要求到 2009 年俄国所有学校都安装 Linux(Rissian OS)。
我们相信,以“黑屏”事件为契机,开源软件这一世界性的潮流也会在中国迅速高涨起来。一方面,
开源软件将成为推动中国的软件和信息服务业发展的动力;另一方面,中国丰富的人才资源和巨大的内
需市场也都将成为推动开源软件发展的动力。
希望《开源》月刊愈办愈好!
在金融风暴中,《开源》企业破浪前进
中国开源软件推进联盟副秘书长 袁萌 教授
大家公认,媒体是产业发展的催化剂。过去,纸质媒体(也叫
平面媒体)盛行,现今,网络媒体兴起。因此,我们必须关注网络
媒体的发展。网站门户连续播报,消息快速及时;电子期刊定期发
行,内容准确可信,两者互补,不可缺一。本文把《开源》电子期
刊视为一类“开源”(“Open Source”)企业(社会组织)对待。
当前,金融风暴波及全球,许多传统企业垂头丧气,但是,“
开源”企业却在经济困境中继续破浪前进。如此说法,有何根据?
何谓“开源”企业?大家知道,美国红帽(Red Hat)公司是全球
最典型的开源企业(在此,“开源”之引号已经除去)。红帽从创
业一开始,其主打产品就是方便性(Easiness,一种很规范的技术
服务),而不是软件(请见《红帽旋风》一书),也就是说,红帽
中国开源软件推进联盟副秘书长 袁萌
教授
开
oss.linuxpk.com 2009 年第 1 期 46
源
特别报道
的经营模式是出售所谓“订阅”服务(“Subscription”),向用户按年度收取”订阅费”,而向红帽
购买这种服务的一般是企业(中小企业居多)。红帽公司现有订阅用户 250 余万,分布在全球,公司年
收入近 10 亿美元,平均而言,每个订阅用户的年度服务费(订阅费)为 300~400 美元。这里请注意的
是,这种订阅服务一般是经由网络进行的(包括借助 SaaS 手段),并不需要派人直接登门服务。
现在,金融风暴席卷全球,出售产品的传统企业,往往因产品出售不畅,停产减员,倒闭关门,不
足见怪。那么,出售服务(这里指订阅模式)的现代企业(以别于传统企业),经营状况如何?原来购
买“订阅”服务的企业,是不是因为要压缩支出,就停止继续订阅呢?这是非常关键的一点。实际上,
在金融风暴中,大多数企业,宁愿砍掉产品购买,也不愿停止订阅服务。以红帽为例,今年第三季度(红
帽财年第三季度止于 10 月 30 日)总收入共计 16,530 万美元,比去年同期增长 22%,其中订阅收入为
13,550 万美元(比去年同期增长 17%),同时,在这一期间,红帽的股市表现高于华尔街的预期。
有一点需要特别说明白,用户订阅红帽的技术服务,到期继续订阅与不订阅(可订可不订),完全
由用户自己决定。即便用户不想再继续订阅,红帽也不收回自己原先给用户安装的软件(比如,企业版
RHEL 5.0,用户可继续自己使用,而不再支付订阅费)。因此,能否留住老客户(使其重新继续订阅),
是红帽必须做好的事情,否则,用户都流失了,红帽“订阅”模式也不能算是成功的。实际上,红帽用
户的更新率(renewal rate,表示继续订阅的比率)在经济风暴中,不但不减,反而有很强的增长势
头 ( 请 见 “ Linux Subscriptions Paying Off for Red Hat” 一 文 , by Sean Michael
Kerner)。这一切充分说明了红帽的“订阅”模式是成功的,经受住了经济衰退的考验。
美国红帽公司,2005 年元旦进入中国,经过市场调查,很快发现中国企业根本不认“订阅”模式,
政府部门就更别提了。全球有 250 万个大、中、小企业购买红帽的订阅服务,为何中国企业不认这种东
西?我们喜欢把“国产”Linux 发行版当成产品出售,不坚持培养用户重视技术服务的意识,这是一种
产业弊端。实际上,服务亦是一种产品,但是,它是一种边提供、边消费而不能存储的产品。现在的实
际情况是,遇到经济低迷,用户削减开支,不愿意继续采购产品,不少软件厂商急眼了,有的只好裁人
关门了事。怎么办呢?
开
oss.linuxpk.com 2009 年第 1 期 47
源
特别报道
当前十分紧迫的问题是,全球经济紧缩,波及各个方面,但是,国际开源运动却逆势而动,空前兴
旺,机遇难得。此时,《开源》电子期刊急待加强,发挥出更大的舆论媒体作用,但是,由谁出面来支
持?怎么支持?我想,那些有远见的企业,特别是国内的开源企业(或者有开源意向的企业),给《开
源》电子期刊及时投放一些业务广告不失为一种经营上策和义举。
写在《开源》杂志创刊一周年之际
中国开源软件推进联盟副秘书长
CSIP 中国开源软件中心主任
陈伟博士
回首 2008,这是一个不平静的年头。奥运会的成功举办,
全国上下众志成城抵御自然灾害,共体时艰,成为 2008 中国
的最强音;而“三聚氰胺”事件以及全球性的金融危机也成
为后奥运时期整个社会不得不面对的现实;微软的“黑屏”
事件以及移动互联网设备(MID)的兴起,也将开源软件这个
并不新颖的话题又推向了前台。
信息产业对我国的影响已经足以左右国民经济的发展, 中国开源软件推进联盟副秘书长陈伟博士
由于历史原因,中国 IT 企业在核心系统软件和核心硬件技术
等方面远落后于美国。因此,能够通过参与开源,参与最前沿的技术开发,将会是我国信息产业的重大
机会,也是我国软件产业实现跨越式发展的一次机遇。
开源软件以其开放性、低成本、灵活性、安全性和不完全依赖于软件提供商等五大要素优于传统的
私有商业软件,正向传统非开源软件发出了有力的挑战。今天,开源技术已趋成熟,并发展为一种主流
的技术平台;开源软件正在不断开拓、扩大其市场占领,并开始进入高端应用市场。开源软件的兴起,
日益改变世界软件产业的发展轨迹,也推动着中国软件产业的发展。
开
oss.linuxpk.com 2009 年第 1 期 48
源
特别报道
全球性金融危机的影响正在向实体经济领域渗透,预计到 2009 年金融危机对全球经济发展的全面影
响将正式呈现出来,众多的企业面临破产或成本控制的压力。危机与机遇是一个事物的两个方面,当前
的一个共识是金融危机将为开源软件的发展提供一个机遇。因为成本的优势,众多客户在节省成本时,首
先不得不将目光聚焦在开源软件。的确,开源软件为企业在节省 IT 支出方面提供了一个切实可行的解决
方案。
我国信息化的发展进程以及在传统教育领域信息技术教育方面的局限性,形成我国的开源软件发展
先天性贫血,表现在开源人才缺乏、开源社区稀少、开源项目不多、开源认知不足、开源市场空间狭窄
等,究其原因是以人才培养为核心的开源各个环节未能有效地待续性建立。
在诸多爱好者和有志之士的推动下,近年来国内开源领域涌现出一批具有生机与活力的开源软件社
区和一批极具价值的开源刊物。“Linux 宝库”社区和《开源》杂志就是其中的杰出代表。当前普遍认
为走出我国开源尴尬境遇的有效的方法之一就是推动开源软件的应用,以应用促进开源软件配套环节的
建设。开源软件的应用是开源的重要推动力,而应用的关键又在于开源软件应用的传播以及开源社区的
支持,只有让更多的人和企业接触开源软件,使用开源软件,开源软件的优势才能被世人所知,开源软
件才能被社会所接受,开源软件才能与我国的软件产业相结合,将我国软件产业发展的机遇变为现实。
《开源》杂志正在不懈的努力,希望各方能给《开源》杂志以更多的关注和支持,共同推动开源软
件在中国的发展。
《开源》坚定了我们对社区的参与
中科红旗总裁兼 CEO 贾栋
岁末年初,回顾开源,业内似乎缺少举足轻重的事件,但许多细
节又历历在目,言犹在耳,欣慰 Linux 及开源一贯的热情与务实。
作为开源业的电子杂志,红旗一路读阅而来,见证了《开源》日
益进步——每月带来的最前线、最深度的报道。其实,无论是中科红
旗,还是《开源》,都还很小,只是专注做着自己的事。在这个行业
里,也许没有光鲜艳丽的明星,但每个成员都专心致志、怀有崇高向
往,为中国的开源事业默默奉献,其中热情也许很难用文字表达,只
有每个人最清楚。
一周前,许多媒体朋友都注意到,由北京中科红旗、韩国
Haansoft 软 件 公 司 、 日 本 Miracle Linux 公 司 和 越 南
VietSoftware 公司联合成立的 Asianux 公司迎来第 5 位成员,泰 中科红旗总裁兼 CEO 贾栋
开
oss.linuxpk.com 2009 年第 1 期 49
源
特别报道
国 WTEC 公司的加入。2008 年对红旗来说是重要的一年,在移动互联网领域取得了巨大的成功。随着
WTEC 的加入,更加巩固了 Asianux 在亚洲开源软件市场的地位。相信不久的将来,更多亚洲国家的组
织将加入 Asianux,共同体会“星星之火,可以燎原”,做强做大开源产业。
在今年的全国大学生开源软件竞赛上,我见到了来自新疆农业职业技术学院的杨功元老师,作为软
件技术学院的院长,杨老师在软件行业积淀多年,言谈中习惯会提及开发和动手能力。新疆农业职业技
术学院已是连续两届派学生参加开源软件竞赛,不是见到这些莘莘学子,很难想象,在遥远的西北,还
有那么多钟爱 Linux 和开源的人们。结合 Linux 基础培训和实际操作,该院培养一批掌握专业 Linux
技术的人才。不少学生凭借对 Linux 的理解和运用,成功走上工作岗位,其中不乏进入各大软件公司。
即便如此,红旗一个企业的力量也是有限的,每次看到《开源》杂志、看到更多企业和组织融入社
区,参与社区时,我们的团队都会坚定一些感动,激励我们为社区贡献开源企业的责任和义务。
开
oss.linuxpk.com 2009 年第 1 期 50
源
特别报道
《开源》之道
——贺《开源》杂志 1 周年
我还记得杂志专家委员会的第一位专家是倪院士。在 08
年 2 月刊上,倪光南院士对《开源》杂志提出殷殷期望。而今,
英特尔公司中国 Linux 和开源战略经理 陈绪博士
专家委员会和顾问委员已经是高朋满座,聚集了中国开源界的
泰斗和开源企业界的代表。
作为英特尔公司在中国的开源窗口,我非常乐于见到《开源》杂志的成功。英特尔中国北京和上海
的开源技术团队,也将一如既往,为中国的开源社区贡献力量,为杂志的内容带来最新的技术气息。
开
oss.linuxpk.com 2009 年第 1 期 51
源
知识学堂
GNU/Linux 开发第一步
宋国伟
目 前 , 很 多 朋 友 学 完 了 C 语 言 , 但 并 不 能 在 GNU/Linux 系 统 下 进 行 编 程 开 发 。 究 其 原 因 ,
GNU/Linux 系统还未大面积普及是大碍之一,另外,人们不熟悉 GNU/Linux 系统下的开发工具也是关
键。本文就是以“用例”的形式讲述在 GNU/Linux 系统下如何进行应用软件开发的基础和常识,为将来
在 GNU/Linux 系统中进行大规模或企业级开发铺路。所谓“用例”,就是通过简单的例子来学习,最终
达到能在自己的实际中应用的目的。
一、平台选择
首先,从事 GNU/Linux(以下简你 Linux)系统下的应用开发,应该有一个合适的操作平台和开发
环境,所以选择和安装 Linux 操作系统成为 Linux 开发者的第一课。目前可供选择的 Linux 操作系统
种类很多,如 Red Hat(最新版名为 Fedora)、SuSE、Mandrake 和中科红旗(Red Flag),还有
开源组织中有名的 Debian 等。虽然版本很多,但它们在底层系统组成上的差别是微乎其微的。我们以
Red Hat 9.0 为开发平台,以后的操作和开发都在这一系统平台上进行。
二、开发系统的组成
Linux 操作系统内核底层的开发工具和辅助工具,有的是直接建立在内核基础上,如 Shell、GCC
和 Make 等;有的是建立在脚本语言的基础之上的,如 Automake、Autoconf 和 Libtool 等。它们是
Linux 操 作系 统外 层的 图形 界面 开发 工具 (GTK+、 QT 等) 和网 络应 用开 发工 具( Perl 、PHP 和
Python 等)的基础和过渡。掌握了底层开发工具,对外层应用开发是有好处的,这样可以加快和优化外
层应用开发,从而达到开发速度和开发质量的和谐统一。
三、慎选 IDE
本文讲述的程序编辑工作多数是用 Linux 系统中常用的 Emacs 和 vi 来做,在终端窗口中进行命令
编译调试。熟悉 Windows 下编程的朋友们会质疑为什么不用 IDE(集成开发环境),是 Linux 下没有
吗?答案当然是否定的。Linux 下有很多 IDE,事实上 Emacs 就是一个非常好的 IDE,其它的还有
CodeForge、ANJUTA 和 Kdeveloper 等。对编程人员来说,IDE 在编译控制的底层隐藏了很多东西,
开
oss.linuxpk.com 源 2009 年第 1 期 52
知识学堂
如果软件开发者真正了解和掌握了这些东西,对开发出更好的应用程序是大有帮助的。
对于 IDE 可以这么比喻,它好象是飞机上的自动驾驶仪,有了它飞行员会轻松许多,但如果飞行员
没有真正掌握飞机的驾驶技术,在飞行中如果自动驾驶仪失灵的话,坠机是必然的,这样的飞行员是不
能让他驾机的。编程人员也如此,只用 IDE 开发软件是不够的。
四、开始动手
坐谈论道不如起而躬行。下面就从一个简单的 C 语言源文件的编译开始,研究这些内容。
首先是安排好目录。在自己的用户目录下,创建一个总的目录 learn-gnu,然后在此目录下创建第
一个学习目录 learn-1,在此目录下用 Emacs 编辑 hello.c 文件,输入如下内容:
//hello.c
#include <stdio.h>
int main(int argc, char *argv[])
{
int i;
if(argc<=1)
{
printf("The program name is :%s\n", argv[0]);
}
else
{
printf("The program name is :%s\n", argv[0]);
for(i=1; i<argc; i++)
printf("The argument %d is : %s\n", i, argv[i]);
}
}
这段代码试验了命令行参数及其简单的用法,正常情况下在终端中输入下面的命令即可编译:
这是 C 语言初学者学到的最简单、最原始、最直接、也是最有效的编译方法,测试方法也是最简单
的。因为所给用例的代码也比较简单,不用太复杂的方法。
开
oss.linuxpk.com 源 2009 年第 1 期 53
知识学堂
这里没有用很经典的“Hello world”程序,其原因是笔者在辅导一些学生们学习 C 语言课程时,
发现他们对这个程序还不太理解。
# make
# gcc hello.c -o hello
再执行列目录命令,会发现已生成可执行文件 hello:
# ls
hello hello.c Makefile
下面是多个参数的输出结果,相信会对命令行参数有初步的了解。
如果源程序再复杂一些,例如多一些源文件和附加一定数量的资源(如图像和文档等),或者涉及
到系统中的其它支持(如需要系统安装有文档处理工具,语法检测工具,某些开发工具的开发库等)时
再 编 写 Makefile 文 件 就 会 变 得 非 常 麻 烦 , 也 非 常 容 易 出 错 。 这 种 情 况 可 以 使 用 Autoconf 、
开
oss.linuxpk.com 源 2009 年第 1 期 54
知识学堂
Automake 和 Libtool 等工具来完成这一工作,这让 Makefile 有更多的功能,编译更加完备,检测更
加全面,而且还多出了安装、打包发布等更多新功能。
透视 GNOME 项目
李洋
Linux/自由软件项目的编写及维护方式,决定其
发展离不开网络社区成员的贡献。从这个意义上而言,
一个个项目事实上就像一个个开放的大家庭。它们随时
向朋友敞开着大门,吸引着越来越多的参与者。社区的
成员们都在为社区的发展而努力,为项目的不断成长而
欣喜。那么,一个 Linux 项目是怎样从萌芽走向健壮的
呢?它的社区是如何组织及壮大的呢?让我们从最熟悉
的 GNOME 项目说开去。
一、什么是 GNOME 项目
GNOME 是 Linux 及各种主流 Unix 的 GUI 桌面系
统。目前,在 GNOME 上面已经发展了许多自由应用软件,
如文字处理软件 Go、电子表格软件 Gnumeric、日历程序 GNOMEcal、可与 PhotoShop 媲美的图形图
像处理软件 GIMP 等。与 KDE 一样,GNOME 项目为 Linux 在桌面领域的发展及应用起到了至关重要的作
用。
二、GNOME 桌面环境包括:
开
oss.linuxpk.com 源 2009 年第 1 期 55
知识学堂
三、组织形式及加入方式
开
oss.linuxpk.com 源 2009 年第 1 期 56
知识学堂
GNOME 是由一群志同道合者在网络上维护并协作开发的。参与到社区中的人会发现,所有人在网络
上通过 E-mail and IRC 保持着密切联系,也许跟你进行合作的人正是一位走在技术尖端的开发者。想
一想也会觉得这是一件有趣而令人兴奋的工作。这个社区和其它的自由软件社区一样,随时欢迎有志者
的 加 入 。 想 要 加 入 这 个 社 区 并 不 困 难 , 登 录 到 其 官 方 网 站 http://www.gnome.org , 在
http://developer.gnome.org/documents/joining-gnome/index.html 上有项目的详尽说明
和简介。在了解完项目的大致情况后,即可进行申请。
◆ 图形。GNOME 需要几种不同类别的图形,分别应用在网页、桌面、选单及特殊应用程序中。
开
oss.linuxpk.com 源 2009 年第 1 期 57
知识学堂
◆ 程序开发。主要是桌面系统中应用程序的开发。这项工作并不限定参与者一定要在既定的项目中
进行选择—有能力的人完全可以重起炉灶,另辟蹊径,从而体现个人的创造力。如果参与这方面的开发 ,
可以有机会与其他优秀的 GNOME 开发者一起工作、思考,并从他们身上学习更多的经验和知识。
◆ GNOME 平台开发。该平台是一系列的库和工具,应用程序便建立在其上。
申请者可在上述的工作类别中进行选择。每个类别都是一个独立的子项目,都有相关的负责人及维
护页面。参与者根据兴趣和特长选中类别后,可以进入相关的网页,查看进一步的信息。每个项目的参
与方式可能略微不同,但都需要与相关的项目负责人、联系人沟通,一般而言,很快就能收到答复。
四、起步及发展历程
目前,世界上有数以千计 的 Linux 及相关自由软件项目
有待发展。一个项目从产生到 成功承受着多方面条件的约束 ,
适当的成长时机和环境、有能 力的组织者和带头人、优秀的
参与者、商业基金资助等环节 缺一不可。GNOME 也不例外。
五、萌芽
1996 年,正值自由软件发 展的年代。一个墨西哥籍青年
Miguel de Icaza 与 他 的 一 个在 Red Hat 公司工作的朋友
Elliot Lee,时常在一起讨论有关自由软件的话题,并为促进自由软件的向前发展做着各种努力。在
开
oss.linuxpk.com 源 2009 年第 1 期 58
知识学堂
Windows 95 推出之后,这两个人都不约而同地感觉到,相对而言,自由软件体系缺乏很多技术元素,
使得其在很多领域落在后面。
六、诞生
Icaza 从 墨 西 哥 国 立 自 治 大 学 计 算 机 科 学 专 业 物 色 了 两 名 学 生 — — Arturo Espinosa 和
Federico Mena,与他一同从事开发工作,同时他们也在为墨西哥 Linux 用户协会(Linux Users
Group)工作。
开
oss.linuxpk.com 源 2009 年第 1 期 59
知识学堂
Lee 等多个关心该项目的朋友处进行修改。当项目的前期准备工作完成后, Icaza 和 Federico 便着手
在 GIMP、Guile 邮件列表、GNU 项目声明邮件列表中分发了项目声明,以此来吸引更多的人加入。
七、转折
◆ 受到 QPL 的影响
◆ GNOME 基金会的建立
一个 Linux 项目的发展,需要更多资金及专业人士的支持。同时,也亟待被业界承认。因此 ,
GNOME 基金会的建立不能不说是其一个重要的转折点。
开
oss.linuxpk.com 源 2009 年第 1 期 60
知识学堂
在 2000 年 8 月举行的 Linux World 展会上,GNOME 基金会宣布成立。Sun 公司在其 Solaris 系
统中采用了 GNOME 技术,并在其开放套件 StarOffice 中继承了 GNOME Bonobo 组件架构;HP 公司将
GNOME 应用到 HP-UX 操作系统的用户环境中;IBM 更是将其 SashXB 加速开发环境贡献给了 GNOME。
开
oss.linuxpk.com 源 2009 年第 1 期 61
经验技巧
Linux 一句话精彩问答
——网络相关篇(三)
陈绪
《Linux 一句话精彩问答》是 Linux 初学者很好的入门文档,想必很多朋友当时都是边看该文档,边敲打
键盘,玩着 Linux 过来的。
该文档由本刊顾问陈绪主编,迄今已经收录近千个精彩问答。从本期开始将在桌面应用栏目进行连载,
希望能帮助到更多刚接触到 Linux 的朋友们。
开
oss.linuxpk.com 2009 年第 1 期 62
源
经验技巧
2044 在 ethX 设备上,使 LINUX 支持网络广播功能(默认不支持)
ip route add 255.255.255.255 dev ethX
2045 路由设置手册
查看路由信息:
netstat -rn
route -n
手工增加一条路由:
手工删除一条路由:
好了,下面到了重要的了,让系统启动的时候自动启用路由设置。
在 redhat 中添加一条路由,修改文件/etc/sysconfig/static-routes
any net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
在 debian 中添加一条路由,
方法一:修改/etc/network/interfaces
代码:
auto eth0
iface eth0 inet static
address 172.16.3.222
netmask 255.255.0.0
network 172.16.0.0
broadcast 172.16.255.255
gateway 172.16.2.1
up route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
down route del -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
代码:
#!/bin/bash
开
oss.linuxpk.com 2009 年第 1 期 63
源
经验技巧
route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
嘿嘿,你也可以猜到/etc/network/目录下的其他目录的作用了吧。
1、从 A 复制 B(推过去)
unix charset=cp936
重启服务
然后启动网卡:/sbin/ifconfig eth0 up
开
oss.linuxpk.com 2009 年第 1 期 64
源
经验技巧
Jun 18 12:50:57 red-hat kernel: ip_conntrack: table full, dropping packet.
Jun 18 12:57:38 red-hat kernel: ip_conntrack: table full, dropping packet.
例如:增加到 81920,可以用以下命令:
那样设置是不会保存的,要重启后保存,可以在/etc/sysctl.conf 中加:
net.ipv4.ip_conntract_max =81920
按照此方法改变后一切正常,要是再满了可以加大该值
azureus,http://azureus.sourceforge.net/
开
oss.linuxpk.com 2009 年第 1 期 65
源
经验技巧
2.在线更新
apt-get update
apt-get upgrade
开
oss.linuxpk.com 2009 年第 1 期 66
源
经验技巧
2057 如果我用 Squid 代理的代理服务器在 192.168.1.0 这个网段里,例如
它的 IP 是 192.168.1.1,我有一些客户端在 192.168.2.0 这个网段内,怎样
设置才能通过这个代理服务器出去?
如果不用透明代理,直接在浏览器的代理选项里设置就可以了。否则首先是在代理服务器的网卡上
再挂一个 IP 为 192.168.2.1,添加相应的路由,再修改 Squid 的 squid.conf 文件里的监听地址和
端口等,最后在 192.168.2.0 网段的客户端设置其网关为 192.168.2.1,再直接在浏览器的代理选
项里设置一下就可以了
建立一个文件 ftp_cmd,内容如下:
cd admin
get amin.txt
bye
2060 如何不显示其它用户的消息?
用户可以使用 mesg n 来禁止别人给自己发送信息,其实就是禁止别人往自己的终端上面的写的权
限。当别人试图再使用 write 给自己发送信息时,发送者将会看见提示如下:
开
oss.linuxpk.com 2009 年第 1 期 67
源
经验技巧
root@jackie-laptop:/home/jackie# fdisk -l
Disk /dev/sda: 40.0 GB, 40007761920 bytes
240 heads, 63 sectors/track, 5168 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
一、备份
备份大体分为在其他 linux 操作系统(包括 live cd 和 rescue 模式)上备份和在本 linux 操
开
oss.linuxpk.com 2009 年第 1 期 68
源
经验技巧
作系统上备份两种不同的方式。以下来进行一一介绍。
参数解释:
c - 新建一个备份文档
p - 保存许可,并应用到所有文件
f - 要打包备份生成的文件名,/home/jackie/ubuntu.tar.gz 是本例子中备份文件名。
--exclude= - 剔除目录
最後一个参数是我们想要打包备份的目录。
注意问题:
二、还原
开
oss.linuxpk.com 2009 年第 1 期 69
源
经验技巧
当然系统 A 的备份要在系统 B 上进行还原啦。本例是在 fc7 下还原 ubuntu7.04 的备份。
先挂载备份文件将被释放到的分区(之前最好格式化一下,以确保没有其他数据),本例是原来
ubuntu 所在的分区,当然完全可以是笔记本上的其他分区。
#mount /dev/sda5 /media/ubuntu
之后将备份解压到已挂载的分区。
#tar -xvpzf /home/jackie/ubuntu.tar.gz -C /media/ubuntu
参数解释:
x - 告诉 tar 程序解压缩备份文件
注意问题:
1.如果采用自身备份,剔除/proc,/lost+found,/sys,/mnt,/media 目录的方式打包,还原
后需要手动建立这些目录。
这些目录的相关权限:
dr-xr-xr-x 127 root root 0 2008-12-12 20:04 proc
drwxr-xr-x 2 root root 4096 2007-04-12 17:11 mnt
drwxr-xr-x 10 root root 4096 2008-12-12 12:04 media
drwxr-xr-x 2 root root 16384 2008-06-18 02:36 lost+found
drwxr-xr-x 11 root root 0 2008-12-12 20:04 sys
3.当自己在 fc7 下还原 ubuntu7.04 之后,列出了 ubuntu 下/dev 的设备文件,在 fc7 下竟然
发现 ubuntu 的/dev 下的设备文件是不完整的,像 sda1,hda1 等等这样的设备文件都不存在,原来这
部分文件在被打包时根本没有打包上,备份的包中根本没有这些文件。赶紧找一下原因,仔细一想,原
来内核使用的 udev 或者 devfs 会在开机时自动建立/dev 下的设备特殊文件。的确是这样的,当我们重
新开机进入 ubuntu 之后,会发现这些文件已经建立好了。
三、后续工作
一、特别注意:
开
oss.linuxpk.com 2009 年第 1 期 70
源
经验技巧
含/boot 分区的内容)。将备份恢复到原来的分区后可以正常使用。如将备份恢复到其他分区,需要相
应的调整 grub。
GRUB 引导分为 stage1 和 stage2 两个部分。如果安装 GRUB 于 MBR 当中,则 stage1 直接写入了
MBR,这样机器一启动就将控制权交给了 GRUB 的代码。如果 GRUB 安装在 BR 当中,则需要有另外一个
OS loader 读入 BR 当中的 stage1 后才能把控制权交给 GRUB。接下来的步骤是 stage1 找到 stage2
并将控制权交给 stage2。这里有两种方式,一种是直接方式,stage1 根据记载的 stage2 所在硬盘的
位置直接将 stage2 找到;另一种是间接方式,这需要 stage1_5 也就是通常说的 stage1.5,如果使
用 stage1.5,则该文件实际是嵌入到 BR/MBR 之后的若干扇区内的,通过 stage1.5 对文件系统的分
析,通过路径方式找到 stage2。
2、输入 grub
3、输入 root(hdx,y)
4、输入 setup(hdx)
6、出现成功修复的提示后,quit 退出,重启。
开
oss.linuxpk.com 2009 年第 1 期 71
源
经验技巧
二、特别注意:
重 装 grub 后 可 能 系 统 还 是 不 能 正 常 启 动 , 此 时 需 要 相 应 的 更 改 grub 启 动 项
或/boot/grub/memu.lst 文件,系统挂载密切相关的/etc/fstab 文件最好也相应的改一下。
结果是如下的形式:
lrwxrwxrwx 1 root root 10 2008-12-11 06:32 790879f3-abbd-4048-836a-
eb61237a6ea6 -> ../../sda5
label 磁盘分区卷标
开
oss.linuxpk.com 2009 年第 1 期 72
源
经验技巧
通常在 fstab 里面我们会发现 linux 系统在安装过程中选择挂载的分区用的都是 LABEL=xxxx 的
方式,而我们自己手动添加的则是采用/dev/sd*的方式,比如笔者的 fedora core7 中 fstab 如下:
LABEL=/ / ext3 defaults 1
1
LABEL=HOME /home vfat defaults 0
0
LABEL=SWAP-sda7 swap swap defaults 0 0
用 label 方式来挂载的话,如果磁盘分区发生变动使得原来的/dev/sda8(我的/home)变成了/
dev/sda9,那么使用 label 方式来挂载的话对系统不会有任何影响。但是这样做的缺点也很明显:
label 很容易通过一些软件来修改,这样的话反而会造成不稳定因素,不如用 /dev/sd*的方式来得好。
但更改分区卷标后我们必须卸下此设备,会在重启电脑后发现相应分区卷标已经改变。
三 、还原后的注意小结
还原后,由于分区原因而出现系统问题的解决
开
oss.linuxpk.com 2009 年第 1 期 73
源
经验技巧
总 之 是 一 些 因 为 LABEL , UUID , 分 区 改 动 而 引 起 的 /,/boot,/home 等 mounting 不 上 ,
fsck.ext3:unable to resolve 的问题。
最后总结
首先进行备份,此过程只需遵循以上注意即可。
有必要进行还原操作时,还原备份到分区。
Firefox 启动自动处于脱机工作模式的解决方法
GhosTM55
笔者的同学使用的是 ubuntu 发行版本,最近遇到了一个较为奇怪的问题,症状如下:每次打开
firefox,会自动进入 work
图1
开
oss.linuxpk.com 2009 年第 1 期 74
源
经验技巧
换,如果用户没有使用 Network-Manager 来进行网络连接(比如说直接通过 pppoe 来连接 adsl),那
么即使当前的确是处于联网状态,由于 Network-Manager 并没有进行网络连接,所以 Firefox 开启
后便启动为脱机模式工作了。
send_interface="org.freedesktop.NetworkManager"/>替换为<deny
send_interface="org.freedesktop.NetworkManager"/>即可。
心急的读者不仿快去试试吧。
Shell 的五个小应用
张凯
Shell 是 Linux 基础中的基础。用户也许知道类似“ls”、“cp”等这些 Shell 命令的用法,但是
不知尝试过没有 Shell 其它更为有趣、有用的用法呢?现在给大家展示几个。
巧用 watch 命令
在 Linux 中, Shell 命令“watch”的作用是以全屏方式重复地执行指定的命令。用户可以通过它
了解命令的运行情况。例如用户如果想实时观察内存变化,那么可以输入如下命令:
#watch free
这样就可以动态地观察内存中各个指标在某段时间内的变化情况了。
如果用户要观察虚拟内存的变化, 而不想耽误当前终端的操作,那么可以通过打开另外一个终端达
到这个目的。命令如下:
这样就会弹出一个终端串口显示有关虚拟内存的情况。
开
oss.linuxpk.com 2009 年第 1 期 75
源
经验技巧
删除文中空行
在 Linux 下,用户如果想删除文件中的空行,一般使用“grep”,这里给出另外的几种方式:
1.使用“cat”命令,示例如下:
2.使用“sed”命令,示例如下:
3.使用“awk”工具,示例如下:
捕获终端屏幕
“script”是一个 Shell 内建命令。它的作用是为终端会话制作一个副本,把用户的输入 /输出信
息以文件的形式保存下来。下面以笔者的应用做个例子:
#script
Script started, file is outputfile //输出文件是 outputfile
#ls -l /
……
#exit //用 exit 结束捕获
Script done, file is outputfile //输出的结果放在 outputfile 中
#cat outputfile
……
开启键盘数字灯
很多 Linux 用户特别希望在系统启动的时候能自动将小键盘上的数字灯打开。虽然是个小的动作,
但是方便了不少。而且对于原来使用 Windows 的用户来说,感觉 Linux 在细节上也到位。下面就是一
段设置小键盘数字灯的脚本:
INITTY=/dev/tty[1-8]
for tty in $INITTY
do
setleds -D +num < $tty
开
oss.linuxpk.com 2009 年第 1 期 76
源
经验技巧
done
把它放在/etc/rc.d/rc.local 文件中即可。在字符模式下,可以输入下面的命令完成:
#setleds -D +num/+caps/+scroll
用户输入检测
有时需要对用户的输入作一些必要的检测,如限制输入的长度和类型等。下面举例要求用户必须输
入六个数字,如果输入有非数字字符,或者长度不等于六个,就提示错误信息。脚本源码如下:
#!/bin/csh
while true
do
echo -n “请输入六个数字:”
read num
echo “输入正确!”
exit 0
fi
done
小结
给 Iptables 定时
付建民
作 为 网 络 管 理 员 , 需 要 经 常 定 时 对 防 火 墙 的 规 则 进 行 修 改 , 提 高 安 全 系 数 。 在 Linux 中 有
开
oss.linuxpk.com 2009 年第 1 期 77
源
经验技巧
Iptables,Iptables 中有一个重要参数 time。利用这个参数,用户可以完成防火墙中需要定时的各
种规则的配置。虽然有时用户也可以利用 cron 来完成相关的功能,但 time 参数的利用会带来更大的便
利。
装载模块
首先在线对内核进行升级,命令如下:
/usr/src/linux-2.4 是本机系统内核文件所在目录,上面的命令运行后会出现一个模块选择界
面。界面有两个区域,一个区域中写出了相关的模块名、功能和语法示例;另一个区域给出各种选项,
例如 Y/ N/ R/.........../ Q/ ?/_ ,其中 N 选项表示选择下一个模块,Y 表示确定,Q 表示退出。
首先确定当前的模块是否是用户需要的,不需要的就按“N”键后回车,继续显示下一模块的相关信
息。time 模块是最后一个,当出现了 time 模块后,将里边的相关语法示例抄录下来,以备应用。随后
按“Y”键表示安装这一模块,最后按“Q”退出。
编译内核
进入内核文件所在目录,输入下面的命令开始编译内核:
#make mrproper
#make dep
开
oss.linuxpk.com 2009 年第 1 期 78
源
经验技巧
#make bzImage
#make install
接下来输入下面的命令装入模块文件:
#make modules
#make modules_install
#make KERNLE_DIR=内核文件所在目录
#make install-devel
重启后输入下面的命令进行检验:
#iptables -L
开
oss.linuxpk.com 2009 年第 1 期 79
源
经验技巧
Professional,内核版本是 2.4.21-166,采用 0.3 版的 NdisWrapper(该软件目前的版本是 0.4
版,需要 2.6 或 2.4.23 以上的内核支持)。该软件虽然提供了非常详尽的文档,但因为考虑到安装过
程中存在的一些问题,所以在这里给出完整的安装说明。下述命令均以 root 身份执行。
1.到 http://prdownloads.sourceforge.net/ndiswrapper/ndiswrapper-
0.3.tar.gz?download 下载 ndiswrapper-0.3.tar.gz 文件。
如果不加入上述语句,在执行“depmod -a”命令时,会出现以下错误:
depmod: *** Unresolved symbols in /lib/modules/2.4.21-166-
default/misc/ndiswrapper.o
4.使用“make”命令编译 ndiswrapper。
8.使用“insmod driver/ndiswrapper.o”命令调用内核模块。
开
oss.linuxpk.com 2009 年第 1 期 80
源
经验技巧
# utils/loaddriver <vendor> <device> <sysfile> <inffile>
10.设置无线网络,具体步骤如下:
(1)用“iwconfig”命令来显示无线网卡(eth0、eth1 或 eth2)的信息。在以下的步骤中,用
ethX 表示无线网卡的名称。
(2)设置无线网卡的操作模式为 Managed,命令如下:
(5)创建/etc/sysconfig/network/ifcfg-ethX 文件,使得机器每次启动时,无线网卡都会
自动获得 IP 地址。该文件内容如下:
BOOTPROTO=‘dhcp’
MTU=‘’
REMOTE_IPADDR=‘’
STARTMODE=‘onboot’
UNIQUE=‘’
11.通过下面的命令启动无线网卡:
#ifconfig ethX up
12.最后将上述的配置自动化,使得开机自动启动无线网卡。具体分为以下几个步骤:
(2)使用“depmod -a”命令更新系统的模块信息。
开
oss.linuxpk.com 2009 年第 1 期 81
源
经验技巧
# cp utils/loaddriver /usr/local/bin
(5)使用下面的命令为无线网卡创建别名:
#alias ethX=ndiswrapper
在 Linux 上快速搭建计数器
李智强
对外发布网站会有人不断访问,那么怎么来统计访问网站的人数呢?目前有很多方法,例如流量统
计和 IP 统计等。这里介绍的是计数器(Counter)。通过计数器,网站人员能及时掌握浏览网站的人数。
现在互联网上的很多服务器采用的都是 Linux 操作系统,那么如何在 Linux 上快速搭建属于自己的计数
器呢?
安装与配置
1.首先下载 wwwcount-2.6-6.i386.rpm。网址是
http://speakeasy.rpmfind.net/linux/RPM/PLD/dists/ra/PLD/i386/PLD/RPMS/wwwcou
nt-2.6-6.i386.html。输入下面的命令:
#rpm -Uvh wwwcount-2.6-6.i386.rpm
开
oss.linuxpk.com 2009 年第 1 期 82
源
经验技巧
wwcount2.6.tar.gz。下载完后,就开始安装、设置与使用了。
4.接着开始对刚解压的文件进行设置,可以参见下面的过程:
# ./Count-config //开始设定
……
……
……
++++++++++++++++++++++++++++++
5.接下来输入“./configure”命令,开始一些测试主机情况。
开
oss.linuxpk.com 2009 年第 1 期 83
源
经验技巧
6.如 果想 要让 计数 器每 点击 一次 就增 加一 个数 的话 ,在 Makefile 文 件中 找到 “ Makefile
#COUNT_RELOAD= -DCOUNT_RELOAD=1 ”这行(大约在 33 行),将注解“#”符号取消,保存后退出。
7.输入命令“make clean”,然后开始编译可执行文件。
8.接着使用“./Gen-conf”命令设置主机信息,过程如下:
……
Enter your fully qualified domain name [no default]: game1.com.cn //需要输
入主机名与域名
◆ Do you want to ignore access hits from your own host [y|n]? y //用户自
己访问,如果想计入其内,就按 y。
……
9.开始进行安装,过程如下:
# ./Count-install
Your configuration:
……
◆ Do you know the user and group id of httpd' child process [y|n]:? y
开
oss.linuxpk.com 2009 年第 1 期 84
源
经验技巧
户不清楚,可以在 httpd.conf 文件中查找相关的设置
到此,安装就完成了。
应用
要使用上面搭建的计数器也很简单,只要在网页文件中的任何地方加入下面代码,就可以显示出计
数器图形了:
<img SRC=“http://www.game1.com.cn/cgi-bin/Count.cgi?
dd=A&ft=0&sh=T&pad=Y&df=test.dat”>
步骤 1:下载 UNetbootin
开
oss.linuxpk.com 2009 年第 1 期 85
源
经验技巧
开
oss.linuxpk.com 2009 年第 1 期 86
源
经验技巧
双击 UNetbootin 可执行文件,输入你的密码,它就启动了。你现在所需要做的就是选择你喜爱的
Linux 发行版本及其版本号,并开始安装。当然你也可以下载一个 Linux 发行版的 ISO 镜像,这样在
UNetbootin 中会有特别快的制作速度。
oss.linuxpk.com 开开
源 2009 年第 1 期 87
源
经验技巧
运行状态,是系统管理员需要面对的问题。实现对 Linux 服务器远程管理和监控的方法很多,这里主要
介绍使用 SrvReport 这款 Linux 专用远程监控软件,对 Linux 服务器进行远程监控管理。
SrvReport 配置方法
参考配置
开
oss.linuxpk.com 2009 年第 1 期 88
源
经验技巧
# path where the images are located(图片文件所保存的路径)
FileReportImgPath = ../../images/
# If you want an up-to-date file, then you should set this to 1(如果你需要
最新的文件报告,可以将 FileReportCreateAlways 和 ReportWithTime 的值设置为 1)
FileReportCreateAlways = 1
ReportWithTime = 1
# This defines the order of the report(定义 srvreport 所要监控的 Linux 服务器
所提供的服务)
order = Traffic CPUUsage WebServer FTPServer FTPLogs Postfix Warnings
LastLogins ChkRootKit
除了修改电子邮件地址和以加粗显示的几项参数之外,配置清单中大多数默认参数都是不需要修改
的。当然,假设用户的 Linux 服务器中没有提供 FTP 服务,那么删除配置清单的[FTPServer]这个模
块即可。
开
oss.linuxpk.com 2009 年第 1 期 89
源
企业应用
从硬盘启动 LRP
一般而言,LRP 软件仅用一张软盘便可容纳。其最基本的工作方式是由软盘启动,在内存中建立映
像文件系统,并开始工作。系统投入运行后,不再需要该软盘。但实践发现,由于软盘在可靠性、容量
等方面的先天不足,在应用中难免会有软盘损坏或功能受限的情形发生。因此,完全可以用硬盘启动取
代软盘启动。
为了能够从硬盘启动,我们需要一个能够支持硬盘的系统内核 linux+IDE.bin,将其从网上下载
后改名为 Linux。此外,还需要一个 Linux 引导加载程序 syslinux.com,可以从上述网站下载,也
可以从 http://www.kernel.org/pub/linux/utils/boot/syslinux 下载最新的版本。另准备
一张 MSDOS 启动盘,将新内核 Linux 和 syslinux.com 复制上去。
配置网络接口
开
oss.linuxpk.com 2009 年第 1 期 90
源
企业应用
首先考虑网卡驱动程序。LRP 系统已经包含几个常用的网卡驱动程序模块,如 3c509、3c59x 和
eepro100 等,但没有包含 D-Link 530TX(Rev A1/B1/B2)网卡驱动程序。可以从 LRP 网站下载一
个与内核版本对应的 530TX 网卡驱动程序,名为 via-rhine.o,复制到 DOS 软盘上。注意,DOS 文件
名为 8+3 制,长文件名 via-rhine.o 最好先改短,如改成 via.o。在 LRP 机器上,插入软盘,执行如
下命令:
#mount -t msdos /dev/fd0 /mnt
#cp /mnt/via.o /lib/modules/via-rhine.o
#umount /dev/fd0
将网络驱动模块复制到内存映像文件系统的/lib/modules 目录中。注意,每次修改内存映像文件
系统都需要及时备份.lrp 文件,保存所做的变化。键入 lrcfg 命令,选择配置选单的“Back-up
ramdisk”条目,再选“modules”,备份 modules.lrp 即可。接着配置驱动程序,选择配置选单的第
3 项“Package settings”,再选“modules”,编辑/etc/modules 文件(也可以在命令行键入命
令 edit /etc/modules),加入以下两行:
pci-scan
via-rhine
保存退出,并注意备份 etc.lrp。
图 1 校园网拓扑结构简图
开
oss.linuxpk.com 2009 年第 1 期 91
源
企业应用
房 通 过 路 由 器 / 网 关 接 入 校 园 网 。 假 定 机 房 1 的 网 络 地 址 为 192.168.1.0/24 , 网 关 为
192.168.1.254;网关 1 出口端地址为 192.168.0.253,默认网关为 192.168.0.254。机房 2 类似。
注意,路由器两边都是静态 IP 地址。在默认设置中,LRP 设定自己是外网的 DHCP 客户,同时又是内网
的 DHCP 服务器。因此,我们需要做一些改变,取消 DHCP 服务。执行如下命令:
#edit /etc/network..conf
#shutdown -r now
重新启动机器。
IF_AUTO="eth0 eth1"
eth0_IPADDR=192.168.0.253
eth0_MASKLEN=24
eth0_BROADCAST=192.168.0.255
eth0_DEFAULT_GW=192.168.0.254
eth1_IPADDR=192.168.1.254
eth1_MASKLEN=24
eth1_BROADCAST=192.168.1.255
保存并备份 etc.lrp。执行下面命令:
#/etc/init.d/network reload
LRP 的工作模式
LRP 的 一 般 工 作 模 式 有 三 种 : 直 接 路 由 方 式 、 过 滤 式 路 由 方 式 和 防 火 墙 方 式 。 只 要
在/etc/network.conf 文件中设置:
IPFWDING_KERNEL=YES
IPFILTER_SWITCH=none
就 构 成 了 直 接 路 由 方 式 ( 网 关 ) 。 前 一 项 相 当 于 做 echo 1 >
开
oss.linuxpk.com 2009 年第 1 期 92
源
企业应用
/proc/sys/net/ipv4/ip_forward,允许 IP 包转发。后一项则意味着不做包过滤。这种方式比较
简单,但也带来了问题,机房中的所有 IP 包将不受控制地涌向校园网络,给网络带来额外的负担。解决
的方法就是加上 IP 包过滤,即过滤式路由方式。
同样在/etc/network.conf 文件中设置:
IPFWDING_KERNEL=FILTER_ON
IPFILTER_SWITCH=router
eth0_PROXY_ARP=YES
eth1_PROXY_ARP=YES
相当于
就能实现这样的连接。由于这种连接是在网络层(链路层的上一层)实现的一种伪网桥,因此可以
在其上控制流经的数据包。
LRP 的第三种工作模式就是防火墙。设置防火墙方式如下:
IPFWDING_KERNEL=FILTER_ON
IPFILTER_SWITCH=firewall
EXTERN_IF="eth0"
EXTERN_IP= 221.xxx.xxx.1
INTERN_IF="eth1"
INTERN_NET=192.168.0.0/24
INTERN_IP=192.168.0.254
MASQ_SWITCH=YES
开
oss.linuxpk.com 2009 年第 1 期 93
源
企业应用
外部 IP 地址由 ISP 提供,内外接口的 IP 地址要与 ethX_IPADDR 中的地址一致。上面最后一项是
启用 IP 伪装,即 NAT(网络地址转换)。LRP 已经安排好了一组基本的防火墙规则。当然,也可以制定
自己的防火墙规则。
防火墙与 DMZ
远程管理 LRP
开
oss.linuxpk.com 2009 年第 1 期 94
源
企业应用
#lrpkg -i sshd
#lrpkg -i sshkey
#cd /
#makekey
#edit /mnt/syslinux.cfg
#umount /dev/hda1
图 2 PuTTY 配置界面
开
oss.linuxpk.com 2009 年第 1 期 95
源
企业应用
最后,改动 LRP 机器的 Award CMOS 设置。将“标准 CMOS 设置”中的“ Halt on”选项设为
“All,But Keyboard”(忽略键盘,没有键盘照样启动)。将“电源管理设置”中的“ HDD Power
Down”设为 15min(定时关闭硬盘电源,硬盘不再使用)。拔掉键盘和显示器, LRP 机器就成为名副其
实的 LRP Box,可以摆上机架了。
LRP 还有许多高级应用,如均衡负载、公平队列、带宽控制、策略路由等。这些工作都是建立在
iproute2 和 ipchains 的基础之上。关于这方面的资料,可参见《 Linux Advanced Routing &
Traffic Control》(Linux 的高级路由和流量控制 HOWTO),网址为 http://lartc.org。
我们总会面临保护自己的硬件设备投资这样的问题。LRP 让我们有机会从一个特别的角度来重新审
视软件对于硬件及应用的作用和关系,这就是它的意义所在。
开
oss.linuxpk.com 2009 年第 1 期 96
源
企业应用
在 Linux 下实现动态 DNS 不仅需要 Bind 8 以上的 DNS 软件,还要有 DHCP Server v3.0 以上版
本,因为只有 3.0 以上的版本才完全实现了对 DDNS 的支持。因此,本文的实现环境采用 Slackware
Linux 9.0 作 为 DDNS 服 务 器 , 其 上 同 时 运 行 DNS 和 DHCP 服 务 , 其 中 DNS Server 采 用 Bind
9.2.2,DHCP Server 采用 DHCP Server v3.0pl2。
创建密钥
该命令生成的一对密钥文件如下:
-rw------- 1 root root 48 Jan 14 18:26 Kmyddns.+157+37662.key
-rw------- 1 root root 81 Jan 14 18:26 Kmyddns.+157+37662.private
可以查看刚生成的密钥文件内容:
root@slack9:/etc# cat Kmyddns.+157+37662.key
myddns.INKEY02157 4gEF1Mkmn5hrlwYUeGJV3g==
root@slack9:/etc# cat Kmyddns.+157+37662.private
Private-key-format: v1.2
Algorithm: 157 (HMAC_MD5)
开
oss.linuxpk.com 2009 年第 1 期 97
源
企业应用
Key: 4gEF1Mkmn5hrlwYUeGJV3g==
修改 DNS 的主配置文件
//指定区域数据库文件的存放目录
};
zone "." IN {
type hint;
file "caching-example/named.ca";
};
zone "localhost" IN {
type master;
file "caching-example/localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "caching-example/named.local";
allow-update { none; };
};
key myddns {
algorithm HMAC-MD5.SIG-ALG.REG.INT;
//指明生成密钥的算法
secret 4gEF1Mkmn5hrlwYUeGJV3g==;
//指明密钥
};
zone "tcbuu.cn" IN {
type master;
file "tcbuu.cn";
开
oss.linuxpk.com 2009 年第 1 期 98
源
企业应用
//正向区域文件名 tcbuu.cn,后文会用到该文件
allow-update { key myddns; };
修改 DHCP 的配置文件
给出修改后的/etc/dhcpd.conf 的一个实例:
# dhcpd.conf
# Sample configuration file for ISC dhcpd
# option definitions common to all supported networks...
option domain-name "tcbuu.cn";
option domain-name-servers 10.22.1.123;
default-lease-time 600;
max-lease-time 800;
ddns-update-style interim;
开
oss.linuxpk.com 2009 年第 1 期 99
源
企业应用
option routers 10.22.1.100;
}
说明:
1.ddns-update-style interim
测试 DDNS
开
oss.linuxpk.com 2009 年第 1 期 100
源
企业应用
文件。这两个文件是当前正在工作的区域文件的运行时文件,所有动态更新的纪录都会最先反映到这两
个文件中,然后经过大约 15 分钟左右才将更新的内容反映到文本形式的区域文件中,即以.jnl 结尾的
区域文件中是最新的内容。
在本文所举实例中,/var/named/目录下的区域文件为:
tcbuu.cn 正向区域文件。
tcbuu.cn.arpa 反向区域文件。
tcbuu.cn.arpa.jnl 临时工作的二进制正向区域文件(新增)。
tcbuu.cn.jnl 临时工作的二进制反向区域文件(新增)。
Address: 10.22.1.69//测试结果,表明该资源纪录存在
> ls tcbuu.cn//显示区域数据库中的资源纪录
[ftp.tcbuu.cn]
开
oss.linuxpk.com 2009 年第 1 期 101
源
企业应用
D2501 A 10.22.1.60
dellpc A 10.22.1.100
slack9 A 10.22.1.123
动态更新后的区域数据库文件
通 过 查 看 正 向 区 域 数 据 库 文 件 /var/named/tcbuu.cn 和 反 向 区 域 数 据 库 文
件/var/named/tcbuu.cn,可以了解区域数据库文件到底更新了哪些内容。
#cat /var/named/tcbuu.cn
$ORIGIN .
$TTL 36000 ; 10 hours
tcbuu.cn IN SOA slack9.tcbuu.cn. root.slack9.tcbuu.cn. (
2004011402 ; serial
3600 ; refresh (1 hour)
1800 ; retry (30 minutes)
36000 ; expire (10 hours)
36000 ; minimum (10 hours)
)
NS slack9.tcbuu.cn.
$ORIGIN tcbuu.cn.
dellpc A 10.22.1.100
ftp CNAME slack9
$TTL 300 ; 5 minutes
kill-virus A 10.22.1.61
开
oss.linuxpk.com 2009 年第 1 期 102
源
企业应用
TXT "3156e87eb0180675cfb5e3e8ad026e78b3"
$TTL 36000 ; 10 hours
slack9 A 10.22.1.123
www CNAME slack9
以上区域文件的书写格式与更新前相比变化较大,说明该文件已被更新过了。这里还要说明的是,
在动态更新的客户端 kill-virus 的 A 纪录下多了一条同名的 TXT 类型的纪录。TXT 类型纪录是 BIND-
DNS 和 DHCP 专门用来实现 DDNS 的辅助性资源纪录,它的值是哈希标示符字符串,该字符串的值还可以
在/var/state/dhcp/dhcpd.leases 文件中找到。
实现 Linux 网络防火墙
敬茂华
防火墙作为一种网络或系统之间强制实行访问控制的机制,是确保网络安全的重要手段。针对不同
的需求和应用环境,可以量身定制出不同的防火墙系统。防火墙大到可由若干路由器和堡垒主机构成,
也可小到仅仅是网络操作系统上一个防火墙软件包所提供的包过滤功能。
开
oss.linuxpk.com 2009 年第 1 期 103
源
企业应用
防火墙系统可分为包过滤型、应用级网关(也叫代理服务器型防火墙)和电路级网关三种基本类型。
Linux 提供的防火墙软件包内置于 Linux 内核中,是一种基于包过滤型的防火墙实现技术。其中心思想
是根据网络层 IP 包头中的源地址、目的地址及包类型等信息来控制包的流向。更彻底的过滤则是检查包
中的源端口、目的端口以及连接状态等信息。
IPFW 防火墙
(1)一切未被允许的都被禁止;
(2)一切未被禁止的都被允许。
Ipchains(IP 链)和 IP 伪装
开
oss.linuxpk.com 2009 年第 1 期 104
源
企业应用
义链是用户自己定义的规则。
ACCEPT 允许通过。
DENY 直接丢弃。
MASQ 通知核心将该包伪装,该值只对转发链和用户自定义链起作用。
REDIRECT 通知核心将包改送到一个本地端口,该值只对输入链和用户自定义链起作用,并且只有
UDP 和 TCP 协议才可以使用该值。
RETURE 通知内核将该包跳过所有的规则,直接到达所有链的链尾。
通过适当的设置,IP 伪装可以在某个网段、某台主机、某个接口、某个协议甚至是某个协议的某些
端口上实现,非常灵活。IP 伪装可以将内部网络的细节对外部网络屏蔽掉,因此,IP 伪装提供了很好的
安全性。
开
oss.linuxpk.com 2009 年第 1 期 105
源
企业应用
如果是 rpm 包,使用如下命令安装:
#rpm -ivh *.rpm
如果是.tar.gz 包,则先需要将压缩包解压:
#tar xvfz *.tar.gz
然后再到解压后所在目录执行如下命令完成安装:
#./configure
#make
#make install
◆ 手工修改/proc/sys/net/ipv4/ipforward 文件,将其内容置为 1。
(1)首先允许所有的包都可通过,然后禁止有危险的包;
(2)首先禁止所有的包,然后再根据所需要的服务允许特定的包通过。
Iptables
Iptables 是一个管理内核包过滤的工具,可以加入、插入或删除核心包过滤表格中的规则。实际
上真正来执行这些过滤规则的是 Netfilter 。Netfilter 是 Linux 核心中一个通用架构,它提供一
系列的表(tables),每个表由若干链(chains)组成,而每条链中可以由一条或数条规则(rule)
组成。
开
oss.linuxpk.com 2009 年第 1 期 106
源
企业应用
系统缺省的表为 filter,该表包含了 INPUT 链(输入链)、FORWARD 链(转发链)和 OUTPUT 链
(输出链)。每一条链中可以定义一条或数条规则,每一条规则都以如下格式定义:条件/处理方式。
当一个数据包到达一个链时,系统就会从第一条规则开始检查,看是否符合该规则所定义的条件。
如果满足,系统将根据该条规则所定义的方法处理该数据包;如果不满足,则继续检查下一条规则。如
果该数据包不符合该链中任一条规则,系统则会根据该链预先定义的策略(policy)来处理该数据包。
开
oss.linuxpk.com 2009 年第 1 期 107
源
企业应用
上面最后两个项目可以不选,如果将其选中,则可以在 2.4 内核中使用 Ipchains 或 Ipfwadm。需
要注意的是,Iptables 和 Ipchains/Ipfwadm 是相对立的,在使用 Iptables 时就不能同时使用
Ipchains/Ipfwadm。选择完所需选项后,就可以执行编译操作了。编译成功后,这些模块文件都位于
目录/lib/modules/2.4.0/kernel/net/ipv4/netfilter 中。
开
oss.linuxpk.com 2009 年第 1 期 108
源
嵌入式
开源嵌入式数据库 Berkeley DB
肖文鹏
像 MySQL 这类基于 C/S 结构的关系型数据库系统虽然代表着目前数据库应用的主流,但却并不能满
足所有应用场合的需要。有时我们需要的可能只是一个简单的基于磁盘文件的数据库系统。这样不仅可
以避免安装庞大的数据库服务器,而且还可以简化数据库应用程序的设计。Berkeley DB 正是基于这样
的思想提出来的。
Berkeley DB 简介
Berkeley DB 是一个开放源代码的内嵌式数据库管理系统,能够为应用程序提供高性能的数据管理
服务。应用它程序员只需要调用一些简单的 API 就可以完成对数据的访问和管理。与常用的数据库管理
系统(如 MySQL 和 Oracle 等)有所不同,在 Berkeley DB 中并没有数据库服务器的概念。应用程序
不需要事先同数据库服务建立起网络连接,而是通过内嵌在程序中的 Berkeley DB 函数库来完成对数
据的保存、查询、修改和删除等操作。
Berkeley DB 作为一种嵌入式数据库系统在许多方面有着独特的优势。首先,由于其应用程序和数
据库管理系统运行在相同的进程空间当中,进行数据操作时可以避免繁琐的进程间通信,因此耗费在通
信上的开销自然也就降低到了极低程度。其次,Berkeley DB 使用简单的函数调用接口来完成所有的数
据库操作,而不是在数据库系统中经常用到的 SQL 语言。这样就避免了对结构化查询语言进行解析和处
理所需的开销。
基本概念
Berkeley DB 简化了数据库的操作模式,同时引入了一些新的基本概念,从而使得访问和管理数据
库变得相对简单起来。在使用 Berkeley DB 提供的函数库编写数据库应用程序之前,有必要先了解以
下这些基本概念。
开
oss.linuxpk.com 2009 年第 1 期 109
源
嵌入式
关键字和数据
void *data;
u_int32_t size;
u_int32_t ulen;
u_int32_t dlen;
u_int32_t doff;
u_int32_t flags;
} DBT;
对象句柄
在 Berkeley DB 函数库定义的大多数函数都遵循同样的调用原则:首先创建某个结构,然后再调
用该结构中的某些方法。从程序设计的角度来讲,这一点同面向对象的设计原则是非常类似的,即先创
建某个对象的一个实例,然后再调用该实例的某些方法。正因如此,Berkeley DB 引入了对象句柄的概
念来表示实例化后的结构,并且将结构中的成员函数称为该句柄的方法。
开
oss.linuxpk.com 2009 年第 1 期 110
源
嵌入式
*database, DBTYPE type, u_int32_t flags, int mode);
错误处理
对于任何一个函数库来说,如何对错误进行统一的处理都是需要考虑的问题。Berkeley DB 提供的
所有函数都遵循同样的错误处理原则,即函数成功执行后返回零,否则的话则返回非零值。
对于系统错误(如磁盘空间不足和访问权限不够等),返回的是一个标准的值;而对于非系统错误,
返回的则是一个特定的错误编码。例如,如果在数据库中没有与某个特定关键字所对应的数据,那么在
通过该关键字检索数据时就会出现错误。此时函数的返回值将是 DB_NOTFOUND,表示所请求的关键字并
没有在数据库中出现。所有标准的 errno 值都是大于零的,而由 Berkeley DB 定义的特殊错误编码则
都是小于零的。
应用统一的编程接口
使用 Berkeley DB 提供的函数来进行数据库的访问和管理并不复杂,在大多数场合下只需按照统
一的接口标准进行调用就可以完成最基本的操作。
打开数据库
将磁盘上保存的文件作为数据库打开是由 DB->open()函数来完成的,其原型如下所示:
int DB->open(DB *db, DB_TXN *txnid, const char *file, const char
*database, DBTYPE type, u_int32_t flags, int mode);
下面这段代码示范了如何创建 DB 对象句柄及如何打开数据库文件:
#include <sys/types.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <db.h>
#define DATABASE "demo.db"
开
oss.linuxpk.com 2009 年第 1 期 111
源
嵌入式
/* 以下程序代码的程序头同此*/
int main()
{ DB *dbp;
int ret;
if ((ret = db_create(&dbp, NULL, 0)) != 0) {
fprintf(stderr, "db_create: %s\n", db_strerror(ret));
exit (1);
}
if ((ret = dbp->open(dbp, NULL, DATABASE, NULL, DB_BTREE, DB_CREATE,
0664)) != 0) {
dbp->err(dbp, ret, "%s", DATABASE);
exit (1);
}
}
错误处理是在打开数据库时必须的例行检查,这可以通过调用 DB->err()函数来完成。其中参数
“ret”是在调用 Berkeley DB 函数后返回的错误代码,其余参数则用于显示结构化的错误信息。
添加数据
下面这段代码示范了如何向数据库中添加新的数据:
int main()
{ DB *dbp;
DBT key, data;
int ret;
if ((ret = db_create(&dbp, NULL, 0)) != 0) {
fprintf(stderr, "db_create: %s\n", db_strerror(ret));
exit (1);
}
开
oss.linuxpk.com 2009 年第 1 期 112
源
嵌入式
if ((ret = dbp->open(dbp,
NULL, DATABASE, NULL, DB_BTREE, DB_CREATE, 0664)) != 0) {
dbp->err(dbp, ret, "%s", DATABASE);
exit (1);
}
memset(&key, 0, sizeof(key));
memset(&data, 0, sizeof(data));
key.data = "sport";
key.size = sizeof("sport");
data.data = "football";
data.size = sizeof("football");
if ((ret = dbp->put(dbp, NULL, &key, &data, 0)) == 0)
printf("db: %s: key stored.\n", (char *)key.data);
else
dbp->err(dbp, ret, "DB->put");
}
在向数据库中添加数据时,如果给定的关键字已经存在,大多数应用会对于已经存在的数据采用覆
盖原则。也就是说,如果数据库中已经保存了一个“sport/basketball”对,再次调用 DB->put()函
数添加一个“sport/football”对,那么先前保存的那些数据将会被覆盖。但 Berkeley DB 允许在
调用 DB->put()函数时指定参数“DB_NOOVERWRITE”,声明不对数据库中已经存在的数据进行覆盖,
其代码如下:
if ((ret = dbp->put(dbp, NULL, &key, &data, DB_NOOVERWRITE)) == 0)
printf("db: %s: key stored.\n", (char *)key.data);
else
dbp->err(dbp, ret, "DB->put");
一旦给出“DB_NOOVERWRITE”标记,如果 DB->put()函数在执行过程中发现给出的关键字在数据
库 中 已 经 存 在 了 , 就 无 法 成 功 地 把 该 Key/Data 对 添 加 到 数 据 库 中 , 于 是 将 返 回 错 误 代 号
“DB_KEYEXIST”。
检索数据
开
oss.linuxpk.com 2009 年第 1 期 113
源
嵌入式
int DB->get(DB *db, DB_TXN *txnid, DBT *key, DBT *data, u_int32_t flags);
下面这段代码示范了如何从数据库中检索出所需的数据:
int main()
{ DB *dbp;
DBT key, data;
int ret;
if ((ret = db_create(&dbp, NULL, 0)) != 0) {
fprintf(stderr, "db_create: %s\n", db_strerror(ret));
exit (1);
}
if ((ret = dbp->open(dbp,
NULL, DATABASE, NULL, DB_BTREE, DB_CREATE, 0664)) != 0) {
dbp->err(dbp, ret, "%s", DATABASE);
exit (1);
}
memset(&key, 0, sizeof(key));
memset(&data, 0, sizeof(data));
key.data = "sport";
key.size = sizeof("sport");
if ((ret = dbp->get(dbp, NULL, &key, &data, 0)) == 0)
printf("db: %s: key retrieved: data was %s.\n",
(char *)key.data, (char *)data.data);
else
dbp->err(dbp, ret, "DB->get");
}
◆0 函数调用成功,指定的关键字被找到;
◆ DB_NOTFOUND 函数调用成功,但指定的关键字未被找到;
◆大于 0 函数调用失败,可能出现了系统错误。
开
oss.linuxpk.com 2009 年第 1 期 114
源
嵌入式
删除数据
下面这段代码示范了如何从数据库中删除数据:
int main()
{ DB *dbp;
DBT key;
int ret;
if ((ret = db_create(&dbp, NULL, 0)) != 0) {
fprintf(stderr, "db_create: %s\n", db_strerror(ret));
exit (1);
}
if ((ret = dbp->open(dbp,
NULL, DATABASE, NULL, DB_BTREE, DB_CREATE, 0664)) != 0) {
dbp->err(dbp, ret, "%s", DATABASE);
exit (1);
}
memset(&key, 0, sizeof(key));
key.data = "sport";
key.size = sizeof("sport");
if ((ret = dbp->del(dbp, NULL, &key, 0)) == 0)
printf("db: %s: key was deleted.\n", (char *)key.data);
else
dbp->err(dbp, ret, "DB->del");
}
删除数据只需给出相应的关键字,不用指明与之对应的数据。
关闭数据库
对于一次完整的数据库操作过程来说,关闭数据库是不可或缺的一个环节。这是因为 Berkeley DB
需要依赖于系统底层的缓冲机制,也就是说只有在数据库正常关闭的时候,修改后的数据才有可能全部
开
oss.linuxpk.com 2009 年第 1 期 115
源
嵌入式
写到磁盘上,同时它所占用的资源也才能真正被全部释放。关闭数据库的操作是通过调用 DB->close()
函数来完成的,其原型如下所示:
int DB->close(DB *db, u_int32_t flags);
下面这段代码示范了如何在需要的时候关闭数据库:
int main()
{ DB *dbp;
DBT key, data;
int ret, t_ret;
if ((ret = db_create(&dbp, NULL, 0)) != 0) {
fprintf(stderr, "db_create: %s\n", db_strerror(ret));
exit (1);
}
if ((ret = dbp->open(dbp,
NULL, DATABASE, NULL, DB_BTREE, DB_CREATE, 0664)) != 0) {
dbp->err(dbp, ret, "%s", DATABASE);
goto err;
}
memset(&key, 0, sizeof(key));
memset(&data, 0, sizeof(data));
key.data = "sport";
key.size = sizeof("sport");
if ((ret = dbp->get(dbp, NULL, &key, &data, 0)) == 0)
printf("db: %s: key retrieved: data was %s.\n",
(char *)key.data, (char *)data.data);
else
dbp->err(dbp, ret, "DB->get");
if ((t_ret = dbp->close(dbp, 0)) != 0 && ret == 0)
ret = t_ret;
exit(ret);
}
小结
Berkeley DB 这个嵌入式数据库系统使用非常简单。它没有数据库服务器的概念,也不需要复杂的
SQL 语句,所有对数据的操作和管理都可以通过函数调用来完成,非常适合于那些需要对数据进行简单
管理的应用场合。
开
oss.linuxpk.com 2009 年第 1 期 116
源
嵌入式
开发利器 DevRocket
晓芳
嵌入式系统是一种特定的计算机系统,它可以提供专用的功能。虽然针对嵌入式系统是否要使用一
种操作系统的传统争论仍在继续,但是操作系统为嵌入式系统提供了基本的服务层,能在很大程度上简
化嵌入式应用程序开发者的工作;并且,在嵌入式设备必须使用因特网协议进行通信的时候,如果不使
用操作系统或核心层是非常难于实现通信的。
不管怎样,Linux 以其无与伦比的优势早已成为嵌入式操作系统中的佼佼者。
◆ 新版本还进行了内核系统组件更新。
上述新功能使得设备制造商能够从新版本增强的开发环境在实时处理和网络技术方面的改进中获益。
一、主要功能
基于 Eclipse 2.1 的 DevRocket 可在 Linux、Windows 和 Solaris 平台上运行,它也可运行
在任何支持 Java 的平台上。它可以用于 Pro 版本支持的 30 个目标处理器体系结构及工具链的不同变化。
二、新点所在
据 MontaVista 公 司 介 绍 , DevRocket 集 成 和 简 化 了 汇 编 、 编 辑 、 调 试 及 修 改 控 制 , 而 且
MontaVista 工具具有与其它厂商的基于 Eclipse 技术工具的互操作性。运用 DevRocket 方便的工程
“向导”,开发者能够配置和建立易于部署的平台映射。对于熟悉 MontaVista 工具的使用者来说,
DevRocket 淘汰了原来的“目标配置系统”,提供了工程向导用于自动配置关键工程任务,例如:
开
oss.linuxpk.com 2009 年第 1 期 117
源
嵌入式
◆ 调整应用大小和 de-crufting libraries;
◆ 预连接(Prelinking)应用以增强执行性能;
◆ 跟踪和分析系统事件;
◆ 查找和补救内存漏洞。
Eclipse 技术得到诸多公司及嵌入式开发商的拥护。Timesys、QNX、Rational、Borland、
IBM 和其它一些公司发行了基于 Eclipse 技术的工具。MontaVista 公司的 CEO James Ready 曾经
在 eclipse.org 委员会工作了一年多。
四、其它功能
Pro 3.1 版本由 250 个软件包组成,包括基于宿主和目标的软件包。最新的 GNU 工具链基于 GDB
6.0 和 GCC 3.3。
开
oss.linuxpk.com 2009 年第 1 期 118
源
嵌入式
五、大量的目标支持
据 MontaVista 介绍,Pro 3.1 可以支持超过 30 个基于八个处理器体系结构的“平台”。 由于不
同处理器的特殊要求,Pro3.1 有 30 个不同的版本,Pro3.1 能支持 100 个插件板,其中 20 个是 3.1
版新增的。MontaVista Linux Professional Edition 3.1 建立在简单的集成资源代码的基础上,
广泛支持工业领域的诸多目标硬件。Pro 由在每一种支持的系统上进行过完整测试与设置的、二进制代
码的、复杂的嵌入式操作系统组成。完整的字源代码还包括交叉及本机的开发工具,使开发者可以方便
地进行定制。
六、开发与调试
在嵌入式 Linux 开发过程中,选择好的嵌入式 Linux 开发平台和调试工具可以极大地提高嵌入式
Linux 开 发 效 率 。 嵌 入 式 系 统 的 特 点 是 系 统 资 源 小 , 因 此 具 体 目 标 板 的 设 备 驱 动 程 序 ( Device
Driver)需要定制。调试工具是开发 Linux 内核很好的手段。
开
oss.linuxpk.com 2009 年第 1 期 119
源
编读往来
Linuxpk.com 十二月十大热门帖
百度 Hi 在 Linux 下的使用
http://bbs.linuxpk.com/thread-36649-1-1.html
ubuntu 无法修改分辨率
http://bbs.linuxpk.com/thread-36738-1-1.html
晒 3D 桌面
http://bbs.linuxpk.com/thread-36777-1-1.html
如何修改系统显示语言
http://bbs.linuxpk.com/thread-36565-1-1.html
问一个域名的问题--强烈要求站长来回答
http://bbs.linuxpk.com/thread-36726-1-1.html
我说 PHPer 的水平区分
http://bbs.linuxpk.com/thread-36548-1-1.html
急求:木马源代码
http://bbs.linuxpk.com/thread-36616-1-1.html
Linux 源代码的一个小小问题
http://bbs.linuxpk.com/thread-36544-1-1.html
硬件很便宜,程序员很昂贵
http://bbs.linuxpk.com/thread-36701-1-1.html
开
oss.linuxpk.com 源 2009 年第 1 期 120
封底