Gentoo月报: 2008年4月24日
1.
介绍
本月GMN
欢迎阅读4月份的Gentoo月报!相对上个月,本月月报变化不大。不过,本期有一个专访。我们期待在以后的月报中加入更多的专访。您将会注意到,我们以后不仅会采访Gentoo的开发者,而且也会采访很多Gentoo社区里的成员。
因为要公布为今年的“代码之夏”(Summer of Code)而挑选的项目,我们不得不延迟几天发布本期月报,
和往常一样,您可以在本期月报的论坛帖子中讨论任何相关的问题。我们期待听到您的声音!
2.
Gentoo新闻
baselayout-2和OpenRC已被加入portage树
经过漫长的等待,baselayout-2和OpenRC最终被加入到不稳定(unstable)分支中了。如果您想尝尝鲜,请务必在尝试升级之前阅读迁移指南。这两个软件被打上不稳定标记是事出有因的。我们建议您不要在以稳定为首要考虑因素的机器上升级这些软件。
2008代码之夏(Summer of Code)
今天我们宣布了入选2008年Google“代码之夏”(Summer of Code)的学生名单。Gentoo很高兴能够指导六位学生来完成六个获得我们的开发者最多投票的项目。
在今后的几个月中我们将采访所有这些学生。衷心祝愿我们的学生取得成功!
Gentoo一直在寻找新的贡献者。您可以以多种方式来帮助我们,不一定全都是技术性的。要成为一名新的开发者,请查看我们的指南来了解更多详情。
议会会议摘要
在2008年4月10号,Gentoo议会召开了月度会议。讨论的事项有:
-
ebuild开发者的最小活跃度:当前的活跃度要求每60天要检入一次。应该提高一点么?很难达成一致。有些人认为应该每周有一次提交,其他人认为大家都有各自忙碌的生活,而且也质疑这样做的效果。有许多人认为我们应该信任undertakers工具的判断,并且检入次数也不是活跃的唯一指标。
-
软件包管理器规范(PMS)初始意见:是否需要做大改动,还是调整下细节便可?议会表决认为,kdebuild-1和其他未被批准的EAPI不应该留在通过后的PMS文档中。该文档说明书不是用来保留提议或者那些永远不会提交到议会审核批准的东西。它是主源树中软件包等的详细说明书、参考书。
前面会议遗留下的一些议题:
-
GLEP 46(允许metadata.xml中的上游标签):批准。
-
作为活跃开发者的文档:无更新。
近期活动
-
Bugday:在寻找不花太多时间就能帮助Gentoo的方式吗?在5月3日参加我们每月一次的bugday活动,帮我们捉一些bug吧。
-
理事会议:在5月4日UTC时间19:00,在irc.freenode.net上的#gentoo-trustees频道将举行一次单一议题的理事会议,目标是制定通过章程。欢迎所有人出席。
-
议会会议:Gentoo议会每月开会讨论那些影响整个Gentoo的重要技术问题。本月的会议计划于5月8日UTC时间20:00,在irc.freenode.net上的#gentoo-council频道举行,届时欢迎大家的参与。
-
LinuxTag柏林:欧洲最大的Linux展会又将在柏林露天游乐场(Berlin Fairgrounds)开幕了,Gentoo也将登场亮相。请在5月28日至31日和其他开发者与用户们一起到我们的展区来,我们期待这次展会会像Chemnitz那次一样有趣!
3.
倾听社区
访谈:生产环境中的Gentoo
这个月,我们得到了采访Hyves的系统工程部门领导Ramon van Alteren的机会。Hyves是欧洲一个类似MySpace,FaceBook和Orkut的社区交友网站。
GMN:请简要介绍一下你自己和你在Hyves的工作。
Ramon:我在生活和工作中使用Gentoo都有很长时间了——在2002年开始从Mandrake转用Gentoo。在那之前我使用Linux大约已经有5年了。
Hyves是一个类似于MySpace,FaceBook,Orkut等等的社区交友网站。这个网站是由Koen,Floris和Raymond创立的。我在2005年11月作为第一个拿薪水的系统管理员加入公司,帮助管理40多台Gentoo Linux服务器。
现在的系统工程部是一个9个人的团队,负责管理所有服务器的方方面面,从硬件架构到包括网络设施在内的软件应用。网站本身是由一支14人的开发者队伍建立的。
GMN:你们网站的规模有多大?
Ramon:目前我们有600万注册用户并且还在增加。目前的访问峰值是每天1亿5000万以上页面浏览(每小时1300万)。这还是过滤后的页面浏览量,我们的服务器接受的http请求远超过每秒2万次。
后端的mysql,在访问的最高峰时每秒大概要进行10万次操作。除了web前端和数据库后端,我们还有一个非常大的文件库用来存放用户上传的媒体文件,大约已使用了280TB。算上所有的主机,我们大约有1800台服务器,大部分是双核或四核。所有机器都运行Gentoo Linux。:-)
GMN:你们为什么选择在你们的设备上运行Gentoo Linux?是什么特性让你们从各种发行版中选择了它?
Ramon:我们从网站创立的时候就运行Gentoo Linux。在最开始很短的一段时间里公司有两台预装Fedora的托管服务器,不过那是很久以前的事了。我们改用Gentoo的主要理由有:
- USE标记(轻松地打开或关闭附加功能的能力)
- 极高的可定制性(自定义ebuild,安装位置等等)
- 对上游开发的密切跟踪(更新速度快)
- 很好的社区支持
- 很棒的文档
在某些情况下,为了调整我们网站的规模和/或性能,我们使用一些处于非稳定状态的软件来运行我们的网站,一般来说这些软件都有相当广泛的可定制性。为了达到这种特性,Portage、overlays和ebuild系统已经做了很多;而在Gentoo的内部框架内则可以实现其它的东西。
有这样一个事实:一个最基本的Gentoo系统不会带来各种让人不快的东西和针对发行版的定制。这让我们的系统保持精简。
在从php-4升级到php-5的过程中我们发现slot技术(portage的一个功能)真是个无价的功能,它让我们的迁移过程相当轻松。有一段时间我们就不得不继续使用php-4,直到Gentoo宣布不支持它为止。通过ebuild来下载安装安全补丁是相当简单的事情,这让我们可以按照自己的步伐来进行迁移。
GMN:请描述一下你们是如何使用Gentoo提供的工具来帮助维护这样一个大型服务器池。
Ramon:我们大多数的系统管理不是使用Gentoo的工具,而是使用一个用于Unix主机的叫puppet的自动配置管理系统。它使用了eix来创建软件包数据库。
在Gentoo提供的工具里面:
GMN:在搭建你们的系统架构的过程中,你们有遇到过什么大的障碍吗?如果有,你们是如何解决的?在当时,你们觉得Gentoo提供的那几种(社区)支持的途径有帮助吗?
Ramon:当然有一些!大多数都与Gentoo没什么关系,而是跟各个软件的bug和性能问题相关。
说到社区支持,我们在IRC和bugzilla上进行活跃的搜索和查询,有时还有论坛。另外,我们也跟踪gentoo-dev邮件列表里的邮件。对于我们碰到的桌面问题(多大数的系统工程组运行Gentoo做为桌面系统),论坛是个非常宝贵的资源。但是,对于大型服务器的问题,它噪音/内容比有些高,这主要是由于其桌面性质所致。
我们尽量把我们遇到的问题通过报告bug(可能的话提交补丁)回馈给社区。但是,我们发现大多数我们提交的问题在社区里只吸引了很有限的兴趣,因为这些问题都是针对我们的环境的。
运行这么大型的服务器通常用掉了大多数可用的时间,所以只剩下很少一点时间来清理补丁和/或ebuild,使到它们的使用范围更广。在配置服务器的过程中,我们确实提交过相关的amd64关键字稳定报告,(然而)至今还没被标志为稳定。
GMN:你觉得Gentoo还需要有什么功能吗?
Ramon:让我想想(绕着桌子思考我们希望gentoo应该拥有的功能大列表)。事实上,该列表出乎意料地短:
- 目前我正忙于让stackless python以一种和Gentoo的python框架内的其他东西兼容的方式运行起来。我们已经做出了初步的stackless python的ebuild,基本上该ebuild会把stackless python与普通python并排安装在/opt下面。不过我认为这种方式即便不是错的,至少也不能算是最理想的。我们还没完成这项工作,但我认为这是可行的。
- 我真的真的很希望看到一个基于发行版本的Portage快照能随实际相应的发行版本一起发行。但是,如果同时没有对应的distfiles快照,这就没什么用了。这将使Gentoo不再成为一个移动对象,并且可成为建立服务器的更可靠的基础。这已经在一些邮件列表上讨论过,那里人们都反对,原因是这样的稳定实际上是一种错觉,因为没人将会负责给旧版本打上安全补丁。但就我们所关心的,这些都不是必须的。我们明白这样的要求对于镜像系统带来的挑战。目前我们内部针对我们的stage4文件正是这样做的,并且具有相当的可操作性。然而,我们做的镜像只包括distfiles里的部分软件(那些在我们的stage4里面用到的)而不是整个Gentoo发行版里包括桌面相关软件在内的所有软件。
- 我们非常依赖Gentoo中对二进制软件包的支持,并且当我们需要采用不同的USE标记的同一个软件包时,我们需要为此创建多个ServerOS镜像(stage4)。我希望对二进制包有适当的USE标志支持。
- 对Portage树中(老版本)ebuild的删减速度慢一些会更好。许多人可能还在使用apache-2.0.x,我们也是。像这些软件包的ebuild离开了Portage真是令人伤心,我怀念它们!
GMN:有没有总结性的评论?
Ramon:Gentoo的魅力在于它提供了一个灵活的框架。有了它,你可以建立一个高度定制的linux平台来跑你的应用程序而不会受到阻碍。而这种灵活性和定制性也带来了复杂性。但在我所关心的范围内,这种复杂性是值得的。
由仅仅9个人来运转这类架构是一种高度有组织的疯狂。如果在阿姆斯特丹有开发者或系统管理员对高性能和大规模的架构有很大兴趣,我愿意跟他们交流。我们在开发和系统工程方面均有空缺职位,愿意在Gentoo社区中雇人。
我们欢迎来自社区的反馈。大家可以通过email与我个人联系,或者在IRC(我在Freenode的昵称是Innocenti)上找我。如果谁有兴趣与我们共同工作,请不要联系我个人,直接给jobs.sysadmin@hyves.nl发邮件就行了。
最后但并非最不重要,我非常高兴地宣布以下几点:
基于最近与来自gentoo-infra的Robin H. Johnson和Alex Howells的讨论,Hyves将向Gentoo社区捐赠用于Bugzilla的新服务器。我们正提供两个配备有快速的SCSI硬盘的16Gb大型AMD64服务器作为数据库后台,还提供两个健壮的web服务器以改善现在bugzilla服务器的状况。当前我们正在让这个架构运转起来。希望不久就能跑起来。
GMN:谢谢Ramon,感谢你在百忙之中抽空接受我们的采访!
图示 3.1: Hyves小组成员(从左到右): Jeffrey Lensen,Marlon de Boer,Eugene Molenaar,Ramon van Alteren,Gerwin Scheeve,Maarten van der Bogaard,Stefan van der Wiele和Frank Zwart |
 |
Planet Gentoo
好用户:Ben de Groot在一系列帖子中向我们说明了怎样才能成为一名成功的Gentoo用户并保持下去。
Baselayout动态:Doug Goldstein向我们通知了baselayout的新动态.
翻译:翻译工作是开源软件工作的一个重要组成部分,开源软件也因为对一些小语种的翻译支持而在市场上流行开来。Diego Elio Pettenò共享了他在ebuild国际化方面的一些想法。
新的软件包搜索引擎:Steve Dibb用新代码实现了老的packages.gentoo.org。
工作空间:你想知道Gentoo是在哪里被满怀爱心的“手工打造”出来的吗?在几篇博客中展示了一些开发者的安装配置。
用Vim看man手册页:Ali Polatel告诉我们怎样用Vi一类的编辑器看man手册。
游戏站(Playstations)与Gentoo:虽然老式的游戏站是基于MIPS的,但Stuart Longland告诉我们为什么它们不被支持.
书评:对由Gunnar Wrobel编写的第二本德语的Gentoo书籍,Christian Faulhammer为德国读者贴出了一篇小评论。
去淘金:你可能听说过binutils中的新连接器。Bernard Cafarelli告诉我们怎样在你自己的项目中在稳定版之外同时使用此新版本。
Gentoo媒体报道
PC Magazine:一篇介绍Zonbu PC的文章提到这种电脑运行Gentoo Linux系统——“尽管经由非传统渠道进行销售,并且这种电脑没有硬盘装置,客户需要按月支付在线存储费用,Zonbu PC仍然是传统桌面PC的一种良好的替代品。这种电脑运行Gentoo Linux,比gPC上运行的gOS Linux更具可用性。如果你您主要基于Web进行工作,请购买这种通过EPEAT Gold和Energy Star 4.0双重认证的电脑。它还是有史以来第一款通过PC Mag绿色认证的产品”。更多信息,请查阅整篇文章。
Linux设备:PC-Doctor,一家著名的软件供应商开发了一种新的网络设备制造商(Network Factory)用具,这种产品正处在原型阶段。该产品运行Gentoo系统,运行Gentoo的硬件平台并未公开。这家公司选择了Gentoo,“因为我们了解它”,van Aman说。 “我们选择了一个基于源代码的系统,因为我们只需要支持少量的硬件,并且我们想从我们使用的硬件上获得最大的性能”。更多信息,请查看整篇文章
ITWire:该网站上的一篇新文章描述了用户如何使用Gentoo来制作自己的发行版——Kororaa。更多信息请查阅整篇文章。
4.
心得技巧
加速系统启动时间
启动电脑时您是否感到不耐烦?如果是的话,请尝试以下内容:
代码 4.1: 告诉Gentoo的启动系统并行打开服务 |
$ $EDITOR /etc/conf.d/rc
RC_PARALLEL_STARTUP="no"
RC_PARALLEL_STARTUP="yes"
|
代码 4.2: 阻止内核显示状态消息 |
$ $EDITOR /boot/grub/grub.conf
kernel /boot/vmlinuz-2.6.23.9 root=/dev/hda2 quiet
|
代码 4.3: 移除你不需要的服务 |
$ rc-status boot
$ rc-status default
$ rc-update del keymap
|
如果您编译了一个不使用模块的内核,你可以将各模块从启动中删除。
注意: 如果您搞不清一个特定的服务或模块是干什么用的,千万不要删除! |
或许您还想安装BootChart,一个Linux启动进程性能分析和可视化工具。
IRSSI和BitlBee
Irssi和BitlBee是两个很好的简易交谈客户端程序。如果你可以运行shell,我们推荐你在没有server的情况下运行它们,这样的话你可以永远也不注销。
代码 4.4: 安装 |
# emerge irssi bitlbee screenie
|
之前GMN提到过关于screenie的使用技巧。现在,根据你的喜好配置好bitlbee,启动程序:
代码 4.5: 启动bitlbee |
$ /etc/init.d/bitlbeed start
|
现在启动screenie并开启一个irssi会话进程:
代码 4.6: 创建一个IRSSI会话 |
$ /connect 127.0.0.1
|
根据指令登录您的IM帐号和IRC,再也不用担心注销问题了。
5.
人员变更
总结
Gentoo目前有259位活跃开发者,最近其中44位离开了。从初创到现在为止,Gentoo总共招募了637位开发者。
离开
下列开发者最近离开Gentoo项目:
加入
下列开发者最近加入Gentoo项目:
- Ahmed Ammar (b33fc0d3) - amd64
- Josh Glover (jmglov) - CJ
变更
下列开发者最近改变了在Gentoo项目内的职位:
- Alfredo Tupone(tupone)加入net-zope组
- Ben de Groot(yngwin)加入desktop-misc组
6.
Portage
总结
该章节总结了Portage树的当前状况。
| 统计汇总 |
| 架构 |
15 |
| 类别 |
151 |
| 包 |
12565 |
| ebuilds |
24548 |
| 关键字分布 |
| 架构 |
稳定 |
测试 |
合计 |
%占总包数 |
| alpha |
3629 |
435 |
4064 |
32.34% |
| amd64 |
6969 |
3867 |
10836 |
86.24% |
| arm |
1595 |
72 |
1667 |
13.27% |
| hppa |
2660 |
488 |
3148 |
25.05% |
| ia64 |
3223 |
552 |
3775 |
30.04% |
| m68k |
493 |
16 |
509 |
4.05% |
| mips |
1104 |
671 |
1775 |
14.13% |
| ppc |
6239 |
2858 |
9097 |
72.40% |
| ppc64 |
3431 |
621 |
4052 |
32.25% |
| s390 |
1201 |
47 |
1248 |
9.93% |
| sh |
1415 |
45 |
1460 |
11.62% |
| sparc |
4805 |
1275 |
6080 |
48.39% |
| sparc-fbsd |
0 |
316 |
316 |
2.51% |
| x86 |
9327 |
3054 |
12381 |
98.54% |
| x86-fbsd |
0 |
2493 |
2493 |
19.84% |
图示 6.1: 按关键字分类的包分布 |
 |
以下部分列出了被移除或者被加入到Portage树中的软件包。删除的软件包来自很多地方,包括树清理者项目和多个开发者。
已经移除:
已经加入:
7.
Bugzilla
统计信息
Gentoo社区使用Bugzilla (bugs.gentoo.org)来记录和追踪bug、提示、建议等形式的和开发团队之间的交流。从2008年3月16日到2008年4月20日,这个站点记录下了:
图示 7.1: Bug分布 |
 |
在当前还未被修复的10812个bugs中:15个被标为“blocker”,106个被标为“critical”,还有361个被标为“major”。
被修复的bug排行榜
在这段时间内修复最多bug的开发者和团队有:
| 排名 |
开发者/团队 |
Bug数 |
| 0 |
其它 |
1316 |
| 1 |
Gentoo核心系统软件包团队 |
128 |
| 2 |
Gentoo Linux Gnome桌面团队 |
87 |
| 3 |
Gentoo安全 |
73 |
| 4 |
AMD64项目 |
70 |
| 5 |
Portage团队 |
58 |
| 6 |
Java团队 |
45 |
| 7 |
Gentoo游戏 |
44 |
| 8 |
Gentoo声音团队 |
41 |
| 9 |
Gentoo非Linux组 |
38 |
图示 7.2: Bug关闭排行榜 |
 |
bug分配排名
在这段时间内被分配得到最多bug的开发者和团队有:
| 排名 |
开发者/团队 |
Bug数 |
| 0 |
其它 |
952 |
| 1 |
新软件包的默认受托人 |
116 |
| 2 |
Gentoo核心系统软件包团队 |
64 |
| 3 |
Java团队 |
54 |
| 4 |
Gentoo安全 |
50 |
| 5 |
Gentoo Linux Gnome桌面团队 |
50 |
| 6 |
Gentoo游戏 |
44 |
| 7 |
Gentoo发布团队 |
38 |
| 8 |
孤立软件包的默认受托人 |
37 |
| 9 |
Python Gentoo团队 |
30 |
图示 7.3: Bugs分配排行榜 |
 |
8.
加入我们
GMN依赖志愿者及社区成员每月为它提供内容。如果您有兴趣为GMN写文章,请发信到gmn-writers@gentoo.org,附上您的文章,文章的格式应为纯文本格式或GuideXML格式。
我们征求读者对GMN的反馈。如果你对文章、栏目有什么主意,或者对GMN有什么想法,不要犹豫,赶快发信给gmn-feedback@gentoo.org。
您可以把关于GMN的反馈和评论发表到该论坛帖子。
9.
月报订阅
订阅Gentoo月报,请发送一封空邮件到gentoo-gmn+subscribe@gentoo.org。
退订Gentoo月报,请从您订阅的邮箱发一封空邮件到gentoo-gmn+unsubscribe@gentoo.org。
10.
其他语言
Gentoo月报有下列语言的版本:
|