They Said It

People don't change their minds. They die, and are replaced by
people with different opinions.

—Arturo Albergati

No man who ever held the office of President would congratulate a
friend on obtaining it.

—John Adams

Success is getting what you want, happiness is wanting what you get.

—Charles Kettering

It is as ridiculous for a nation to say to its citizens,
“You must consume less because we are short of money”, as it would be
for an airline to say, “Our planes are flying, but we cannot take you
because we are short of tickets.”

—Sheldon Emry

diff -u: What's New in Kernel Development

The big kernel lock (BKL) is being removed
from ReiserFS. In fact, so
much work is going into that removal, the Reiser people had to
create a new git tree just to handle it. Frederic
Weisbecker has been
submitting patches from that tree to the main kernel repository. As it
turns out, it's not necessary to do overly much testing of patches
going into the kernel. It's expected that on their way through the
linux-next tree and into the distributions, they'll receive a far
wider range of testing than people could do on their own.

John Hawley has revised the code that produces all the content on the
kernel.org Web site. He'd been hearing a lot of complaints that the -mm
tree and the linux-next tree were not linked from the home page, while
old 2.2 kernels still were being shown. John's changes have eliminated
the links to 2.2 kernels and added a link to the linux-next tree. At
Andrew Morton's urging, the -mm tree was left out, because his ultimate
goal with that tree is to move all of its patches into linux-next and
discontinue maintenance of -mm entirely. This change actually was more
difficult than you might expect, because the code had all previously
been written with a certain development cycle in mind, and that
development cycle no longer existed. To fix the page, John essentially
had to toss all the old code and rewrite it from scratch.

The ARM mailing lists no longer will be
maintained by Russell King.
He got fed up with people complaining about the requirement that no
one could post who was not a member of a given list. One day, he just
turned off all the lists, prompting harsh criticism from folks like
David S. Miller, Alan Cox and Theodore Y.
Tso. Pavel Machek created
equivalent mailing lists on the vger
server, and David Woodhouse set
up his own set of mailing lists on infradead.org. The result was a lot
of confusion, as users didn't know to which mailing lists to post.
Ultimately, it'll all get sorted out, but Russell probably should have
announced a search for a new mailing-list maintainer and had an
orderly transfer of power. He possibly was just too stressed out by
the conflict to do that.

Zachary Amsden made an attempt to write code supporting a userspace
block device. He called it aBUSE,
intending it to take its place next to
FUSE (Filesystem in USErspace) and
CUSE (Character device in
USErspace). But, as Alan Cox pointed out, Zachary's code was a little
too similar to NBD (Network Block Device). So even though aBUSE was a
bit simpler than NBD, Zachary ultimately decided that the benefit
wasn't worth creating something that was just so similar. But, he left
the aBUSE patches in the e-mail archive for people to pick up if they
are interested in it in the future.

Jonathan Cameron is pushing to get
IIO (industrial input/output)
included in the official sources. IIO is a subsystem for controlling
hardware sensors like gyroscopes and light sensors. It looks like Greg
Kroah-Hartman is letting the code go into -staging in the main tree,
but he wants to see a detailed to-do list, explaining all the steps to
get from -staging to the main kernel.

Real Work on Virtual Terminals

Screen is very good at
multiplexing a terminal and running several login sessions over a single
terminal connection. If you are SSHing into a server, screen is your best
choice, allowing you to run multiple applications easily over that one
connection. But, what if you are sitting down at your desktop or laptop? By using
the tools mentioned here, you don't need to limit yourself to using a
single virtual terminal anymore.

By default, most distributions are set up to activate six virtual terminals. This
is done through the /etc/default/console-setup file. The number of virtual
terminals initially activated can be set by editing the following line:

ACTIVE_CONSOLES="/dev/tty[1-6]"

Change the value to the number of virtual terminals you'd like to
have on bootup. Your system may have the /etc/inittab file instead, which
contains a series of commands to initialize those six terminals.

You can switch
between the different virtual terminals with the Alt-F1 to Alt-F6 keys.
Or, you simply can type
chvt N on the command line
to change to the virtual console number N.

You aren't limited to using only the virtual terminals created on
bootup. You can use commands to create, destroy and interact with
virtual terminals on the fly. First, you may need to know which
terminal you are on. The fgconsole command gives you that information by printing out the
number of the current console, and typing
fgconsole --next-available will tell you the next
available console number.

To open a new console, simply type the command open
bash.

You can replace bash with any other command you want to execute on the
newly opened virtual terminal. If you don't give a command to open, a bash
shell is started. By default, your program will run, and the output will be
written on the newly created terminal without actually switching there. If you
want to switch to the new terminal automatically, simply add the command-line
option -s to the open command.

You also may experience the error “Unable to
open /dev/ttyN: Permission denied”, depending on your machine's level of
security. If you get that error, you simply need to run the command with sudo appended
to the front, so you have root privileges. But, then the newly created bash
shell will be run as root. If you want to run the given command as
yourself, use the command-line option -u. This tells open to figure out who
the current user is and to run the command given to open as that user.

You can find out which users are logged in to various virtual terminals by using
the command who. This tells the user names, their virtual
terminal and when they logged in.

You can send a message to other
users with the command write. If they are logged in to more than one virtual
terminal, write defaults to sending the message to the virtual terminal with
the lowest idle time. Or, you can send the message to a particular
virtual terminal by executing write username ttyN.

Everything you write will be mirrored on the remote virtual terminal. When
you are done, press Ctrl-d. If you don't want to receive
messages from other users, you can turn off reception with
mesg n.
Doing so blocks all users (except the superuser) from being able to send
you messages. When you are ready to receive messages again, simply type
mesg y.

If you want to send a message to everyone at once, use the command
wall.

Now, how do you work with your consoles? You can clear output two ways. The
first, with the command clear, simply clears away the currently displayed
output. But, you still can scroll backward and see the previously displayed
output. If you also want to clear that history, use the command
clear_console.

If you want to record what you are doing at the terminal,
use the command script. All of the output printed on your terminal is copied
into a file. The default filename is typescript, but you can change it by
adding a filename to the end of the command. Once you execute the script
command, everything else that is displayed on your terminal also will be copied
out to this file. When you're done, simply press Ctrl-d. You
now have a full transcript of what just appeared on your terminal.

When you are done with your virtual terminals, shut them down by
using the command deallocvt. If you simply execute deallocvt, it will deallocate
all of the unused virtual terminals. If you want to deallocate a particular
virtual terminal, execute deallocate N,
where N is the virtual terminal to deallocate. Now you are ready to
play with the virtual terminals on your desktop.

When Cacti Are Too Prickly

I'm a clock watcher. I'm a tachometer hound. I'm a speedometer
freak. And, as cool as that might seem, more than anything, I love graphs.
One of the problems with setting up good SNMP graphs is that not only do
they require a server on which to run, but also those servers often are difficult
to configure. Programs like Cacti offer incredible features, but for
home use, they're usually not worth the effort to configure.

That's where odmon.com comes in. Odmon offers a free service that
queries your SNMP devices and hosts Cacti graphs for your local devices.
Setup couldn't be easier, and odmon even offers “wizards” to help
configure your home router. Part of the process is opening your firewall
to its servers, but because you need to provide only read access, and you
can limit access to its specific IP address, the security is
tolerable—at least for me on my home system.

To set up your free odmon account, go to www.odmon.com. You can be a
bandwidth watcher like me in no time!

Odmon offers a wide variety of graphs and the ability to
publish them publicly or privately.

Awesome Product, Painful Name

ASUS recently announced what looks to be the nicest, most affordable eBook
reader on the market today. With dual color screens, wireless network
access and even a Webcam, the ASUS eBook reader looks particularly
sexy with its sub-$200 price tag. I just hope it's not another
product in a line of technology with a few too many Es in the name.
The name eee-Book makes me throw up a little. If the price remains that
low and the features that high, however, I might be willing to forgive
a name that has become cliché.

The eee-Book concept photo looks a bit more like a sideways laptop than a book,
but we love the dual touchscreens in full color.

Community Events at LinuxJournal.com

The Linux Journal staff had a pretty great summer this
year. Shawn Powers and I
enjoyed both OSCON and the San Jose weather tremendously. Shawn and Jill
Franklin had a great time at the inaugural LinuxCon in Portland, and you
may have been lucky enough to catch Shawn's keynote at Ohio LinuxFest.
Meanwhile, I cavorted around Paris with the coolest Web people in the world
at DrupalCon Paris. We love going to events and meeting people,
learning something new and maybe having a beer or five. Although we don't
make it to all of them, we have a list of the best conferences and events
in the open-source world listed at www.linuxjournal.com/events. If you
want the heads-up on what's going on and where you should be, make sure you
check that page! We hope to see you there, so be sure to say hi. If
you'd like to know where we'll be in the future, follow us on Twitter or
Identica at twitter.com/linuxjournal or identi.ca/linuxjournal, and get the
inside scoop.

DRM-Free MP3s on Linux, Sweet!

iTunes is touting its DRM-free music as revolutionary and bold. Although I
applaud Apple for offering music that isn't crippled, there still
is the problem of actually purchasing the songs. Sure Windows and Macintosh
users are able to enjoy the “luxury” of buying music from the iTunes
Store, but those of us running Linux can only watch from the sidelines.

Thankfully, Amazon has been selling DRM-free MP3 files for quite some
time in its digital store. The songs are available for download using
a standard Web browser, and because they're MP3 files, they're playable
anywhere. Fortunately, we're even able to buy full albums, thanks
to Amazon offering its download software for Windows, Macintosh
and Linux! Whether you prefer to buy one song at a
time or collect the whole set and buy full albums, Amazon's native
Linux downloader can help you spend money. Now, if only Amazon would remove
the DRM from Kindle books.

Way to go Amazon! A native Linux client for downloading albums.

Non-Linux FOSS

Explore2fs is a filesystem tool for Windows systems. It allows you
to read and explore ext2/ext3 filesystems on your Windows computers.
Explore2fs can come in quite handy when you need a file off an external
USB drive that was created on a Linux system or if your Linux system
has died and you need to move the drive to a Windows system to access it.

Explore2fs is written in Delphi Pascal, and it works on all modern versions
of Windows and a few not-so-modern ones like Windows 95 and Windows 98.
Explore2fs is a read-only tool. It does not allow you to modify
your ext2/ext3 partitions; it allows only viewing and extracting data
from them. For write capabilities, you probably should look at one of
the available Installable File System (IFS) drivers that has ext2/ext3
support or possibly the “new” version of Explore2fs.

The new version of Explore2fs is still in beta, and it has a new name,
Virtual Volumes. It really is only loosely a new version of Explore2fs and more
of a rewrite and a rethink of Explore2fs. As mentioned, it's still
in beta, so be careful using it.

Virtual Volumes aims to support read and write access to ext2/ext3 volumes
as well as some LVM2 volumes. It also provides reading and writing of
RAID volumes and VMware disks. In addition, it supports read and write
access via SFTP and read access to ReiserFS partitions.

The Explore2fs .exe and source can be downloaded from
www.chrysocome.net/explore2fs. The project, like many open-source
projects, can be helped along by donations and by providing feedback
to the author.

Comments

Comment viewing options

I have enjoyed Zack's commentary on Kernel development for years even before Linux Journal. A view of the future for many Linux fans.

In the February 2010 issue, Zack comments that the Linux developers are working hard on eliminating the BKL (Big Kernel Lock).

At the same time I saw an article in the December 2009 issue of IEEE Computer (p52) describing a new tool - Gadara - developed at U Mich and supported by a grant from NSF and an Innovation Research Award from HP.

The Gadara tool seems to offer a lot to folks trying to control concurrency and deadlocking. Perhaps it could be used to help the Linux kernel development.

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.