Gentoo Monthly Newsletter: 30 September 2008
1.
Introduction
This month in the GMN
Welcome to the September issue of the Gentoo monthly newsletter!
As usual, you can discuss any aspect of this issue of the GMN in the
corresponding
forum thread. We look forward to hearing from you!
2.
Gentoo News
TeTex deprecated
The TeX distribution teTeX has been obsoleted as the author has no time to
maintain it anymore. However, there is a complete distribution on top of it,
that is now the successor: TeXLive. Many Linux distributions have already
adopted it as their standard, and it's now the TeX flavor of choice for Gentoo,
as well.
You are encouraged to emerge --unmerge tetex and then emerge world
to get to an up-to-date system with a modern TeX version. Please read the TeXLive migration guide
for more detailed instructions.
Gentoo's TeX maintainers have also created a poll in the forums
on which TeX distribution you're using. Please vote, and let them know!
Release strategy changes
As you've probably read by now, there are some planned changes in Gentoo's release
strategy. We're looking to do automated weekly builds of the stages and minimal
CDs, with a possible once-a-year or so update to the networkless media
(Installer LiveCDs/DVDs and Universal/Package CDs). Please read the announcement
for more details; there's a lot of work involved to get the process going, and
we need the help!
Trustees Meeting Summary
The Gentoo Trustees held
its monthly meeting on September 14, 2008. The agenda is available here.
Council Meeting Summary
The Gentoo Council held
its monthly meeting on September 11, 2008. The items put up for discussion were:
-
Filling the empty slot: as council member Diego Elio Pettenò
retired from the council for medical reasons, Doug Goldstein has
replaced him. cardoe was the next person from the original voting
rankings.
-
PMS as a draft standard of EAPI 0: the council voted on whether to
approve PMS as a
draft standard of EAPI 0. Result: approved, with acceptance conditional upon
resolution of the requirements
outlined by the council.
The Council met again on September 25, 2008. The items put up for discussion
were:
-
EAPI-2: the new EAPI is
approved. This brings features such as USE dependencies to Portage; for
example, a package can now directly depend on a package built with USE="foo"
without resorting to trickery or "built_with_use || die" hacks.
-
PROPERTIES in cache: Since using PROPERTIES in the cache is related
to the EAPI, this issue should be settled among package manager developers,
and only present it to the council if they cannot agree on a solution. The
PM developers agreed on adding PROPERTIES to the cache as a value that the
package managers can ignore.
-
PROPERTIES=interactive in ebuilds: This is a retroactive,
backwards-compatible EAPI change that council approved. It allows ebuilds to
set a variable stating up-front that they require user interaction, such as
agreeing to a license or inputting information.
Coming Up
-
Bugday:
Looking for a way to help out Gentoo without investing a lot of time? Join
us on October 04 for our monthly bugday, and help us squash some bugs.
-
Council
Meeting: The Gentoo Council meets twice every month to discuss
important technical issues that affect Gentoo as a whole. The next meeting
is scheduled to be held on October 09, and everyone is welcome to
participate - #gentoo-council on irc.freenode.net at 2000UTC.
-
Trustees
Meeting: Scheduled for October 19.
3.
Heard in the Community
Gentoo-Quebec training
The Gentoo-Quebec group has offered its first training session about the Gentoo
distribution on Saturday 13th, 2008. First of a series of 18, this course
enabled 23 participants to familiarize themselves with the Gentoo LiveCD and to
briefly learn about the command line utilities involved when installing Gentoo.
This training session was made possible thanks to the Gentoo-Quebec team as
well as Copernic, which provided a training room
and the network installation for all participants. For more information,
please consult the Internet web site at the following address (in French):
http://gentoo-quebec.org
Figure 3.1: Learning Gentoo in Quebec |
 |
Planet Gentoo
OLPC XO: Daniel Drake works for the One Laptop Per Child project
which release the XO unit some time ago, which ships with a special version of
Linux. But it's
also possible to use
standard desktop distributions.
Surfing the MIPS: Stuart Longland started the compilation some
months ago, but now Firefox
3 on MIPS is there.
Gentoo book revisited: The first German book published about Gentoo has
been reworked
by its author Tobias Scherbaum.
RAID tips: Robin H. Johnson has a little howto about having
missing slots in a RAID and then move in the real disks later.
Not dead: Steve Dibb and Ben de Groot address a few things about Gentoo.
Beautifying Xfce: Joshua Saddler has some tips
and screenshots
on creating a beautiful, yet practical Xfce environment using small, lightweight
applications.
Gentoo in the News
Gentoo gaming servers spotted: Internode has relaunched its Games On
Net service. The good-sized network runs (at least in
part) on Gentoo Linux.
4.
Tips and Tricks
Running commands on many machines
If you have been logging into your horde of Gentoo boxes one by one in order to
run a command or two, this tip should help you save a lot of time. We provide a
glimpse into some of the methods you can use to run commands on multiple
machines both sequentially and in parellel.
The first method is the most primitive. It uses pure bash. Let's say we
have ten machines with the hostnames gentoo-box-1, gentoo-box-2,
and so on. We want to run emerge --info on each machine at the same
time. Here is what we do:
Code Listing 4.1: Running emerge on multiple machines |
$ for i in `seq 10`; do ssh gentoo-box-$i "emerge --info"; done
|
Warning:
Do not try run interactive commands in parallel with this "for" loop. This
includes running it without public key encryption. The machines will prompt you
for passwords, but you will be unable to input your passwords.
|
If you don't have public key encryption setup for ssh, you should read
the OpenSSH Key
Management series of articles. You may also want to consult this guide.
If you don't want to hassle with public key encryption, writing complicated
"for" loops in bash, and want to run interactive commands, there is a good
option for you: Cluster SSH. Let's install it:
Code Listing 4.2: Installing Cluster SSH |
# emerge clusterssh
|
Cluster SSH requires X11 in order to work. Cluster SSH works by opening an xterm
window for every machine in the list you provide. It also opens a small command
window where you can type text that gets relayed to other machines' command
lines at the same time. To do the same thing we did before with the ten Gentoo
boxes, we do the following Cluster SSH:
Code Listing 4.3: Starting Cluster SSH |
$ cssh gentoo-box-{1,2,3,4,5,6,7,8,9}
|
First, you will see the machines ask for passwords unless you have public key
encryption set up for them. If one of your machines has a different password, no
worries, you can just click on the window of the machine and type it there. Once
you see yourself logged into all of the machines, you can type commands to all
of them at once or individually.
Another alternative is to use Tentakel. Tentakel is used in a more static way.
Users modify a static configuration file, and then tell Tentakel which group of
hosts it should connect to. First, we need to install Tentakel:
Code Listing 4.4: Installing Tentakel |
# emerge tentakel
|
Next, we create a configuration file:
Code Listing 4.5: Configuring 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
|
It might be more practical to simply edit the sample configuration file shipped
with Tentakel:
Code Listing 4.6: Editing the sample configuration file |
# cp /usr/share/doc/tentakel/tentakel.conf.example /etc/tentakel.conf
# nano -w /etc/tentakel.conf
|
Once you have everything configured, it's time to run Tentakel:
Code Listing 4.7: Running Tentakel |
$ tentakel -g ten_gentoos
|
This will launch Tentakel's interactive command interface. In order to run a
command use the provided exec function:
Code Listing 4.8: Running commands within Tentakel |
$ exec emerge --info
|
If you are lost in Tentakel's command interface, just run help. You can
run Tentakel without the interactive command interface like this:
Code Listing 4.9: Running Tentakel without the interactive interface |
$ tentakel -g ten_gentoos "emerge --info"
|
These tips only brush the surface of the programs available to distribute
commands to machines. If you're unhappy with Cluster SSH and Tentakel, you may
want to try out dsh, pdsh, pconsole, and shmux.
Iotop
When a process is slowing down a computer that has plenty of extra memory and
disk space, it is probably because of cpu usage or input/output (I/O). Most
Gentooers are used to using top to locate those pesky CPU and memory
hogs, but few have ever used iotop to find the disk usage hogs.
iotop displays columns for the I/O bandwidth read and written by each
process/thread during the sampling period. It also displays the percentage of
time the thread/process spent while swapping in and while waiting on I/O. In
addition the total I/O bandwidth read and written during the sampling period is
displayed at the top of the interface.
Install it with emerge iotop. If Portage warned you that you don't have
the necessary kernel options (TASKSTATS and TASK_IO_ACCOUNTING) to run the tool,
then you will need to recompile your kernel with the options shown below.
Code Listing 4.10: Configuring the kernel for 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
|
Once you've booted into your reconfigured kernel, you can run iotop from
the commandline. Here's what it might look like if you were backing up a DVD:
Code Listing 4.11: Running 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 ...
|
A misbehaving user might have the following output:
Code Listing 4.12: A runaway user |
$ 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 is a good way to see what's eating your disks, so that you
can reallocate resources when needed. The program has a few options available,
so run iotop --help to get a summary of its capabilities.
Using lsof: revisited
Last month's edition of
Tips and Tricks showed you how to use lsof to find open files and
directories.
An astute reader emailed the GMN to show another use of lsof: to check
for processes that should be restarted after package updates.
For example, after upgrading a package like openssl, you might need to
restart a mail server, a web server, or even several client applications.
lsof is kind enough to point out the open files that have been deleted,
so you can easily spot these processes:
Code Listing 4.13: Finding processes with lsof |
# lsof | grep 'DEL.*lib' | cut -f 1 -d ' ' | sort -u
|
Note:
Some services open and then delete temporary files or shm files, so
that's why 'lib' is part of the regex.
|
Restarting processes after an upgrade is especially important when the library
includes a security fix.
5.
Gentoo developer moves
Summary
Gentoo is made up of 242 active developers, of which 43 are currently away.
Gentoo has recruited a total of 649 developers since its inception.
Moves
The following developers recently left the Gentoo project:
Adds
The following developers recently joined the Gentoo project:
Changes
The following developers recently changed roles within the Gentoo project:
6.
Portage
Summary
This section summarizes the current state of the Portage tree.
Unfortunately, we will not be able to publish statistics this month,
as we update our tools to work with the newly introduced EAPI-2.
We should be able to resume next issue though, stay tuned!
The following section lists packages that have either been moved or added to the
tree. The package removals come from many locations, including the Treecleaners and various developers.
Removals:
Additions:
7.
Bugzilla
Statistics
The Gentoo community uses Bugzilla
(bugs.gentoo.org) to record
and track bugs, notifications, suggestions and other interactions
with the development team. The following chart summarizes activity on
Bugzilla between 30 August 2008 and 29 September 2008.
Figure 7.1: Bug activity split-up |
 |
Of the 12369 currently open bugs: 12 are labeled blocker,
106 are labeled critical, and 451 are labeled major.
Closed bug ranking
The developers and teams who have closed the most bugs during this period are as follows.
| Rank |
Developer/Team |
Bug Count |
| 0 |
Others |
865 |
| 1 |
Gentoo Games |
54 |
| 2 |
Gentoo KDE team |
50 |
| 3 |
Default Assignee for Orphaned Packages |
44 |
| 4 |
Gentoo Security |
41 |
| 5 |
Gentoo Linux Gnome Desktop Team |
41 |
| 6 |
Gentoo's Team for Core System packages |
34 |
| 7 |
Java team |
32 |
| 8 |
Gentoo non-Linux Team |
28 |
| 9 |
Gentoo Linux bug wranglers |
25 |
Figure 7.2: Bug closed rankings |
 |
Assigned bug ranking
The developers and teams who have been assigned the most bugs during this period are as follows.
| Rank |
Developer/Team |
Bug Count |
| 0 |
Others |
628 |
| 1 |
Default Assignee for New Packages |
78 |
| 2 |
Gentoo Linux Gnome Desktop Team |
40 |
| 3 |
Gentoo Security |
38 |
| 4 |
Gentoo's Team for Core System packages |
32 |
| 5 |
Gentoo X packagers |
27 |
| 6 |
Gentoo KDE team |
25 |
| 7 |
Java team |
23 |
| 8 |
Python Gentoo Team |
22 |
| 9 |
Gentoo Sound Team |
20 |
Figure 7.3: Bugs assigned rankings |
 |
8.
Getting Involved
The GMN relies on volunteers and members of the community for content every
month. If you are interested in writing for the GMN, do write in to
gmn-writers@gentoo.org with your articles in plaintext or GuideXML
format.
Note:
The deadline for articles to be published in the next issue is
October 17, 2008.
|
We solicit feedback from all our readers on the newsletter. If you have any
ideas for articles, sections, or have anything to say about the GMN, don't
hesitate to email us at gmn-feedback@gentoo.org.
You can also give us your feedback and comment on this particular issue of the
GMN on the forum
thread.
9.
GMN subscription information
To subscribe to the Gentoo Monthly Newsletter, send a blank e-mail to
gentoo-gmn+subscribe@gentoo.org.
To unsubscribe to the Gentoo Monthly Newsletter, send a blank e-mail to
gentoo-gmn+unsubscribe@gentoo.org from the e-mail address you are
subscribed under.
10.
Other languages
The Gentoo Monthly Newsletter is available in the following languages:
|