FreeBSD's list of available applications is growing all the time. There are a number of ways to find software to install:
The FreeBSD web site maintains an up-to-date searchable list of all the available applications, at http://www.FreeBSD.org/ports/. The ports can be searched by application name or by software category.
Dan Langille maintains FreshPorts which provides a comprehensive search utility and also tracks changes to the applications in the Ports Collection. Registered users can create a customized watch list in order to receive an automated email when their watched ports are updated.
If you do not know the name of the application you want, try using a site like Freecode (http://www.freecode.com/) to find an application, then check back at the FreeBSD site to see if the application has been ported yet.
To find out which category a port is in, type whereis file, where file is the program to be installed:
# whereis lsof lsof: /usr/ports/sysutils/lsof
Alternately, an echo(1) statement can be used:
# echo /usr/ports/*/*lsof* /usr/ports/sysutils/lsof
Note that this will return any matched files downloaded into the /usr/ports/distfiles directory.
Another way to find software is by using the Ports Collection's built-in search mechanism. To use the search feature, cd to /usr/ports then run make search name=program-name where program-name is the name of the software. For example, to search for lsof:
# cd /usr/ports # make search name=lsof Port: lsof-4.56.4 Path: /usr/ports/sysutils/lsof Info: Lists information about open files (similar to fstat(1)) Maint: obrien@FreeBSD.org Index: sysutils B-deps: R-deps:
The “Path:” line indicates where to find the port.
To receive less information, use the quicksearch feature:
# cd /usr/ports # make quicksearch name=lsof Port: lsof-4.87.a,7 Path: /usr/ports/sysutils/lsof Info: Lists information about open files (similar to fstat(1))
For more in-depth searching, use make search key=string or make quicksearch key=string, where string is some text to search for. The text can be comments, descriptions or dependencies in order to find ports which relate to a particular subject when the name of the program is unknown.
When using (search and quicksearch), the search string is case-insensitive. Searching for “LSOF” will yield the same results as searching for “lsof”.