Gentoo Weekly Newsletter: 2007年5月7日
1.
Gentoo新闻
Gentoo 2007.0发布,代码名为 "Secret Sauce"
Gentoo发布工程项目很高兴地宣布延期了许久的Gentoo Linux 2007.0版本发布,代号被命名为"Secret Sauce"。由于大量的包存在安全漏洞,因而需要重新编译它们的新的安全版本,以致此次发布出现多次的延误。由于发布周期持续的时间太久,并且包变得陈旧,因此我们半路开始重新做了一个快照。
您可以在官方版本信息中找到更多有关发行版本的内容。从http://www.gentoo.org/main/en/where.xml,您可以获取最新的版本。
最近的Coreutils更新以及shell脚本问题
如果您最近要更新coreutils,或读到此时正计划您的下一次emerge -avNDu
world,那么您也许要注意一些重要的变化。sys-apps/coreutils最近的一次升级调整了一些工具的位置。其中一些从/bin移到了/usr/bin,其余的,可能是因为他们觉得其他文件夹里的inode更新鲜(译注:意即被占用的比较少),被从/usr/bin转到了/bin下。这些调动是有许多原因的,包括比如为单用户模式下提供这些工具。对于被这个变动影响到的人来说,最重要的是要了解这对你写的shell脚本意味着什么,如何来找到问题,如何来修正您的脚本,如果有必要的话。
对于很多人来说,大多数的脚本都是以root权限通过cron运行,并且可能会通过为脚本中的每个命令书写固定的路径来做为防范措施(这通常被认为是安全的脚本书写方法,您可以在http://forums.gentoo.org/viewtopic-t-548833.html找到更多相关细节)。最好,指定那些命令所在的路径定义在脚本开头的变量里,例如:
代码 1.1: 示例脚本 |
#!/bin/bash
MYNOHUP=/usr/bin/nohup
MYCOMMAND=/usr/local/bin/somecommand
$MYNOHUP $MYCOMMAND
|
这样,只需要在脚本中改动一个地方就可以了。当然,这并不是唯一的解决方法。在gentoo-dev邮件列表中最近的一次讨论中,提供了许多可能的解决方案。您可以查看此帖http://archives.gentoo.org/gentoo-dev/msg_144236.xml。其中一种方案是在你的shell脚本中,彻底的丢弃使用命令的完整路径。但这必须保证在脚本的开头,PATH变量必须已经被设置好,这样问题就会完全避免。事实上,对于已经使用这一方法的shell脚本,coreutils的更新带来的影响可以完全忽略。在您的脚本中,一个有效的默认PATH变量应该是:
代码 1.2: 默认PATH示例 |
PATH=${PATH}:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin
|
显然,我们可能需要检查一些特殊的路径,例如/opt/vmware/server/bin是VMWare服务器的工具所在位置。另外一个可选的方法是使用command -p
program。man帮助中提到,command -p是“使用默认PATH变量来执行命令搜索,这将保证找到所有的标准应用”。这似乎是一个相当安全的命令执行方法,虽然代价是增加少量的按键操作。而且,由于command是bash的内建工具,并不是真实存在于文件系统中,因此coreutils的变化对它们来说是不受影响的。当然前提是该用户使用bash作为默认的shell,绝大多数的Linux用户都应该是这样的。
与command类似,env能在被修改过的环境中运行程序。只要调用env program就会以被极度削减的PATH运行您的程序——根据email主题里说的,这个PATH就是/bin:/usr/bin。与command工具不同的是,env是本地文件系统中的一个文件,通过符号链接同时存在于/bin和/usr/bin。
最后,您选择的解决方案很大程度上取决于您的个人喜好以及个人经验。您最好的选择是试验上面列出的解决方案,找出最合适您的一种。您还要用新获取的知识来做最后一件事。您需要找出系统上运行的脚本,并测试以确保没有问题。您可以在调试模式下手动运行每个脚本来发现问题。
代码 1.3: 在debug模式中运行bash命令 |
$ bash -x sample_cron_job
+ /bin/echo 'Hello World!'
Hello World!
|
您可能也需要在/usr/local/bin(如果您保存在这里的话)里找找脚本,还有/etc/conf.d/local.start和/etc/conf.d/local.stop。如果所有的脚本都正常,那就说明您的机器完全没有问题了!
2.
倾听社区
planet.gentoo.org
Gentoo MIPS的状况
开发人员Alexander Færøy在他的博客中对MIPS团队当前的进度表示乐观。在加上Bryan Østergaard,将负责一般的移植工作,以及Richard Brown,负责ruby支持,这一架构的进度正向着2007.0的发布加速迈进。Alexander同时提到了他们正招募新人“加入这一Gentoo里最酷的团队”。他还谈到了他们在新Movidis机器上取得的成功。
gentoo-user
除了一个,全都做
Jesse Adelman写信给gentoo-user询问如何能够做一次emerge -uDN world,但是让portage不要升级其中的一个软件包。Jesse有个已经从portage树中移除的MythTV版本需要保留。然而,这个版本处于树中两个新旧版本之间,如果只把新版本放到package.mask里,会导致portage把软件降级到旧版本。Vikas Kumar建议使用那个常被遗忘的/etc/portage/profile/package.provided。列到这个文件里的包不会被升级,除非另一个包必须依赖此包的新版本。关于package.provided的更多信息请参见portage手册页。开发人员Zac Medico则建议同时屏蔽掉新旧版本──这是最好的办法。
gentoo-dev
Daniel Drake正寻求一个或多个志愿者帮助维护gentoo-sources-2.6。对内核内部结构的了解以及修改内核的能力不是必需的,但是对学习这些知识的渴望是主要条件。不是Gentoo开发人员也可以提供协助;而对感兴趣的人来说,这是个成为真正开发人员的绝佳良机。感兴趣者请私下联系Daniel,也可以通过IRC联系。
3.
Gentoo国际
HSM寻求Gentoo专家
HSM是一家著名的、高端软件服务提供商,总部设于德国Paderborn。他们的强项是为标准软件和数据库开发接口和附加软件,为客户开发定制的软件,并为安全、ERP和仿真等领域提供标准软件。
HSM正在寻找拥有丰富Gentoo知识的Linux专家,为他们开发的基于Linux的、拥有全新和独特产品概念的通用软件防火墙进行深度开发和客户支持工作。成功的申请者需要拥有丰富的Linux经验,尤其是要具备TCP/IP,路由,Perl,PHP和BASH脚本,Apache,Bind, DNS,SQUID, Postfix和MySQL方面的经验,还需要拥有娴熟的沟通技巧,计划性的工作习惯以及面向客户的思维方式。
该职位能使应聘者具备长期职业经验,还有晋升至管理职位的机会。对于已经具备职业经验的应聘者,公司将提供颇具吸引力的培训以及进一步的认证机会。欲知详情,请联系HSM人力资源顾问,Mr.
Wolf Geldmacher。
4.
Gentoo媒体
Linux Magazine(2007年4月26日)
Linux Magazine发表了一篇关于Gentoo Linux和portage的专题文章。该专题文章通篇报道了Gentoo,且仅对Linux Magazine订阅用户发放。如果您是Linux Magazine订阅用户,请查看该文章。
5.
人员变更
离开
下列开发者最近离开Gentoo项目:
加入
下列开发者最近加入Gentoo项目:
变更
下列开发者最近改变了在Gentoo项目内的职位:
6.
Gentoo安全
Ktorrent:多个漏洞
Ktorrent被发现含有多处漏洞,这些漏洞可能会导致远程任意代码执行以及招致拒绝服务式攻击。
详情请见GLSA声明
FreeType:用户协助式任意代码执行
FreeType中存在一处漏洞,可导致用户协助式远程任意代码执行。
详情请见GLSA声明
Tomcat:信息泄漏
Tomcat中发现一处漏洞,可引起敏感信息泄漏。
详情请见GLSA声明
Apache mod_perl:拒绝服务
Apache的mod_perl模块存在漏洞,该漏洞在处理正则表达式时易招致拒绝服务式攻击。
详情请见GLSA声明
Quagga:拒绝服务
Quagga中发现一处漏洞,利用此漏洞可发起拒绝服务式攻击。
详情请见GLSA声明
X.Org X11 library:数个整数溢出漏洞
X.Org X11库存在数个整数溢出漏洞,可导致任意代码执行。
详情请见GLSA声明
7.
软件增减
这一章节列出了已经被移除或加入到portage里的,以及已经发布“最后仪式”声明的即将被移除的包。要移除的包来源于很多地方,包括树清理者项目和众多的开发者。列在最后仪式一节里的大部分包需要有人来维护,如果有人可以承担下维护的责任的话,它们可以得以继续保留在portage树里。
已经移除:
已经加入:
最后仪式:
8.
Bugzilla
总结
统计信息
Gentoo社区使用Bugzilla (bugs.gentoo.org)来记录和追踪bug、提示、建议等形式的和开发团队之间的交流。从2007年4月29日到2007年5月06日,这个站点记录下了:
- 565个在这段时间内被发现的新bug
- 361个在这段时间内被修正或解决的bug
- 26个先前修复了的但在这段时间重现的bug
- 123个在这段时间内以NEEDINFO/WONTFIX/CANTFIX/INVALID/UPSTREAM的形式被关闭的bug
- 104个bug在这段时间被标记为重复
在当前还未被修正的10028个bug里面:11个被标记为“blocker”,116个被标记为“critical”,还有364个被标记为“major”。
被修复的bug排行榜
在这段时间内修复最多bug的开发者和团队有:
新bug排行榜
在这段时间内被分配得到最多的新bug的开发者和团队有:
9.
周报反馈
GWN的工作人员包括为GWN出谋划策和提交文章的志愿者和社区成员。如果你有兴趣成为GWN的作者,对我们发布的文章有意见建议,或者哪怕只是有点想法或文章要提交给GWN,都请把你的反馈发给我们以帮助我们把GWN做的更好。
10.
周报订阅
订阅Gentoo周报,请发一封空邮件到gentoo-gwn+subscribe@gentoo.org。
退订Gentoo周报,请从你订阅的邮箱发一封空邮件到gentoo-gwn+unsubscribe@gentoo.org。
11.
其他语言
Gentoo周报还被翻译为以下几种语言文字:
|