May the source be with you, but remember the KISS principle ;-)
Home Switchboard Unix Administration Red Hat TCP/IP Networks Neoliberalism Toxic Managers
(slightly skeptical) Educational society promoting "Back to basics" movement against IT overcomplexity and  bastardization of classic Unix

Unix system administration bulletin, 2009

2016 2015 2014 2013 2012 2011 2010 2009 2008
2007 2006 2005 2004 2003 2002 2001 2000 1999

Top Visited
Past week
Past month


Old News ;-)

[Jul 21, 2009] FSlint 2.40

Written in Python & Unix Shell

FSlint is a toolkit to find various forms of lint on a filesystem. At the moment it reports duplicate files, bad symbolic links, troublesome file names, empty directories, non stripped executables, temporary... files, duplicate/conflicting (binary) names, and unused ext2 directory blocks

[Jun 10, 2009] System Configuration Collector Server

System Configuration Collector Server generates summaries of scc-data sent by clients. It offers a Web interface that supports searching the snapshots and the logbooks of the systems. It also supports comparing (parts of) the snapshots of systems.

[Jun 10, 2009] wcd 5.0.2

WCD is a directory changer for DOS and Unix. Another NCD (Norton Change Directory) clone. This program jumps to a (sub)directory anywhere in the directory-tree. The directory to jump to can be given by only the first characters or an expression with wildcards

[May 22, 2009] ttyplayer

ttyplayer is an application with a GUI that can play back typescript files recorded by the "script" program and .rcd files record by ttyrecorder.

[May 20, 2009] 100 open source gems - part 1 TuxRadar

Apache SQL Analyser


Running a server generates an awful lot of two things: heat and logs. If you have a lot of the first one, you're in trouble and you need to invest in expensive cooling solutions. If you have a lot of the second one, you need to either get some in big hard drives to store your burgeoning log burden, archive or delete your logs on a regular basis or make like Google and turn the throwaway data into a business model.

The Apache SQL Analyser (ASQL) is designed to read Apache log files and dynamically convert them to SQLite format so you can analyse them in a more meaningful way. Using the cut, uniq and wc commands, you can parse a log file by hand to figure out how many unique visitors came to your site, but using Apache SQL Analyser is much faster and means that the whole log gets parsed only once. Finding unique addresses is as simple as a SELECT DISTINCT command.

If you're not seeing the advantage yet, remember that every time a visitor comes to your website, Apache writes at least one line in its log file. In fact, every time that a visitor downloads any page, image, CSS file, Flash movie or JavaScript code, Apache notes down the IP address, the file that was requested, the date and time, the browser that was used, and even the URL that the visitor came from. That's a huge amount of data to wade through, and ASQL transforms it all into one standards-readable system that's super fast.

Trying it yourself

To get started with ASQL, first make sure you have Perl installed, as well as Perl support for SQLite - that's the database back-end it uses. Second, you'll need to have an Apache log file ready to use. It doesn't need to be too big for now.

If you compiled ASQL from our disc using ./configure then make. You'll find its program in the bin directory. Change into that directory then run the command ./asql to start it up. The next step is to type load /path/to/your/log.txt, then wait a few seconds while ASQL converts it all to SQLite format. Once that's done, type "show" and press Enter to have ASQL list all the data it has retrieved from your log file. Now you can make with the SQL queries - here are some examples:


That one-liner tells you how many requests came to your server. Remember, requests don't equal page views - a request is a page, yes, but it's also an image, a JavaScript file, or whatever. If you want to count how many unique visitors came to your site, then use this:


The source field contains the IP addresses of all your visitors, and the DISTINCT function means "only list each unique IP address once", so this time you'll get a much lower number back. Another common search is to find out where your visitors are coming from. If someone types your URL into their browser or uses a bookmark, the referer field (yes, it really is spelled like that) is set to . Otherwise (if someone clicked a link to your site), the referer is set to be the URL they came from. Try using this query:


This will show you all the ways people got to your pages. But it's imperfect, because sometimes people get to your pages by following links on your own site. You'll see lots of your own results in that list. We can fix that by asking ASQL to ignore links from our own pages, like this:

SELECT DISTINCT referer FROM logs WHERE referer NOT LIKE 'http://www.linuxformat%';

The www.linuxformat part will change, but the important thing is the % symbol at the end. It means "anything can follow here" and will match,,, etc.

Making it permanent

If typing on the command line irks you, you should try using ASQL's save command. Normally ASQL converts your log file into an in-memory database that is tossed away as soon as you quit the program. But when you run the save command, that database gets saved to a file on your hard drive (.asql.db in your home directory by default). Because it's a plain old SQLite database, you can load it into any program and analyse it. If you want to bring the file back into Asql, use the restore command.



Have you ever wanted to look inside something before you actually get it? Maybe a boiled egg that you are not sure is done enough, or a lucky bag at the arcade on the pier. Certainly, many people partaking of lunch in the TuxRadar HQ dining hall would like to take a sneaky peek inside the 'pie of the day' before they put one on their plate. There are, it would seem, plenty of occasions where some sort of X-ray vision would help out a lot, and we have only been thinking about the legal ones.

ArchView is like a special magic set of X-Ray goggles for the internet. Its purpose is to grab the important part of an archive file you have found languishing on some FTP site and let you take a look at the contents, before you wind up downloading a huge archive only to find that the file you really wanted isn't inside anyway. It does this by recognising the type of file and grabbing and decoding the parts of the file that has the contents inside it. So far, the recognised file types are RAR, ZIP and ISO files. The last is probably the most useful, but beware: this is by no means an instantaneous proposition. The ISO index portion can easily take five minutes to download on its own.

ArchView is a Firefox extension, and it will run on Mac and Windows as well, so you don't have to give up on it just because the scumbags you work for make you use a different OS at work. The best way to install is through the Firefox add-on site - just do a search for ArchView on the browser/platform of your choice to get the latest version. When it does, depending on the interface options you have chosen (and we're voting XUL, in case you need someone to choose for you) you'll see a browseable directory listing in which you can do all the sorts of things you usually do.

This is one of those extensions that you might not want to use all the time - sometimes you know you want to grab a file without having to wait ages to get a listing first. In this case, it is easy to switch ArchView on and off via the little icon that appears bottom-right of the Firefox window.

Back in Time


When Apple released OS X 10.5, people across the globe were surprised to find that backing up their data had become very sexy, all thanks to the introduction of Time Machine - Apple's backup and restore application. Up until that point, backing data up was a mundane affair that you had to give a lot of thought to in order to avoid any loss of data. And it didn't hurt that the method used to retrieve backups involved a great big timeline of snapshots stretching back into the distance, with smooth transitions and effects. The basic premise is to make one large initial backup and then incrementally back up the data that has changed. It's a simple concept, and one that Apple has implemented in a fantastic way, demonstrating the company's usual flair for design and usability.

Thankfully, an alternative to Time Machine for Linux users has appeared - Back In Time. One of the great challenges any back up program faces is making the process as simple as possible for new users, and Back In Time manages to do this with a series of drop-down boxes for users to choose the data that's backed up, along with the frequency and the retention period. It will back up to any attached storage, allowing you to use NFS mounts as well as external storage. From then on in, Back In Time just sits in the system tray and quietly gets on with its job, leaving you to worry about your work and not the safety of your data. If no data has changed, it skips the scheduled backup until it recognises that changes have been made to the folders and files that you've chosen to back up. This all happens silently in the background; Back In Time runs a very small process to keep tabs on its schedule.

Getting it back

Of course, no backup solution is complete without a method of restoring files in case of emergency, and Back In Time offers a similar approach to Time Machine, albeit without the whizzy animations. Instead it opts for the more sober approach of listing the dates and times of each backup, allowing you to select a point in time that you wish to restore a file from. You're then given a directory listing on the right-hand side that you can use to navigate and find the file you're looking for, before right-clicking on it and selecting Restore. It's really that simple, and we're sure that it'll save you many headaches if you chose to work with Back In Time.

Under the hood, the program relies on rsync, the saviour of many a system administrator over the years, and makes use of meld to compare the differences between snapshots. We can't complain at the results and think that wrapping commands such as rsync up in a graphical interface is worthwhile, particularly in this case. The biggest limitation is that it works solely in user-mode, only enabling you to back up and restore areas that you have access to as a user. This means that doing a full system backup and restore isn't possible, but that's not the point of this application; it's more suited to home users, ensuring that their collections of documents, music and images are safe from harm.

Development is moving rapidly on Back In Time, and we would definitely recommend you give it a look, especially if you're looking for a backup and restore solution for technophobes.

Color Explorer


Found a nice shade of purple you want to remember for use in your website about the Romans in Britain? Browser plugins can get the match from a web page, but to just grab the colour from any single desktop pixel you need Color Explorer.

Great for those of us who know what we like but don't always know how to get it, Color Explorer enables you to click on any area anywhere on your desktop and grab the colour, giving you its RGB (Red, Green, Blue) value, for reproducing it on any graphics application or web page.

That's not all. Using the sliders you can generate your own mixes, learning as you go. By default, RGB values are given in hexadecimal, but if you prefer base 10 it's just a click away. It works the other way too - feed a decimal or hex value into the app, and see the resulting colour.

If you'd rather look at colour charts, scroll down the left-hand selection box to pick one of a huge selection of named colours. You can even search this selection using simple regular expressions if you'd prefer a geekier approach. And if you still want more, click for a random colour.

Compare and contrast

The palette displays two colours at once, so you can alter a colour gradually, and still have the original for comparison. One interesting feature is to lock the two highlighted colours together, then alter one by moving a slider. This alters the other by the same value, so that you can explore the relation between two colours. Between this and a colour wheel to start you off on good colour matches, you can have hours of fun, whether designing an interface or planning the paint scheme for your office.

Installation is straightforward, thanks to minimal dependencies. Color Explorer needs the Tcl language and Tk toolkit (and the Xoris program to copy colours from the desktop, which is included in the source and compiled in automatically).

As well as moving up to GPL v3, this latest release improves the help and tooltip pop-ups, while retaining the basic simplicity of the interface. It's a simple tool, but one that many may find useful for a variety of purposes.



Accidentally deleted an important file? We've been there, and we feel your pain - but it doesn't happen to us. No, we're not perfect, we just installed DelSafe.

DelSafe moves deleted files to a .Trash folder on your hard drive(s), and a swift undel command brings them back. Put more technically, DelSafe overrides the original unlink, rename, open, and fopen library calls using the Linux LD_PRELOAD mechanism. As a simple renaming process it is blisteringly fast compared with moving files about.

In order to manage this a .Trash file is created at each mount point. As well as using undel, and options to recover older versions from .Trash, you can recover older versions of files directly using a browser that gives you easy batch copying, like Midnight Commander.

To install DelSafe, first run ./ and answer questions on locations and exceptions to DelSafe's protection, then run the Install script, and create the .Trash folders:

delsafe_create -c

Test it is working with

touch asterix.gaul
rm asterix.gaul
undel asterix.gaul

You'll need to periodically compress or empty the trash. Other than that, sit back and relax, or even lend your PC to other family members, safe in the knowledge that your files can't go astray.



These days, it's not unusual to have knowledge of more than one development language, particularly when dealing with the web. But be it PHP, Perl, Ruby or any other language, it's important to be able to quickly generate code in a decent development environment. Staples Vi and Emacs are both powerful, but not everyone is suited to a text-based editor. So it's with pleasure that we introduce Editra: a Python-based GUI code editor with support for a wide range of scripting and programming languages.

As with most other code editors Editra uses a tabbed approach to its code editing area, but it's a remarkably uncluttered space. There's just a smattering of icons in the taskbar and a handful of menus to choose from. Don't let the simplicity put you off, as Editra is designed to be extensible with plugins and there are half a dozen available on its homepage. You can also download the tarball installation file from here, and binary installer packages will be available for Debian and RPM soon.

Generation game

There are a couple of nice touches within Editra, such as the ability to generate HTML and Latex documents, providing you with a common template for each. There's also a keyword palette that provides access to some of the more uncommon keywords, particularly those that change depending on the file type you're working with. Also helpful is the ability to change the code highlighting behaviour, especially if you're migrating to Editra from another authoring program. The program even provides some sample code that you can select and change its formatting styles, allowing you to quickly see how each choice you make changes the way the code is coloured or highlighted. The developers acknowledge that Editra is still in early development, and it's not without flaws, but we'll be keeping an eye on this one going forward.



Eric is an IDE, not half a bee. If you are bashing together a simple Python script, you may be happy enough with banging out a few lines in Vi or even Kate. That's fine, but if you have a more complicated application, maybe with multiple source files and a GUI, then an IDE can really make life a lot easier. Eric, we can say, is simply the finest IDE to use for Python because of all the features it manages to cram in, both as part of the application itself and through plugins to other software such as PyLint.

Last time we looked at Eric it was tied to Qt 3.3. The latest release version now makes use of Qt 4, as well as including a huge range of bugfixes and new features. It may be overkill for a simple script, but if you need access to CVS and Subversion repositories, a class browser, unit-test interface, profiling, multithreaded trace and debugging, you need look no further. Earlier versions suffered a little in the responsiveness of the interface, but this seems to be no longer the case, so you really have no excuse. Do it!

One final point: if Ruby is more your bag than the might of the Python, Eric is still probably the best choice of IDE - it includes a Ruby interactive shell and debugging tools.



Hard drives are enormous these days and are getting bigger and cheaper all the time, so many people adopt a policy of not deleting files just in case they are needed some day - after all, the space is there, so why not use it? Of course, that all falls apart on Linux, where downloading distros and other large files is common, meaning that even a large hard drive will fill up sooner or later.

What FastDup does is try to delay the need for an upgrade by helping you spot duplicate files. And, as you can guess by the name, the app's unique selling point is its incredible speed, and we think you'll agree that it's almost impossible to conceive just how its creator managed to get some much performance into FastDup.

To get started after you've built FastDup, run the command fastdup /home/yourusername (eg /home/hudzilla). On a good computer it should be able to scan your entire directory and detect all the duplicates in under a second, but if you have a particularly large home directory you may have to wait a short while for the scan to complete.

The key to FastDup's speed is that it doesn't try to hash files to do a difference check, which means that even very large files can be whizzed through quickly. In fact, as far as we can tell, the only situation when FastDup is slow is when you have several large, identical files - these all need to be checked byte-by-byte to be sure they are identical, which is quite a resource drain. Still, the end result is that you get a list of identical files and can clean them up, so in the long run it's for the best.

Even if it does take a few minutes during its first run, FastDup will be a lot quicker the next time it searches, because it already knows which files it can ignore. If there are particular file sizes you want it to target, use the c parameter along with + (greater than), - (less than) and = (equal to), and a file size. For example, fastdup c +1g will only check files that are larger than 1GB. That's the perfect search to help you track down any big space wasters that are lurking on your hard drive and slowing down your system.



Most people probably don't have any use for remote desktop connections; most of the time their computers are linked to a monitor, keyboard and mouse, so all they have to do is walk up to them to use them. For sysadmins, however, they are an absolute necessity, offering the ability to remotely connect to and therefore manage a system that is located in a different room, office or even country.

There are a handful of remote desktop clients available for Linux, which can in turn give you access via XDMCP for remote X connections, RDP for remote Windows connections and VNC. However, what sets GRDC apart is its flexibility. Supporting both VNC and RDP, it will work on a netbook or other small-screened computer quite easily even if you're working in full-screen mode. It does this by scrolling the screen around within the confines of the local screen, making it a must-have for any sysadmins who want to use their trusty Asus Eee PC or Acer Aspire One away from their desk.

GRDC enables you to build a list of commonly used remote computers, which you can then group into more meaningful batches such as web servers, file servers or client desktops. Not only that, but when any of the connections are active in full-screen mode, they act as a single application, enabling you to switch to another of your virtual desktops and carry on doing something else while it's running in full-screen mode.

The traditional Alt+Tab combination to switch applications is automatically relayed back to the local computer, letting you quickly switch apps without getting caught up with the remote desktop and any applications that are running on it. This means that your remote desktop experience doesn't get in the way of your being productive on your local machine. There's also a rather useful toolbar that becomes available while you're working in full-screen mode, making your life easier by auto-hiding while you're working and re-appearing when you move your mouse to the top of the screen.


Perl based

Graft provides a mechanism for managing multiple packages under a single directory hierarchy. It was inspired by both Depot (from Carnegie Mellon University) and Stow (by Bob Glickstein). Packages are installed in self-contained directory trees and symbolic links from a common area are made to the package files.

25 Feb 2002 18:51 tycha

Also consider encap

Also don't forget Encap ( which I think is the oldest of them. I can't compare them since it's been a while. But for Linux users, the main difference between these and rpm is that you can keep multiple installs of the same package in at once (you do ls -la filename instead of rpm -f filename to find out which package is which). The main disadvantage is, you have to leave old packages installed or possibly break package dependancies (since other packages may have been built against old libraries). This leads to possibly large /usr/local (or whatever mount point it's in).

It would be interesting if these packages could read the SRPM spec files but build into it's directories (of course, most RPMs can't install into any directory) and did the autodependency checking that rpm is good for.


makeself is a small shell script that generates a self-extractable compressed TAR archive from a directory. The resulting file appears as a shell script, and can be launched as is. The archive will then uncompress itself to a temporary directory and an arbitrary command will be executed (for example, an installation script). This is pretty similar to archives generated with WinZip Self-Extractor in the Windows world.

[Apr 2, 2009] Spacewalk

Spacewalk is a Linux and Solaris systems management solution. It allows you to inventory your systems (hardware and software information), install and update software on your systems, collect and distribute your custom software packages into manageable groups, provision (Kickstart) your systems, manage and deploy configuration files to your systems, monitor your systems, provision virtual guests, and start/stop/configure virtual guests.

[Mar 10, 2009] rdiff-backup

rdiff-backup backs up one directory to another.

The target directory ends up a copy of the source directory, but extra reverse diffs are stored in a special directory so you can still recover files lost some time ago.

The idea is to combine the best features of a mirror and an incremental backup.

rdiff-backup can also operate in a bandwidth-efficient manner over a pipe, like rsync. Thus you can use rdiff-backup and ssh to securely back up to a remote location, and only the differences will be transmitted. It can also handle symlinks, device files, permissions, ownership, etc., so it can be used on the entire file system.

[Mar 10, 2009] Cluster SSH


Cluster SSH opens terminal windows with connections to specified hosts and an administration console. Any text typed into the administration console is replicated to all other connected and active windows. This tool is intended for, but not limited to, cluster administration where the same configuration or commands must be run on each node within the cluster. Performing these commands all at once via this tool ensures all nodes are kept in sync.

See also: Software Distribution



Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers :   Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism  : The Iron Law of Oligarchy : Libertarian Philosophy


War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda  : SE quotes : Language Design and Programming Quotes : Random IT-related quotesSomerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose BierceBernard Shaw : Mark Twain Quotes


Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 :  Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method  : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law


Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds  : Larry Wall  : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOSProgramming Languages History : PL/1 : Simula 67 : C : History of GCC developmentScripting Languages : Perl history   : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history

Classic books:

The Peter Principle : Parkinson Law : 1984 : The Mythical Man-MonthHow to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Haterís Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite

Most popular humor pages:

Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor

The Last but not Least Technology is dominated by two types of people: those who understand what they do not manage and those who manage what they do not understand ~Archibald Putt. Ph.D

Copyright © 1996-2021 by Softpanorama Society. was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) without any remuneration. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.

This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...

You can use PayPal to to buy a cup of coffee for authors of this site


The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the Softpanorama society. We do not warrant the correctness of the information provided or its fitness for any purpose. The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be tracked by Google please disable Javascript for this site. This site is perfectly usable without Javascript.

Last modified: April 22, 2019