A.1. Finding Packages/Tools

A.1.1. Finding more useful tools

If you are looking to find more tools, the GNU project (GNU's Not Unix) maintains a directory, a website listing categorized links to various free-software tools (which they consider useful) called the GNU Directory.

Also try sites such as Sweet Code which offer mailing lists of useful tools which they find.

You may also try looking at the most highly rated, most active or most downloaded programs at SourceForge and FreshMeat.

A.1.2. Finding a particular tool(s)

Many of the tools listed in this guide are part of a package of tools, such as diffutils which contains the various tools used to find differences between files, such as diff, sdiff, diff3, cmp. Most small tools are bundled together in this fashion. Most major distribution's will offer a search function to help you search the packages by file, you can of course do this via the command-line interface or a GUI.

If you need to search the distribution's available packages via the command-line, the method will vary depending on the distribution you are using, see the subsections below or consult your distribution's documentation (or of course the internet):

A.1.2.1. Mandriva (urpm* commands, rpm based)

To find where a particular file came from use urpmf.

Command syntax:

urpmf file_name

The results are often overwhelming as this particular command will take a string and list every file of every package in it's database that contains the particular keyword (ie. both uninstalled and installed packages). To refine the results you may want to add a pipe to it and send it through grep -w file_name (the -w option will only show you only exact (whole word) matches). How you would do this is shown below:

urpmf file_name | grep -w file_name

For more information on the urpm* commands, please refer to the tip towards the end of this section: Section 20.1.

A.1.2.2. Red Hat (rpm)

To find which package a particular file came from use rpm with the -qf option.

Command syntax:

rpm -qf /path/to/the/file

This will find which package the file came from. You need to use rpm -qf not with a keyword but with the location of the actual file. To find more information on the particular package listed use rpm with the -qi option.

Command syntax:

rpm -qi package_name

Note that the package name is the name of the package without the .arch.rpm (often .i386.rpm) extension on the end.

For more information on the usage of rpm, please refer to this section Section 20.1.

A.1.2.3. Debian (deb)

To find where a particular file came from use dpkg with the -S option.

There are two ways to do this:

dpkg -S file_name

or:

dpkg -S /path/to/file

You may also like to try (if it's installed, it's generally a lot faster than the dpkg search):

dlocate -S file_name

For more information on dpkg and dlocate please refer to the relevant manual pages and online sources of information.

A.1.3. Finding package(s)

Packages can be found via the internet utilizing sites such as:

Also try the author's homepage and large sites such as FreshMeat and SourceForge.