Gentoo Logo

Gentoo月报: 2008年9月30日

内容:

1.  介绍

本月GMN

欢迎阅读9月份的Gentoo月报!

和往常一样,你可以在对应的论坛帖子里面讨论与本期月报相关的任何问题。我们期待听到您的声音!

2.  Gentoo新闻

TeTex宣布淘汰

由于作者没有时间维护,TeX的发行版teTeX已正式被淘汰。取而代之的是TeXLive,它拥有更完整的功能。许多Linux发行版都已经将它作为新的标准。现在,Gentoo的TeX也选择了它。

建议你emerge --unmerge tetex, 然后emerge world来获得最新的TeX版本。更多的信息请参考TeXLive迁移向导

Gentoo的TeX维护者也发起了一项关于你正在使用哪个TeX发行版的调查,请投票告诉他们!

发行策略变动

您可能已经读到Gentoo发布策略的一些变动。我们正计划制作每周自动生成的stage包和最小安装CD,也可能约一年一次发行无网络媒介(包括LiveCD/DVD安装盘、通用/打包 CD)。请阅读公告了解更多的详细情况。实施这个策略需要做很多的工作,我们需要帮助!

理事会议摘要

Gentoo理事会 在2008年9月14日召开了月度会议。这里是日程表。

议会会议摘要

Gentoo议会在2008年9月11日召开了月度会议。讨论事项包括:

  • 填补空缺职位:议会成员Diego Elio Pettenò由于健康原因退出了委员会,Doug Goldstein取代了他的职位。在原始投票的排名中,cardoe处于下一位。
  • PMS成为EAPI 0标准草案:议会对是否赞成PMS成为EAPI 0标准的草案进行了投票。结果是:通过,并接受议会提出的如下条件

议会于2008年9月25日再次见面。这次讨论的事项包括:

  • EAPI-2:新的EAPI已经通过。这给Portage增加了如USE标记依赖的特性。例如现在一个包可以直接依赖用“foo” USE标记构建的包而不是使用一些特殊技巧或是类似“built_with_use || die”这样的手段。
  • cache中的PROPERTIES字段:因为在cache中使用PROPERTIES字段是和EAPI相关的,所以这个问题应当由包管理器开发者解决,而且在无法达成一致时应提交到理事会。包管理器开发者同意在cache中添加PROPERTIES字段,但这个值可以被包管理器忽略。
  • ebuild中的PROPERTIES=interactive字段:这是一个议会通过的,已经追加到之前已经批准的所有EAPI的,同时是向后兼容的EAPI改动。它允许ebuild通过设置一个变量来在开始安装前向用户预先说明安装此软件需要用户手工干预,例如同意一份协议或是输入一些信息。

近期活动

  • Bugday:想找到不花太多时间就能帮助Gentoo的方式吗?在10月04日参加我们每月一次的bugday活动,帮助我们捉一些bug吧。
  • 议会会议:Getoo议会每个月都会召开两次会议来讨论那些影响整个Gentoo的重要技术问题。下次会议计划于10月09日UTC时间20:00,在irc.freenode.net上的#gentoo-council频道举行,届时欢迎大家的参与。
  • 理事会议:10月19日。

3.  倾听社区

Gentoo-Quebec训练

Gentoo-Quebec小组在2008年9月13日提供了一个关于Gentoo发行版的培训课程。作为这个系列18部分中的第一部分,这次课程使23位参与者熟悉了Gentoo LiveCD,并简要学习了安装Gentoo时的一些命令行工具。

感谢Gentoo-Quebec小组和为所有参与者提供培训室和网络安装条件的Copernic,使这个培训课程成功开展。请查阅以下网址获取更多信息(法语):http://gentoo-quebec.org


图示 3.1: 在Quebec学习Gentoo

Fig. 1: The class

Planet Gentoo

OLPC XODaniel Drake在为“让每个孩子拥有一台笔记本”计划工作。这个工程前段时间发布了XO笔记本,这台笔记本搭载了一种特殊版本的Linux。但是也可以使用有标准桌面的发行版。

体验MIPSStuart Longland在几个月前开始编译工作,现在这里已有MIPS上的Firefox 3

重返Gentoo书刊:第一本已出版的关于Gentoo的德语书的作者对书进行了Tobias Scherbaum修订

RAID技巧Robin H. Johnson有一些关于如何在硬盘数量不够的情况下创建RAID,并在有了足够硬盘的时候再把它们加入的技巧。

Gentoo没有死Steve DibbBen de Groot讲述了一些关于Gentoo的事情

美化XfceJoshua Saddler有一些关于使用小型轻量程序构建漂亮且实用的Xfce环境的技巧截图

新闻报道中的Gentoo

基于Gentoo的游戏服务器现身:Internode重新推出了它的Games On Net联网游戏服务。这个规模可观的网络(至少有一部分)运行在Gentoo Linux机器上。

4.  心得技巧

在多台机器上运行命令

如果你曾经为了运行一两个命令一台一台地登录你的大量Gentoo机器,这个技巧能够帮你节省不少时间。让我们来简单了解几种让你在多台机器上顺序或者并行地运行命令的方法。

最原始的方法是第一种,只使用bash。假设我们有十台机器,主机名分别是gentoo-box-1gentoo-box-2,等等。我们要同时在所有机器上运行emerge --info。我们这样做:

代码 4.1: 在众多的机器上运行emerge命令

$ for i in `seq 10`; do ssh gentoo-box-$i "emerge --info"; done

警告: 不要试图用这个“for”循环运行需要人机交互的命令。在不使用公钥加密的情况下运行的命令也一样。因为机器会提示你输入密码,但是你无法输入。

如果你没有为ssh设置公钥加密,请阅读OpenSSH密钥管理这一系列文章。你也可能需要参考这篇指南

如果你不愿意折腾公钥加密,在bash里写复杂的“for”循环语句,又想运行交互命令,你有一个很好的选择:Cluster SSH。我们先来把它安装上:

代码 4.2: 安装Cluster SSH

# emerge clusterssh

Cluster SSH需要有X11才能工作。你提供一份机器列表,Cluster SSH给其中的每一台机器打开一个xterm窗口。同时它打开一个小型指令窗口,你可以在里面输入命令,这些命令被同时转发到其它所有机器的命令行中。要在这十台gentoo机器上做和我们刚才所做的相同的事情,我们这样运行Cluster SSH:

代码 4.3: 启动Cluster SSH

$ cssh gentoo-box-{1,2,3,4,5,6,7,8,9}

如果你没有为机器设置公钥加密的话,机器会首先询问密码。如果你的一台机器密码跟其它的不一样,不用担心,你可以点击那台机器对应的窗口在里面输入。一旦你登录进了所有的机器,你就可以对所有机器同时下命令,或者分别输入命令。

还有一种选择是使用Tentakel。Tentakel的使用方式相较之下是静态的。用户要修改一个静态的配置文件,然后告诉Tentakel要连接到哪一组机器。首先,我们安装Tentakel:

代码 4.4: 安装Tentakel

# emerge tentakel

下一步,我们建立一个配置文件:

代码 4.5: 配置Tentakel

# echo "set ssh_path=\"`which ssh`\"" >> /etc/tentakel.conf
# echo "set method=\"ssh\"" >> /etc/tentakel.conf
# echo 'group ten_gentoos (user="root")' >> /etc/tentakel.conf
# for i in `seq 10`; do echo -e "\t+gentoo-box-$i"; done >> /etc/tentakel.conf

直接编辑Tentakel附带的范例配置文件可能更方便一些:

代码 4.6: 编辑范例配置文件

# cp /usr/share/doc/tentakel/tentakel.conf.example /etc/tentakel.conf
# nano -w /etc/tentakel.conf

把所有东西配置好以后,该运行Tentakel了:

代码 4.7: 运行Tentakel

$ tentakel -g ten_gentoos

这个命令将启动Tentakel的交互式命令界面。我们用它提供的exec指令来运行一条命令:

代码 4.8: 在Tentakel中运行命令

$ exec emerge --info

如果你面对Tentakel的命令界面不知所措,就运行help命令。你也可以像这样运行Tentakel而不使用它的交互式命令界面:

代码 4.9: 运行Tentakel而不使用交互式命令界面

$ tentakel -g ten_gentoos "emerge --info"

这些技巧只涉及了现有的可以在多台机器上分散执行命令的程序中的一小部分。如果Cluster SSH和Tentakel不能满足你的要求,你也许可以试试dshpdshpconsoleshmux

Iotop

如果一台拥有大量额外内存和磁盘空间的计算机被一个进程拖慢了,原因可能在于cpu占用或者输入/输出(I/O)。大多数Gentoo用户习惯于用top来寻找那些讨厌的CPU和内存消耗大户,但很少有人用iotop来寻找大量占用磁盘数据传输的进程。

iotop分列显示采样时段中每个进程/线程读写数据占用的I/O带宽。它同时显示线程/进程被载入内存和等待输入/输出的时间。此外采样时段中总的I/O读写带宽则显示在界面顶端。

emerge iotop命令安装这个工具。如果Portage警告说你的内核没有运行iotop工具必要的选项(TASKSTATS和TASK_IO_ACCOUNTING),你需要加入下面的选项重新编译内核。

代码 4.10: 为iotop配置内核

General Setup -->
  [*] Export task/process statistics through netlink
  [ ]   Enable per-task delay accounting
  [*]   Enable extended accounting over taskstats
  [*]     Enable per-task storage I/O accounting

用新内核重启后,你就可以从命令行运行iotop工具了。在备份一张DVD时,iotop的显示可能是这样:

代码 4.11: 运行iotop

$ iotop
Total DISK READ: 387.25 K/s | Total DISK WRITE: 221.29 K/s
  PID USER      DISK READ  DISK WRITE   SWAPIN    IO>    COMMAND
 7703 root      387.25 K/s       0 B/s  0.00 %  0.00 % tccat -i /shared/...
  211 root           0 B/s   13.83 K/s  0.00 %  0.00 % [pdflush]
 7672 root           0 B/s  207.46 K/s  0.00 %  0.00 % transcode -H 10 ...

一个不守规矩的用户的输出可能是这样:

代码 4.12: 一个失控的用户

$ iotop
Total DISK READ: 5.21 K/s | Total DISK WRITE: 7.37 M/s
  PID USER      DISK READ  DISK WRITE   SWAPIN    IO>    COMMAND
 7936 user1       5.21 K/s    7.37 M/s  0.00 %  0.00 % dd if /dev/zero of ./bigfile

iotop适合用来观察是什么在大量占用磁盘,这样你就可以在必要时重新分配资源。这个程序有一些命令选项,你可以用iotop --help得到它的功能的简要描述。

使用lsof:老话重提

上一期月报的心得技巧栏目向你展示了如何使用lsof来查找打开的文件和目录。

一位聪明的读者在给GMN的email里展示了lsof的另一个用途:查找在软件包更新后需要重启的进程。

例如,在更新了openssl这样的软件包后,你可能需要重启邮件服务器,web服务器,甚至一些客户端程序。lsof能很有效地指出哪些已打开的文件被删除了,这样你就很容易发现需要重启的进程:

代码 4.13: 利用lsof查找进程

# lsof | grep 'DEL.*lib' | cut -f 1 -d ' ' | sort -u

注意: 有些服务会打开然后删除临时文件或shm文件,所以在正则表达式中加入了“lib”部分。

在进程依赖的函数库包含安全修复的情况下,升级后重启进程尤其重要。

5.  人员变更

总结

Gentoo目前有242位活跃开发人员,当前43人暂时离队。Gentoo成立至今,先后共招募过649位开发者。

离开

下列开发者最近离开Gentoo项目:

  • 本月无

加入

下列开发者最近加入Gentoo项目:

变更

下列开发者最近改变了在Gentoo项目内的职位:

6.  Portage

总结

本章节概述Portage树的当前状态。不巧的是,本月我们无法公布统计信息,因为我们正在更新工具集以使其能同新引入的EAPI-2协同工作。下期我们将恢复统计信息发布,敬请关注!

以下部分列出Portage树中移除或加入的软件包。包移除有多个来源,包括

已经移除:

包: 移除日期: 联系人:
dev-cpp/libwefts 2008年9月02日 Jeremy Olexa
dev-util/bazaar 2008年9月02日 Jeremy Olexa
app-i18n/kon2 2008年9月02日 Jeremy Olexa
sys-fs/trustees 2008年9月02日 Jeremy Olexa
app-portage/herdstat 2008年9月04日 Tiziano Müller
dev-cpp/libherdstat 2008年9月04日 Tiziano Müller
包: 移除日期: 联系人:
dev-lang/caml-light 2008年9月08日 Alexis Ballier
dev-util/tla 2008年9月12日 Jeremy Olexa
app-emacs/xtla 2008年9月12日 Jeremy Olexa
app-admin/systemconfigurator 2008年9月12日 Jeremy Olexa
media-gfx/gimp-freetype 2008年9月12日 Jeremy Olexa
包: 移除日期: 联系人:
games-fps/tremulous-bin 2008年9月16日 Michael Sterrett
games-arcade/sdljump 2008年9月18日 Alfredo Tupone
包: 移除日期: 联系人:
sci-libs/blas-config 2008年9月23日 Sebastien Fabbro
sci-libs/lapack-config 2008年9月23日 Sebastien Fabbro
sci-libs/libscigraphica 2008年9月23日 Sebastien Fabbro
sci-visualization/scigraphica 2008年9月23日 Sebastien Fabbro

已经加入:

包: 加入日期: 联系人:
dev-tcltk/tktray 2008年9月01日 Olivier Crête
app-accessibility/espeakup 2008年9月02日 William Hubbs
sci-physics/pythia 2008年9月02日 Sebastien Fabbro
dev-python/sympy 2008年9月02日 Andrey Grozin
dev-python/rope 2008年9月02日 Rob Cakebread
dev-ml/lwt 2008年9月02日 Alexis Ballier
dev-python/ropeide 2008年9月02日 Rob Cakebread
dev-java/juel 2008年9月03日 Miroslav Šulc
dev-tex/pdftex 2008年9月03日 Alexis Ballier
dev-tex/luatex 2008年9月03日 Alexis Ballier
games-server/etqw-ded 2008年9月03日 Tristan Heaven
app-admin/emacs-updater 2008年9月04日 Ulrich Müller
games-engines/frobtads 2008年9月05日 Michael Sterrett
net-misc/amazonmp3 2008年9月05日 Jim Ramsay
net-misc/ssh-askpass-fullscreen 2008年9月05日 Jeremy Olexa
app-i18n/ibus 2008年9月05日 Matsuu Takuto
app-i18n/ibus-hangul 2008年9月06日 Matsuu Takuto
app-mobilephone/openmoko-dfu-util 2008年9月06日 Mike Frysinger
app-i18n/ibus-pinyin 2008年9月06日 Matsuu Takuto
app-i18n/ibus-anthy 2008年9月06日 Matsuu Takuto
app-i18n/ibus-chewing 2008年9月06日 Matsuu Takuto
app-i18n/ibus-m17n 2008年9月06日 Matsuu Takuto
games-fps/etqw-data 2008年9月06日 Tristan Heaven
games-fps/etqw-bin 2008年9月06日 Tristan Heaven
dev-util/kbuild 2008年9月06日 Markus Ullmann
net-dialup/dgcmodem 2008年9月07日 Denis Dupeyron
sci-biology/glimmer 2008年9月07日 Andrey Kislyuk
app-forensics/lynis 2008年9月07日 Friedrich Oslage
sci-biology/glimmerhmm 2008年9月07日 Andrey Kislyuk
dev-perl/IO-LockedFile 2008年9月07日 Torsten Veller
dev-perl/Authen-Htpasswd 2008年9月07日 Torsten Veller
sci-physics/lhapdf 2008年9月07日 Sebastien Fabbro
sci-physics/hepmc 2008年9月07日 Sebastien Fabbro
包: 加入日期: 联系人:
dev-perl/HTML-RewriteAttributes 2008年9月08日 Torsten Veller
dev-perl/File-ShareDir 2008年9月08日 Torsten Veller
dev-perl/Class-Accessor-Chained 2008年9月08日 Torsten Veller
dev-perl/Text-vFile-asData 2008年9月08日 Torsten Veller
dev-perl/Data-ICal 2008年9月08日 Torsten Veller
x11-misc/ipager 2008年9月09日 Jim Ramsay
dev-texlive/texlive-documentation-slovenian 2008年9月09日 Alexis Ballier
app-admin/eselect-mpost 2008年9月09日 Alexis Ballier
app-admin/eselect-pdftex 2008年9月09日 Alexis Ballier
app-i18n/ibus-table 2008年9月10日 Matsuu Takuto
games-strategy/defcon-demo 2008年9月10日 Michael Sterrett
x11-plugins/pidgin-facebookchat 2008年9月11日 Bernard Cafarelli
media-sound/xwax 2008年9月13日 Joe Sapp
dev-python/gnome-python-desktop-base 2008年9月14日 Arun Raghavan
dev-python/bug-buddy-python 2008年9月14日 Arun Raghavan
dev-python/evolution-python 2008年9月14日 Arun Raghavan
dev-python/gnome-applets-python 2008年9月14日 Arun Raghavan
dev-python/gnome-desktop-python 2008年9月14日 Arun Raghavan
dev-python/gnome-media-python 2008年9月14日 Arun Raghavan
dev-python/gnome-keyring-python 2008年9月14日 Arun Raghavan
dev-python/gtksourceview-python 2008年9月14日 Arun Raghavan
dev-python/libgnomeprint-python 2008年9月14日 Arun Raghavan
dev-python/libgtop-python 2008年9月14日 Arun Raghavan
dev-python/librsvg-python 2008年9月14日 Arun Raghavan
dev-python/libwnck-python 2008年9月14日 Arun Raghavan
dev-python/nautilus-cd-burner-python 2008年9月14日 Arun Raghavan
dev-python/totem-python 2008年9月14日 Arun Raghavan
dev-python/metacity-python 2008年9月14日 Arun Raghavan
x11-misc/sselp 2008年9月14日 Jeroen Roovers
包: 加入日期: 联系人:
app-cdr/recorder 2008年9月15日 Ben de Groot
dev-util/shunit2 2008年9月15日 Donnie Berkholz
games-rpg/drascula 2008年9月16日 Michael Sterrett
media-libs/stk 2008年9月17日 Alexis Ballier
media-sound/lmms 2008年9月17日 Alexis Ballier
dev-python/foolscap 2008年9月17日 Ali Polatel
gnome-extra/gnome-lirc-properties 2008年9月17日 Doug Goldstein
games-arcade/gnujump 2008年9月18日 Alfredo Tupone
dev-embedded/pk2cmd 2008年9月19日 Joseph Jezak
dev-ruby/net-scp 2008年9月20日 Hans de Graaff
dev-ruby/net-ssh-gateway 2008年9月20日 Hans de Graaff
media-gfx/wally 2008年9月21日 Ben de Groot
dev-embedded/arduino 2008年9月21日 Ned Ludd
dev-libs/polylib 2008年9月21日 Mike Frysinger
dev-libs/ppl 2008年9月21日 Mike Frysinger
dev-libs/libxr 2008年9月21日 Luca Barbato
包: 加入日期: 联系人:
app-emacs/nxml-docbook5-schemas 2008年9月22日 Diego Pettenò
app-text/docbook-xsl-ns-stylesheets 2008年9月22日 Diego Pettenò
app-laptop/hdaps-gl 2008年9月22日 Hanno Boeck
net-misc/termpkg 2008年9月23日 Stefan Briesenick
media-sound/ncmpcpp 2008年9月23日 Ben de Groot
media-video/whaawmp 2008年9月24日 Ben de Groot
app-text/xfbib 2008年9月24日 Christoph Mende
xfce-extra/xfce4-modemlights 2008年9月24日 Christoph Mende
media-plugins/gmpc-alarm 2008年9月24日 Christoph Mende
media-plugins/gmpc-extraplaylist 2008年9月24日 Christoph Mende
media-plugins/gmpc-libnotify 2008年9月24日 Christoph Mende
media-plugins/gmpc-lyricwiki 2008年9月24日 Christoph Mende
sci-geosciences/mapnik 2008年9月25日 Steve Arnold
mail-mta/qpsmtpd 2008年9月28日 Markus Ullmann

7.  Bugzilla

统计信息

Gentoo社区使用Bugzilla (bugs.gentoo.org)记录并追踪bugs,通告,建议和其他与开发团队之间的互动信息。下面的图表总结了2008年8月30日至2008年9月29日之间Bugzilla上的动态。


图示 7.1: Bug活动构成

Fig. 1: Bug活动

12369个当前公开的bugs中:12个被标为特别严重106个被标为严重451个被标为较为严重

被修复的bug排行榜

在这段时间内修复最多bug的开发者和团队有:

排名 开发者/团队 Bug数
0 其它 865
1 Gentoo游戏 54
2 Gentoo KDE团队 50
3 孤立软件包的默认受托人 44
4 Gentoo安全 41
5 Gentoo Linux Gnome桌面团队 41
6 Gentoo核心系统软件包团队 34
7 Java团队 32
8 Gentoo非Linux团队 28
9 Gentoo Linux bug牧人 25

图示 7.2: Bug关闭排行榜

Fig. 2: Bug关闭

bug分配排名

在这段时间内被分配得到最多bug的开发者和团队有:

排名 开发者/团队 Bug数
0 其它 628
1 新软件包的默认受托人 78
2 Gentoo Linux Gnome桌面团队 40
3 Gentoo安全 38
4 Gentoo核心系统软件包团队 32
5 Gentoo X包装程序 27
6 Gentoo KDE团队 25
7 Java团队 23
8 Python Gentoo团队 22
9 Gentoo声音团队 20

图示 7.3: Bug分配排行榜

Fig. 3: Bug分配

8.  加入我们

GMN每月内容来源依赖于广大的志愿者和社区成员。如果你对供稿感兴趣,请将稿件发送至gmn-writers@gentoo.org,来稿请用普通文本或GuideXML格式。

注意: 下期GMN投稿截止日期是2008年10月17日

我们恳请所有读者对我们的报道进行反馈。如果您对文章、章节有任何意见和建议,或者对于GMN有任何话要说,不要犹豫,请写信给我们,邮件地址gmn-feedback@gentoo.org

您还可以就本期GMN给出反馈或进行评论,论坛地址

9.  月报订阅

订阅Gentoo月报,请发送空邮件至gentoo-gmn+subscribe@gentoo.org

退订Gentoo月报,请使用您的订阅邮箱发送空邮件至gentoo-gmn+unsubscribe@gentoo.org

10.  其他语言

Gentoo月报有下列语言的版本:



打印

更新于2008年 9月 30日

总结: 这是第九期的Gentoo月报,覆盖时段为2008年8月至9月。

Anant Narayanan
Editor

Joshua Saddler
Editor

Daniel Black
Author

Christian Faulhammer
Author

Kevin Bryan
Author

Andrey Falko
Author

Jon Malachowski
Author

Laurent Duchesne
Author

Sylvain Alain
Author

温安邦
Translator

殷铭
Translator

胡晓可
Translator

徐浩洋
Translator

刘清
Translator

何志通
Translator

张乐
Reviewer

Donate to support our development efforts.

Copyright 2001-2012 Gentoo Foundation, Inc. Questions, Comments? Contact us.