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?
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
# whereis 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"
# make search name="lighttpd"
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