Ports collection

With ports are software package management systems in the world of Unix derivatives, specifically called the BSD operating systems.

A port usually refers to a directory, which contains all the files needed for the installation and the makefile ( "recipe ").

  • 2.2.1 Web Links

History and distribution

The first port Framework was developed by Jordan K. Hubbard in 1994 for FreeBSD. Later, the idea of OpenBSD, NetBSD (under the name pkgsrc ) and Darwin was adopted. Ports were also introduced in the Linux world. Thus, Gentoo, CRUX and Arch Linux ports- like package management system called Portage, pkgutils and Arch Build System.

Technical operation

When installing using the port, the software will (if possible ) is automatically downloaded and installed from the Internet. The port system consists only of information, where to get the software, what adjustments are needed for the system and how the software is to be installed. In addition, all files installed a software package recorded so that the package can be uninstalled. A packet may well depend on several packages, all compiled after downloading, may be configured and then installed. This happens almost automatically, possibly with additional information required by the user.

Ports Makefiles target formats (targets ) for the automatic downloading, unpacking, patching, compiling and installing software packages. Another target is used to generate a binary package.

FreeBSD Ports

On FreeBSD, the so-called ports tree is by default in / usr / ports. The ports tree is composed of directories in which installation instructions, divided into categories, are located. Under / usr / ports / Mk are different makefiles, which are integrated by the individual ports. bsd.port.mk is the main Makefile, it contains the predefined targets, so that the port Makefiles usually only need to set individual variables. Information about installed ports can be found by default in / var / db / pkg.

To the ports is a small ecosystem of tools has formed, which greatly simplify the install ports. It is worth mentioning portsnap, which automatically updates the ports tree, portmaster, a program that is similar to use a Linux package management tool and the installation and update of ports simplified even further than it already is, pkg_cutleaves, find the ports not needed and uninstall can ( such as libraries from which no port installed depends more) or portupgrade, which takes over tasks similar to portmaster. The port tools themselves can be found in the ports tree in the subtree ports- mgmt /.