Using pkgsrc Package Management
|Using pkgsrc Package Management|
Installing a Package
Use pkg_add(1) to install binary package from a local file or from a server on the network.
If you do not have a source of local packages, such as a FreeBSD CD-ROM set, include -r with pkg_add(1). This automatically determines the correct object format and release, and then fetches and installs the package from an FTP site without any further user intervention.
pkg_add -r lsof
To specify an alternative FreeBSD FTP mirror, specify the mirror in the PACKAGESITE environment variable. pkg_add(1) uses fetch(3) to download files, which uses various environment variables, including FTP_PASSIVE_MODE, FTP_PROXY, and FTP_PASSWORD. You may need to set one or more of these if you are behind a firewall, or need to use an FTP/HTTP proxy. See fetch(3) for the complete list. Note that in the example above lsof is used instead of lsof-4.56.4. When the remote fetching feature is used, the version number of the package must be removed.
Package files are distributed in .tgz and .tbz formats. Packages are available from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/, or the /packages directory of the FreeBSD DVD distribution. The layout of the packages is similar to that of the /usr/ports tree. Each category has its own directory, and every package can be found within the All directory.
pkg_info(1) can be used to list and describe installed packages:
colordiff-1.0.13 A tool to colorize diff output docbook-1.2 Meta-port for the different versions of the DocBook DTD ...
pkg_version(1) summarizes the versions of all installed packages and compares the package version to the current version found in the ports tree:
colordiff = docbook = ...
The symbols in the second column indicate the relative age of the installed version and the version available in the local ports tree.
|=||The version of the installed package matches the one found in the local ports tree.|
|<||The installed version is older than the one available in the local ports tree.|
|>||The installed version is newer than the one found in the local ports tree, meaning that the local ports tree is probably out of date.|
|?||The installed package cannot be found in the ports index. This can happen when an installed port is removed from the Ports Collection or is renamed.|
|*||There are multiple versions of the package.|
|!||The installed package exists in the index but for some reason, pkg_version was unable to compare the version number of the installed package with the corresponding entry in the index.|
Deleting a Package
To remove a previously installed software package, use pkg_delete(1):
Note that pkg_delete(1) requires the full package name and number; the above command would not work if xchat was given instead of xchat-1.7.1. Use pkg_version(1) to find the version of the installed package, or use a wildcard:
In this case, all packages whose names start with xchat will be deleted.
All package information, including the file list and descriptions of each installed package is stored within the /var/db/pkg directory.