[an error occurred while processing this directive]

  Linux Letter 26

The Linux Letter for October 13, 2003

Here we go; it’s time for another Linux Letter.  This installment’s topic was inspired by Stu.  Thanks, Stu!

One of the great things about Linux is that because it is distributed under the GPL, a license that makes the operating system “free”, most of the software developed for Linux is distributed under the same license.

That means a couple of things.  Probably the most important to readers of this newsletter, it means that there is a ton of software out there that you don’t have to pay for.  But it also means that there is a huge amount of source code that you, as a programmer, can use in your software, but only if you also release your software under the GPL.  The GPL is a little viral in nature – once you incorporate a piece of GPL’d software into your program, your program must also be released under the GPL.  On the other hand, that also keeps useful (and sometimes useless) programs available to everyone, without the threat of them being withdrawn from being freely available.

So, we have a lot of free software available.  That’s great, but where do you find it?  During the dot com boom, everybody was on the Linux bandwagon and it was hard to not find a major software site without at least some kind of Linux archive (well, except for FreePCTech...)  But today, that’s not the case.  And that might be a good thing.  Instead of searching all over the place to find just the right program, software is a little more concentrated.

The leading archive of Open Source software is at SourceForge.  SourceForge is a combination of project management, software distribution and software support.  The software is organized by topic, allowing you to browse down a list of applications until you arrive at a set of programs that will do what you’re after.  The projects are hosted by SourceForge and most use the site’s bug reporting and support forums to allow you to participate in the development of the program, even if you’re not a programmer.

Freshmeat is another major contender in the Open Source software distribution game.  Freshmeat does not provide actual project hosting, but is a site that allows developers to provide access to their software and summarize its function.  Not all software on Freshmeat is free.  You’ll find commercial software listed there, but even these include some sort of free trial.

Tucows lists software for several different operating systems, including Linux.  Tucows rates much of the software on the site, using their famous “cow” rating system, with five cows representing the cream of the crop.

These three sites provide links to just about every piece of Linux software you can imagine (and probably a lot that you can’t!)  But once you’ve found your killer application, how do you install it?

Installation depends on your Linux distribution.  Your best bet is to look at the documentation that came with your version of Linux.  I use RedHat Linux extensively.  RedHat uses RPM, a format that maintains a database of installed software and can determine what prerequisites a particular piece of software needs to be installed on your system.

RPM packages are usually identified by the file suffix “.rpm”.  If you can download your new software in RPM form, I highly recommend it.  It will allow your system to keep track of what is installed, making for easy updates and removal of the software.

The easy way to install an RPM package is to run the command rpm –Uvh <package.rpm>.  This will either upgrade an existing package or install the package from scratch.  It will also check the RPM database to make sure that any dependencies – programs that your package needs in order to run – are already installed.  If there are any unsatisfied dependencies, RPM will tell you what they are.  If all dependencies are satisfied, RPM will install your software and update the database.

What about those unsatisfied dependencies?  RPM will provide a detailed list of what is missing.  There are a couple of ways to fix the problem.  In most cases, the web site from which you downloaded your software will also list the software dependencies for that program, along with links for downloading.  But if you can’t find some library or program that you need, you can turn to the rpmfind tool.  It will search the RPM Repository at speakeasy.net, a (nearly) complete listing of all RPM packages available anywhere.

Linux isn’t a niche operating system anymore, but it still retains some of the “nicheness” that it had in the beginning.  That means that you can find some of the most wonderfully obscure software packages for doing almost anything that you can possible do with a computer – and usually for free!  The penalty for all of this goodness is that you may have to work a little harder to find just what you’re after.  But armed with this list of web sites and a simple database utility, you’ll find that the work isn’t all that hard after all!

Hot Tip of the Week

Looking for files on your system?  Then "which" and "locate" are your two best friends.  The command "which" will find any file that is in your search path.  Just type which <filename>.  You can use wildcards with which.  Which will return the complete path to any filename that it finds that matches your search criteria.

If the file isn't in your search path, try locate.  By default, locate will search the path that you specify, along with any subdirectories.  It also recognizes wildcards.  Like which, locate will return the complete path to any filename that it finds.  Run locate by typing locate <path>/<filename>.  If you type locate /<filename>, locate will search your entire system, starting from the root directory.

You can find out more about both commands by reading their respective man pages: man which and man locate.

Happy computing!

Drew Dunn


Get your free email account...  TODAY!!!


The Power

[an error occurred while processing this directive]

[an error occurred while processing this directive]