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
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
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
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
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.
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
It will search the RPM Repository at speakeasy.net, a (nearly) complete listing of all RPM
packages available anywhere.
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!
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