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 https://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.
If finding a particular application becomes challenging, try searching a site like SourceForge.net or GitHub.com then check back at the FreeBSD site to see if the application has been ported.
To search the binary package repository for an application:
#pkg searchgit-subversion-subversion1.9.2java-subversion-1.8.8_2p5-subversion-1.8.8_2py27-hgsubversion-1.6py27-subversion-1.8.8_2ruby-subversion-1.8.8_2subversion-1.8.8_2subversion-book-4515subversion-static-1.8.8_2subversion16-1.6.23_4subversion17-1.7.16_2
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 pkg search with
-o to 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-staticsubversion
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
whereis ,
where filefile is the program to be
installed:
#whereis lsoflsof: /usr/ports/sysutils/lsof
Alternately, an echo(1) statement can be used:
#echo /usr/ports/*/*lsof*/usr/ports/sysutils/lsof
Note that this will also 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=lsofPort: lsof-4.88.d,8 Path: /usr/ports/sysutils/lsof Info: Lists information about open files (similar to fstat(1)) Maint: ler@lerctr.org Index: sysutils B-deps: R-deps:
The built-in search mechanism uses a file
of index information. If a message indicates that the
INDEX is required, run
make fetchindex to download the current
index file. With the INDEX present,
make search will be able to perform the
requested search.
The “Path:” line indicates where to find the port.
To receive less information, use the
quicksearch feature:
#cd /usr/ports#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
stringmake quicksearch
key=, where
stringstring is 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.
When using search or
quicksearch, the search string
is case-insensitive. Searching for “LSOF” will
yield the same results as searching for
“lsof”.
All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.