iotop: simple top-like I/O monitor

June 14th, 2009 edited by Tincho

Article submitted by Paul Wise. DebADay needs you more than ever! Please submit good articles about software you like!

iotop is a console application for monitoring the I/O usage of processes on your system. It is especially handy for answering the question “Grrr, sloooowness, why is my disk churning so much?”

iotop showing cat writing to diskJust type iotop in your terminal and you will get a regularly updated list of processes and the amount of I/O they are currently using: reads and writesin bytes per second, and percentage of time spent swapping and waiting for I/O.

iotop is related to top and vmstat. In top you see a display of CPU and memory usage but not I/O. The vmstat utility shows it, but its just a stream of one-line reports instead of a dynamic display and doesn’t show the information in a per-process way.

Note that iotop needs the CONFIG_TASK_DELAY_ACCT and CONFIG_TASK_IO_ACCOUNTING options enabled in the kernel; in Debian stock kernels, that’s already the case.

iotop is available in Debian since Lenny and in Ubuntu (universe) since Intrepid.

Posted in Debian, Ubuntu | Comments Off

dmidecode: get hardware information from the bios

May 3rd, 2009 edited by Vicho

Article submitted by Ryan Forsith. Guess what? We still need you to submit good articles about software you like!

dmidecode is a useful tool designed to extract system hardware information directly from the BIOS. This information typically includes system manufacturer, model name, serial number, BIOS version, asset tag as well as a lot of other details of varying level of interest and reliability depending on the manufacturer. The information provided could potentially help in problem solving, like in the case of the screenshot provided; there’s no documentation to be found in regards to the setting of the CPU toggles, but the dmidecode output displays exactly which sequence can be used for each clock speed.

dmidecode screenshot

This information can be invaluable to administrators looking for tweaks, especially in legacy hardware. DMI data may not always be reliable, as the software is intended to report only what the BIOS tells it to.

Three additional tools are packaged with dmidecode which further enhances it’s usefulness:

  • biosdecode prints all BIOS related information it can find.
  • ownership retrieves the “ownership tag” that can be set on Compaq computers.
  • vpddecode prints the “vital product data” information that can be found in almost all IBM computers.

biosdecode screenshot   vpddecode screenshot

dmidecode is available in Debian since Etch and in Ubuntu (universe) since Hardy.

Posted in Debian, Ubuntu | 2 Comments »

goplay: discover interesting packages

April 12th, 2009 edited by Vicho

goplay is a package browser that lets you find interesting packages that you didn’t knew before. It uses DebTags (categories to describe Debian packages) to classify the packages. The package comes with some generic browsers:

screenshot of goplay

  • goplay Browse games.
  • goadmin Browse admin packages.
  • golearn Browse educational packages.
  • gonet Browse networking related packages.
  • gooffice Browse office packages, e.g. word processors, spreadsheets, project manager, finance managers, etc.
  • gosafe Browse security packages.
  • goweb Browse packages related with the web.

gonet looking for firewalls You can refine your search by specifying the type of package you are looking for, that is, the specific role it has. For example, gonet (the browser of networking related packages) has the following types: “Client”, “Configuration”, “Firewall”, “High Availability”, “Load Balancing”, “Routing”, “Scaning”, “Server”, “Service” and “VPN or Tunneling”. The screenshot in the right shows gonet browsing firewall packages. When you click on a package on the left pane, the right pane shows a description of the package and the DebTags (in the example, ferm, a recently featured package in this site). If a screenshot for the package is available, it is also shown.

The first and second field for classification are automatically set to “type” and “interface”, but you can change that using the options --primary and --secondary. For example, you can prune the list of packages based on the purpose of the package using the option --secondary=use. You can find more information about the predefined tags (also known as “facets”) in the Debian Wiki.

goplay is available in Debian Lenny and Ubuntu (since Hardy).

Your turn

Have you found an interesting package with goplay? Share it with the community and send us a good article! We’re running out of them!

Posted in Debian, Ubuntu | 11 Comments »

cdargs: a browser for cd

April 5th, 2009 edited by Vicho

We have run out of articles! Please submit good articles about software you like!

cdargs is a command that enhances the good old cd by adding bookmarks and a browser. Sometimes you need to work on directories that are difficult to reach, even with the help of tab-completion (e.g. /var/www/ When you are in one of such directories, just type ca wwwinc and you’ll add a bookmark of the directory with the name wwwinc. Whenever you want to go back to that directory, no matter which is your current working directory, just type cv wwwinc and you’ll be back there. cdargs has tab-completion too and understands subdirectories of bookmarks. In the previous example, typing cv wwwinc/foo will be equivalent to cd /var/www/

cdargs has a browser. Just type cv and cdargs will bring you a list of your bookmarks. You can use the arrow keys (or h, j, k and l if you are used to vim) to navigate the list. When you have selected your final directory hit enter, and you’ll return to the command line, in that directory. You can add new bookmarks by hitting ‘a’ and you can edit your list of bookmarks with your favorite editor hitting ‘e’. With ‘?’ you get a list of all of the available commands in cdargs.

cdargs browser

The bookmarks of cdargs can be extended to other commands. The distribution of cdargs provides examples for the commands cp and mv, under the aliases cpb and mvb. For example, if you want to copy the file bar to the bookmark in the previous example, a quick cpb bar wwwinc will do the trick.

cdargs needs some aliases in the shell to work correctly. If you use the bash shell, you need to add this to your ~/.bashrc:

if [ -e /usr/share/doc/cdargs/examples/ ]; then
  . /usr/share/doc/cdargs/examples/

The aliases are also available for tcsh, but not for zsh. The author is looking for someone who knows zsh shell scripting to write them.

Other alternatives

  • pushd, popd they are useful, but they are stack based and don’t provide any bookmark functionality.
  • CDPATH You can achieve a similar behavior using the shell variable CDPATH, symbolic links and aliasing cv to cd -P. However, the bookmarks are easier to maintain with cdargs and the browser is a nice way to navigate through the filesystem. Moreover, with CDPATH you can’t extend other commands as cdargs does with cp and mv.


cdargs has been in Debian since at least Sarge and in Ubuntu since at least Dapper.

Posted in Debian, Ubuntu | 9 Comments »

regexxer: search/replace for the masses

March 29th, 2009 edited by Vicho

Article submitted by David A. Thompson. Guess what? We still need you to submit good articles about software you like!

This thing is great! If you manage a set of files (e.g., a code base) and end up needing to perform a search/replace across the files, or some subset thereof, maybe regexxer will end up being counted among your friends.

The regexxer web site summarizes regexxer as “a nifty GUI search/replace tool featuring Perl-style regular expressions”. After using regexxer, I have to agree…

If you have a code base that needs some search/replace time spent on it, regexxer really does seem to be the way to go. Again, the web site sums things up well: “If you need project-wide substitution and you’re tired of hacking sed command lines together, then you should definitely give it a try.”


regexxer main windowThe regexxer GUI is a straightforward, logically organized window with file management on the left and search/replace management on the right. The beauty of the thing is that the author(s?) seem to have added a lot of flexibility to the search/replace process while keeping the user interface relatively simple and clean.

File Management

One can select one or many files from a given folder. Recursion is optional and a pattern (e.g., *.lisp) can be defined to further limit files being acted on. A ‘find’ button then triggers execution of the search and the corresponding files are shown in the window below. Not much more to say…

The Search Replace process

The user interface makes it easy on the noggin with top-to-bottom arrangement of controls which follow the logic of the search replace. The perl-style search regex and the corresponding replacement are entered at the top of the window. Another ‘find’ button triggers the search and the corresponding matches are shown in context in the window below. At this point, I found the regexxer user interface close to ideal. The flexibility available to the user includes:

  • ‘On the fly’ editing of the file.
  • Performing the replace action one-at-a-time or per file or upon all files as a unit.
  • The ability to navigate through the matches (little green arrows at the bottom let the user ‘back up’ or ’skip’ matches as desired).


It’s likely I’m simply unaware of many of the alternatives ‘out there’. Typically, for this type of thing, many turn to sed, a powerful command-line tool. However, sed has a substantial learning curve. In contrast, if one has already mastered perl regex, regexxer requires very little in the way of additional investment of energy. Other command-line tools which provide some of sed’s functionality, such as modifile, rpl, and replace, perhaps have their place but they certainly don’t offer the warm fuzzies of the GUI interface of regexxer.

Emacs, which typically seems to already have an extension for just about any task except cooking breakfast, didn’t seem to shine here. I can’t help but suspect that there’s an emacs tool available for this sort of thing but I haven’t happened across it yet.

Among other GUI tools, several offer similar functionality. For example, the text editor jedit can act in much the same way as regexxer. Unfortunately, jedit relies on java and, thus, things get dicey on planet Debian. Another, more focused tool, kfilereplace, is very straightforward but does not seem to be under active development and has much more limited functionality (e.g., the option to perform replacements ‘one-at-a-time’ is greyed out in the configuration window). Other utilities which seem to be designed to perform this type of task (e.g., modifile or regexsearch) don’t seem to be available for Debian.


Apparently those on planet Debian and planet Ubuntu have Ross Burton and Daniel Holbach to thank for the packaging of this excelent tool.

Posted in Debian, Ubuntu | Comments Off

« Previous Entries Next Entries »