Jun 061999

Ports or Packages?

This article talks about ports versus packages and which might be right for you.

What’s a port?

A port is the source code and the associated makefile for a program.  The port also contains any patches necessary to make the original source code run on FreeBSD.   The program is compiled and installed by the port.

Installing a port can be as easy as saying make install.

For more information on ports, please see The Ports collection of The FreeBSD Handbook.

What’s a package?

A package is the collection of binary files created from a port.  After a port is made, the binaries are collected together into a package, which you can install directly onto your machine with minimal fuss and time.

For most ports, a precompiled package also exists.  This means it’s faster since you don’t have to compile anything.

Which one should I use?

Well, that’s a personal decision.  But the consensus seems to be that ports are better than packages.  I think that’s because the port installation process actually compiles the program on your machine.  This minimizes the chance of any problems arising from differences between your environment and the one in which the package was created.

I use ports because I’ve had better success with them.  I’ve had trouble with getting some packages running whereas most of the ports I’ve installed have been relatively trouble free.