Modern TeX distributions contain a huge array of support files of various sorts, but sooner or later most people need to find something that's not in their present system (if nothing else, because they've heard that something has been updated).
But how to find the files?
Some sources, such as these FAQ answers, provide links to files: so if you've learnt about a package here, you should be able to retrieve it without too much fuss.
The CTAN sites provide searching facilities. Mostly, these are Web-based, but the ftp site \FTP{dante.ctan.org} still offers an ftp command
quote site index <thing>
which reports the first twenty files on the archive that it can find,
whose names match <thing>
(ignoring the case of any
letters). This is a blunt tool at best, and skill in writing regular
expressions is necessary to get it to give of its best: so a tool for
unix system hackers and their ilk.
The same search, tidied to be much more nearly useful, is to be found
at http://www.dante.de/cgi-bin/ctan-index; the script returns
the same data as does quote site index
, but not truncated and
arranged very neatly as a series of links to directories and
individual files.
The UK CTAN offers a search page that provides a file-name search similar to the Dante machine's (above), and also allows keyword search of the archive catalogue (see below). This is a pretty powerful tool: the results include links to the catalogue "short descriptions", so you can assure yourself that the package you've found is the one you want.
The USA CTAN's search page provides the two search options of the UK site, plus a search form that allows you to use Google to search CTAN.
In fact, Google, and other search engines, can be useful tools. Enter your search keywords, and you may pick up a package that the author hasn't bothered to submit to CTAN. If you're using Google, you can restrict your search to CTAN by entering
site:ctan.org tex-archive <search term(s)>
in Google's "search box". You can also enforce the
restriction using Google's "advanced search" mechanism;
other search engines (presumably) have similar facilities.
Many people avoid the need to go over the network at all, for their
searches, by downloading the file list that Dante's
"quote site index
" command uses. This file, FILES.byname,
presents a unified listing of the archive (omitting directory names and
cross-links). Its companion FILES.last07days is also useful, to
keep an eye on the changes on the archive. Since these files are
updated only once a day, a nightly automatic download (perhaps using
rsync) makes good sense.
This question on the Web: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=findfiles