How do I install and search FreeBSD ports or a package?

by on March 24, 2007 · 2 comments· LAST UPDATED February 1, 2008

in , ,

Q. I’ve just moved from a Linux server to a new FreeBSD server. I'm confused with FreeBSD ports system. Can you tell me - how do I find a package file (port) and install the same?

A. Under Linux you use rpm / up2date / yum or apt-get command to install a package. Under FreeBSD you can use pkg_add command or ports system.

The FreeBSD Ports Collection is a package management system that provides an easy and consistent way of installing software packages on the FreeBSD. Usually ports is located at /usr/ports directory.

Task: Find out FreeBSD port name or package name

There are 3 different methods available to search a port name. Use any one of the following method only.

#1 : Using whereis command

If you know the exact name of the port, but just need to find out which category it is in, you can use the whereis(1) command. Simply type whereis file, where file is the program you want to install.
# whereis php5
Output:

php5: /usr/ports/lang/php5

# whereis lighttpd
Output:

lighttpd: /usr/ports/www/lighttpd

#2: Using make command

Change directory to /usr/ports
# cd /usr/ports

To search type the command as follows:
# make search name="package-name"
For example search a package called lighttpd or php
# make search name="php"
OR
# make search name="lighttpd"
Output:

Port:   lighttpd-1.4.13_2
Path:   /usr/ports/www/lighttpd
Info:   A secure, fast, compliant, and very flexible Web Server
Maint:  mnag@FreeBSD.org
B-deps: autoconf-2.59_2 libtool-1.5.22_4 m4-1.4.8_1 pcre-7.0_1 perl-5.8.8
R-deps: pcre-7.0_1
WWW:    http://www.lighttpd.net/

#3: Using locate command

You can also use locate command:
# locate php
# locate php | grep php5

Task: Install FreeBSD port

Above output displays port Path - /usr/ports/www/lighttpd. Just change directory to /usr/ports/www/lighttpd
# cd /usr/ports/www/lighttpd
Now install a port:
# make; make install
Clean the source code tree:
# make clean

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 2 comments… read them below or add one }

1 kopla May 22, 2009 at 4:48 am

hey there, nice post

is there any difference between
# make; make install
# make clean
-running these commands or, just

# make install clean

-running this one once?

Reply

2 nixCraft May 22, 2009 at 10:11 am

Last one is less typing and effect (the end result) is same.

Reply

Leave a Comment

Tagged as: , , , , , , , , , ,

Previous Faq:

Next Faq: