Managing Packages
pkg_info(1) is a utility that lists and describes the various packages installed.
# pkg_info
cvsup-16.1 A general network file distribution system optimized for CV
docbook-1.2 Meta-port for the different versions of the DocBook DTD
...
---------------------------------------------------------------------
You can use the pkg_add(1) utility to install a FreeBSD
software package from a local file or from a server on the network.
Example 5-1. Downloading a Package Manually and Installing
It Locally
# ftp -a ftp2.FreeBSD.org
Connected to ftp2.FreeBSD.org.
220 ftp2.FreeBSD.org FTP server (Version 6.00LS) ready.
331 Guest login ok, send your email address as password.
230-
230- This machine
is in Vienna, VA, USA, hosted by Verio.
230-
Questions? E-mail freebsd@vienna.verio.net.
230-
230-
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd /pub/FreeBSD/ports/packages/sysutils/
250 CWD command successful.
ftp> get lsof-4.56.4.tgz
local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz
200 PORT command successful.
150 Opening BINARY mode data connection for
'lsof-4.56.4.tgz' (92375 bytes).
100% |**************************************************|
92375 00:00 ETA
226 Transfer complete.
92375 bytes received in 5.60 seconds (16.11 KB/s)
ftp> exit
# pkg_add lsof-4.56.4.tgz
If you do not have a source of local packages (such as a
FreeBSD CD-ROM set) then it will probably be easier to use the -r option to
pkg_add(1). This will cause the utility to automatically determine the correct
object format and release and then fetch and install the package from an FTP
site.
# pkg_add -r lsof
The example above would download the correct package and add
it without any further user intervention. If you want to specify an alternative
FreeBSD Packages Mirror, instead of the main distribution site, you have to set
the PACKAGESITE environment variable accordingly, to override the default
settings. pkg_add(1) uses fetch(3) to download the files, which honors 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. pkg_add(1)
will automatically fetch the latest version of the application.
Note: pkg_add(1) will download the latest version of your
application if you are using FreeBSD-CURRENT or FreeBSD-STABLE. If you run a
-RELEASE version, it will grab the version of the package that was built with
your release. It is possible to change this behavior by overriding PACKAGESITE.
For example, if you run a FreeBSD 8.1-RELEASE system, by default pkg_add(1)
will try to fetch packages from
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/. If
you want to force pkg_add(1) to download FreeBSD 8-STABLE packages, set
PACKAGESITE to ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/.
Package files are distributed in .tgz and .tbz formats. You
can find them at ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/, or on the
FreeBSD CD-ROM distribution. Every CD on the FreeBSD 4-CD set (and the
PowerPak, etc.) contains packages in the /packages directory. 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.
-----------------------------------------------------------------------------------------------------------
Deleting a Package
To remove a previously installed software package, use the
pkg_delete(1) utility.
# pkg_delete xchat-1.7.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. It is, however, easy to use pkg_version(1) to find the version of
the installed package. You could instead simply use a wildcard:
# pkg_delete xchat\*
in this case, all packages whose names start with xchat will
be deleted.
------------------------------------------------------------------------------------------
Miscellaneous
All package information is stored within the /var/db/pkg
directory. The installed file list and descriptions of each package can be
found within files in this directory.
0 Comments