Ports tree

From FreeBSDwiki
Revision as of 16:02, 9 July 2005 by Smortex (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The port tree is commonly located in "/usr/ports/". It is composed of a "two level" directory structure containg a few files. Each application has it own directory, for example, vim is located in "/editors/vim" from the root of the port directory, so commonly, "/usr/ports/editors/vim" from the root of the system.

Each directory contains a few files:

  • Makefile: Used for compiling ports.
  • distinfo: Contains informations on the files needed to install (To check their integrity).
  • pkg-descr: This file tell what is the port.
  • pkg-plist: This file lists the binaries installed by the port.
  • An optionnal files folder: Patches applied on the source before compilation.

Installing an application is quite simple. Just go to the application folder and type

# make install clean

But if you are lazy, you can also use pkg_install :

# pkg_install vim

What other commands are supported ?

  • make without argument will download the source files of the port and its dependancies, extract them, patch them, and compile them.
  • make fetch only fetch the distfiles (the port sources)
  • make patch only patch the source files
  • make install install all the compiled files
  • make clean remove the compiled files (but not the installed files)
  • make deinstall remove a port... do *NOT* use this directly (see below).


You have nothing to do while installing: dependencies are automaticaly installed. But this is *NOT* done while uninstalling (uninstalling a port will not deinstall the other that need it), so you shall not deinstall port directly in the port tree. Instead, use pkg_deinstall.

Looking for ports

You can browse the port tree randomly to find many interesting ports, but you can also search ports using keywords :

# cd /usr/ports ; make search key=MyKeyword

It you want to search a port by name, use this :

# cd /usr/ports ; make search name=PortName
Personal tools