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.org 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.
Package names include the version number and, in the case of ports based on python, the version number of the version of python the package was built with. Some ports also have multiple versions available. In the case of Subversion, there are different versions available, as well as different compile options. In this case, the statically linked version of Subversion. When indicating which package to install, it is best to specify the application by the port origin, which is the path in the ports tree. Repeat the
-oto list the origin of each package:
pkg search -odevel/git-subversion java/java-subversion devel/p5-subversion devel/py-hgsubversion devel/py-subversion devel/ruby-subversion devel/subversion16 devel/subversion17 devel/subversion devel/subversion-book devel/subversion-static
Searching by shell globs, regular expressions, exact match, by description, or any other field in the repository database is also supported by
pkg search. After installing ports-mgmt/pkg or ports-mgmt/pkg-devel, see pkg-search(8) for more details.
If the Ports Collection is already installed, there are several methods to query the local version of the ports tree. To find out which category a port is in, type
fileis the program to be installed:
whereis lsoflsof: /usr/ports/sysutils/lsof
Alternately, an echo(1) statement can be used:
Note that this will also return any matched files downloaded into the
Another way to find software is by using the Ports Collection's built-in search mechanism. To use the search feature, cd to
make search name=program-namewhere
program-nameis the name of the software. For example, to search for
make search name=lsofPort: lsof-4.88.d,8 Path: /usr/ports/sysutils/lsof Info: Lists information about open files (similar to fstat(1)) Maint: firstname.lastname@example.org Index: sysutils B-deps: R-deps:
The built-in search mechanism uses a file of index information. If a message indicates that the
INDEXis required, run
make fetchindexto download the current index file. With the
make searchwill be able to perform the requested search.
The “Path:” line indicates where to find the port.
To receive less information, use the
make quicksearch name=lsofPort: lsof-4.88.d,8 Path: /usr/ports/sysutils/lsof Info: Lists information about open files (similar to fstat(1))
For more in-depth searching, use
make search key=or
make quicksearch key=, where
stringis some text to search for. The text can be in comments, descriptions, or dependencies in order to find ports which relate to a particular subject when the name of the program is unknown.
quicksearch, the search string is case-insensitive. Searching for “LSOF” will yield the same results as searching for “lsof”.