FreeBSD Install Applications

Posted on in Categories , last updated March 19, 2008

Q. How do I install applications under FreeBSD operating systems?

A. Just like any other open source operating system, FreeBSD comes with a rich set of applications. You need to install all 3rd party apps using:

[]a] Ports collection – For installing packages from source code

[b] Binary packages – For installing pre-built binary packages

FreeBSD Install Application using pkg_add command (binary method)

You need to use pkg_add command for installing software package distributions. If your package file name is foo-1.2.tgz, enter:
# pkg_add foo-1.2.tgz
You can install package using internet i.e. use the remote fetching feature. This will determine the appropriate objformat and release and then fetch and install the package.
# pkg_add -r -v {package-name}
# pkg_add -r -v bash
# pkg_add -r -v mysql-server

Task: View installed packages

Use pkg_info command:
# pkg_info
Sample output:

bash-3.2.25         The GNU Project's Bourne Again SHell
cvsup-without-gui-16.1h_3 General network file distribution system optimized for CVS 
db41-4.1.25_4       The Berkeley DB package, revision 4.1
gettext-0.16.1_3    GNU gettext package
libiconv-1.11_1     A character set conversion library
mysql-client-5.1.22 Multithreaded SQL database (client)
nagios-statd-3.12   Daemon/client to check remote host information for Nagios
net-snmp-5.3.1_7    An extendable SNMP implementation
perl-5.8.8_1        Practical Extraction and Report Language
portupgrade-2.4.3_2,2 FreeBSD ports/packages administration and management tool s
python25-2.5.1_1    An interpreted object-oriented programming language
rsnapshot-1.3.0     Filesystem snapshot utility based on rsync(1)
rsync-2.6.9_2       A network file distribution/synchronization utility
ruby-,1  An object-oriented interpreted scripting language
ruby18-bdb-0.6.2    Ruby interface to Sleepycat's Berkeley DB revision 2 or lat

You can get detailed package information by entering following command:
$ pkg_info {package-name}
# pkg_info rsync-2.6.9_2

Information for rsync-2.6.9_2:

A network file distribution/synchronization utility

Required by:

rsync is a replacement for rcp that has many more features.
rsync uses the "rsync algorithm" which provides a very fast method for
bringing remote files into sync. It does this by sending just the
differences in the files across the link, without requiring that both
sets of files are present at one of the ends of the link beforehand.
This makes rsync a good remote file distribution/synchronization utility
in a dialup PPP/SLIP environment.

Note, requires rsync on the destination machine.

There is a Computer Science Technical Report on the rsync algorithm is
included in the distribution, and is available as


FreeBSD Install Application using ports (source method)

/usr/ports directory has FreBSD ports collection installed. Always update FreeBSD ports collection before installing a new software:
# portsnap fetch
# portsnap update

Before you can install any applications you need to know what you want, and what the application is called. Use wheris command to find out exact location under /usr/ports directory. For example find out bash package location enter:
# whereis bash


To install bash, enter:
# cd /usr/ports/shells/bash
# make install clean

The FreeBSD web site maintains an up-to-date searchable list of all the available applications, at


Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

Leave a Comment