xref: /freebsd/usr.sbin/pkg/pkg.7 (revision 7660932692271aa5dc1650ad984b99a6fd02f7d8)
15eb90b9aSBryan Drewery.\" Copyright (c) 2013 Bryan Drewery <bdrewery@FreeBSD.org>
25eb90b9aSBryan Drewery.\" All rights reserved.
35eb90b9aSBryan Drewery.\"
45eb90b9aSBryan Drewery.\" Redistribution and use in source and binary forms, with or without
55eb90b9aSBryan Drewery.\" modification, are permitted provided that the following conditions
65eb90b9aSBryan Drewery.\" are met:
75eb90b9aSBryan Drewery.\" 1. Redistributions of source code must retain the above copyright
85eb90b9aSBryan Drewery.\"    notice, this list of conditions and the following disclaimer.
95eb90b9aSBryan Drewery.\" 2. Redistributions in binary form must reproduce the above copyright
105eb90b9aSBryan Drewery.\"    notice, this list of conditions and the following disclaimer in the
115eb90b9aSBryan Drewery.\"    documentation and/or other materials provided with the distribution.
125eb90b9aSBryan Drewery.\"
135eb90b9aSBryan Drewery.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
145eb90b9aSBryan Drewery.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
155eb90b9aSBryan Drewery.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
165eb90b9aSBryan Drewery.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
175eb90b9aSBryan Drewery.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
185eb90b9aSBryan Drewery.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
195eb90b9aSBryan Drewery.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
205eb90b9aSBryan Drewery.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
215eb90b9aSBryan Drewery.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
225eb90b9aSBryan Drewery.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
235eb90b9aSBryan Drewery.\" SUCH DAMAGE.
245eb90b9aSBryan Drewery.\"
255eb90b9aSBryan Drewery.\" $FreeBSD$
265eb90b9aSBryan Drewery.\"
275eb90b9aSBryan Drewery.Dd October 30, 2013
285eb90b9aSBryan Drewery.Dt PKG 7
295eb90b9aSBryan Drewery.Os
305eb90b9aSBryan Drewery.Sh NAME
315eb90b9aSBryan Drewery.Nm pkg
32*76609326SJoel Dahl.Nd a utility for manipulating packages
335eb90b9aSBryan Drewery.Sh SYNOPSIS
345eb90b9aSBryan Drewery.Nm
355eb90b9aSBryan Drewery.Ao Ar command Ac
365eb90b9aSBryan Drewery.Nm
375eb90b9aSBryan Dreweryadd
385eb90b9aSBryan Drewery.Ao Pa pkg.txz Ac
395eb90b9aSBryan Drewery.Nm
405eb90b9aSBryan Drewery.Fl N
415eb90b9aSBryan Drewery.Nm
425eb90b9aSBryan Drewerybootstrap
435eb90b9aSBryan Drewery.Sh DESCRIPTION
445eb90b9aSBryan Drewery.Nm
455eb90b9aSBryan Dreweryis the package management tool.
465eb90b9aSBryan DreweryIt is used to manage local packages installed from
475eb90b9aSBryan Drewery.Xr ports 7
485eb90b9aSBryan Dreweryand install/upgrade packages from remote repositories.
495eb90b9aSBryan Drewery.Pp
505eb90b9aSBryan DreweryTo avoid backwards incompatibility issues, the actual
515eb90b9aSBryan Drewery.Xr pkg 8
525eb90b9aSBryan Drewerytool is not installed in the base system.
535eb90b9aSBryan DreweryThe first time invoked,
545eb90b9aSBryan Drewery.Nm
555eb90b9aSBryan Drewerywill bootstrap the real
565eb90b9aSBryan Drewery.Xr pkg 8
575eb90b9aSBryan Dreweryfrom a remote repository.
58*76609326SJoel Dahl.Bl -tag -width "pkg add <pkg.txz> xxxxxxx"
595eb90b9aSBryan Drewery.It Nm Ao Ar command Ac
605eb90b9aSBryan DreweryIf
615eb90b9aSBryan Drewery.Xr pkg 8
625eb90b9aSBryan Dreweryis not installed yet, it will be fetched, have its signature verified,
635eb90b9aSBryan Dreweryinstalled, and then have the original command forwarded to it.
645eb90b9aSBryan DreweryIf already installed, the command requested will be forwarded to the real
655eb90b9aSBryan Drewery.Xr pkg 8 .
665eb90b9aSBryan Drewery.It Nm Li add Ao Pa pkg.txz Ac
675eb90b9aSBryan DreweryInstall
685eb90b9aSBryan Drewery.Xr pkg 8
695eb90b9aSBryan Dreweryfrom a local package instead of fetching from remote.
705eb90b9aSBryan DreweryIf a
715eb90b9aSBryan Drewery.Pa pkg.txz.sig
725eb90b9aSBryan Dreweryfile exists and
735eb90b9aSBryan Drewerysignature checking is enabled, then the signature will be verified
745eb90b9aSBryan Drewerybefore installing the package.
755eb90b9aSBryan Drewery.It Nm Fl N
765eb90b9aSBryan DreweryDo not bootstrap, just determine if
775eb90b9aSBryan Drewery.Xr pkg 8
785eb90b9aSBryan Dreweryis actually installed or not.
795eb90b9aSBryan DreweryReturns 0 and the number of packages installed
805eb90b9aSBryan Dreweryif it is, otherwise 1.
815eb90b9aSBryan Drewery.It Nm Li bootstrap
825eb90b9aSBryan DreweryAttempt to bootstrap and do not forward anything to
835eb90b9aSBryan Drewery.Xr pkg 8
845eb90b9aSBryan Dreweryafter it is installed.
855eb90b9aSBryan Drewery.El
865eb90b9aSBryan Drewery.Sh CONFIGURATION
875eb90b9aSBryan DreweryConfiguration varies in whether it is in a repository configuration file
885eb90b9aSBryan Dreweryor the global configuration file.
895eb90b9aSBryan Drewery.Pp
905eb90b9aSBryan DreweryRepository configuration can be stored in
915eb90b9aSBryan Drewery.Pa /etc/pkg/FreeBSD.conf
925eb90b9aSBryan Dreweryin the following format:
935eb90b9aSBryan Drewery.Bd -literal -offset indent
945eb90b9aSBryan DreweryFreeBSD: {
955eb90b9aSBryan Drewery  url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest",
965eb90b9aSBryan Drewery  mirror_type: "srv",
975eb90b9aSBryan Drewery  signature_type: "none",
985eb90b9aSBryan Drewery  fingerprints: "/usr/share/keys/pkg",
995eb90b9aSBryan Drewery  enabled: "yes"
1005eb90b9aSBryan Drewery}
1015eb90b9aSBryan Drewery.Ed
1025eb90b9aSBryan Drewery.Bl -tag -width signature_type -compact
1035eb90b9aSBryan Drewery.It url
1045eb90b9aSBryan DreweryRefer to
1055eb90b9aSBryan Drewery.Dv PACKAGESITE
1065eb90b9aSBryan Dreweryin
1075eb90b9aSBryan Drewery.Sx ENVIRONMENT
1085eb90b9aSBryan Drewery.It mirror_type
1095eb90b9aSBryan DreweryRefer to
1105eb90b9aSBryan Drewery.Dv MIRROR_TYPE
1115eb90b9aSBryan Dreweryin
1125eb90b9aSBryan Drewery.Sx ENVIRONMENT
1135eb90b9aSBryan Drewery.It signature_type
1145eb90b9aSBryan DreweryRefer to
1155eb90b9aSBryan Drewery.Dv SIGNATURE_TYPE
1165eb90b9aSBryan Dreweryin
1175eb90b9aSBryan Drewery.Sx ENVIRONMENT
1185eb90b9aSBryan Drewery.It fingerprints
1195eb90b9aSBryan DreweryRefer to
1205eb90b9aSBryan Drewery.Dv FINGERPRINTS
1215eb90b9aSBryan Dreweryin
1225eb90b9aSBryan Drewery.Sx ENVIRONMENT
1235eb90b9aSBryan Drewery.It enabled
1245eb90b9aSBryan DreweryDefines whether this repository should be used or not.
1255eb90b9aSBryan DreweryValid values are
1265eb90b9aSBryan Drewery.Dv yes ,
1275eb90b9aSBryan Drewery.Dv true ,
1285eb90b9aSBryan Drewery.Dv 1 ,
1295eb90b9aSBryan Drewery.Dv no ,
1305eb90b9aSBryan Drewery.Dv false ,
1315eb90b9aSBryan Drewery.Dv 0 .
1325eb90b9aSBryan Drewery.El
1335eb90b9aSBryan Drewery.Pp
1345eb90b9aSBryan DreweryGlobal configuration can be stored in
1355eb90b9aSBryan Drewery.Pa /usr/local/etc/pkg.conf
1365eb90b9aSBryan Dreweryin the following format:
1375eb90b9aSBryan Drewery.Bd -literal -offset indent
1385eb90b9aSBryan DreweryPACKAGESITE: "pkg+http://pkg.freebsd.org/${ABI}/latest",
1395eb90b9aSBryan DreweryMIRROR_TYPE: "srv",
1405eb90b9aSBryan DrewerySIGNATURE_TYPE: "none",
1415eb90b9aSBryan DreweryFINGERPRINTS: "/usr/share/keys/pkg",
1425eb90b9aSBryan DreweryASSUME_ALWAYS_YES: "yes"
1435eb90b9aSBryan Drewery.Ed
144*76609326SJoel Dahl.Pp
1455eb90b9aSBryan DreweryReference
1465eb90b9aSBryan Drewery.Sx ENVIRONMENT
1475eb90b9aSBryan Dreweryfor each variable.
1485eb90b9aSBryan Drewery.Sh ENVIRONMENT
1495eb90b9aSBryan DreweryThe following environment variables can be set to override the settings
1505eb90b9aSBryan Dreweryfrom the
1515eb90b9aSBryan Drewery.Pa pkg.conf
1525eb90b9aSBryan Dreweryfile used.
1535eb90b9aSBryan Drewery.Bl -tag -width "ASSUME_ALWAYS_YES"
1545eb90b9aSBryan Drewery.It Ev MIRROR_TYPE
1555eb90b9aSBryan DreweryThis defines which mirror type should be used.
1565eb90b9aSBryan DreweryValid values are
1575eb90b9aSBryan Drewery.Dv SRV ,
1585eb90b9aSBryan Drewery.Dv HTTP ,
1595eb90b9aSBryan Drewery.Dv NONE .
1605eb90b9aSBryan Drewery.It Ev ABI
1615eb90b9aSBryan DreweryThis defines the ABI for the package to be installed.
1625eb90b9aSBryan DreweryDefault ABI is determined from
1635eb90b9aSBryan Drewery.Pa /bin/sh .
1645eb90b9aSBryan Drewery.It Ev ASSUME_ALWAYS_YES
1655eb90b9aSBryan DreweryIf set, no confirmation will be asked when bootstrapping
1665eb90b9aSBryan Drewery.Xr pkg 8 .
1675eb90b9aSBryan Drewery.It Ev SIGNATURE_TYPE
1685eb90b9aSBryan DreweryIf set to
1695eb90b9aSBryan Drewery.Dv FINGERPRINTS
1705eb90b9aSBryan Drewerythen a signature will be required and validated against known
1715eb90b9aSBryan Drewerycertificate fingerprints when bootstrapping
1725eb90b9aSBryan Drewery.Xr pkg 8 .
1735eb90b9aSBryan Drewery.It Ev FINGERPRINTS
1745eb90b9aSBryan DreweryIf
1755eb90b9aSBryan Drewery.Sy SIGNATURE_TYPE
1765eb90b9aSBryan Dreweryis set to
1775eb90b9aSBryan Drewery.Dv FINGERPRINTS
1785eb90b9aSBryan Drewerythis value should be set to the directory path where known fingerprints are
1795eb90b9aSBryan Drewerylocated.
1805eb90b9aSBryan Drewery.It Ev PACKAGESITE
1815eb90b9aSBryan DreweryThe URL that
1825eb90b9aSBryan Drewery.Xr pkg 8
1835eb90b9aSBryan Dreweryand other packages
1845eb90b9aSBryan Drewerywill be fetched from.
1855eb90b9aSBryan Drewery.El
1865eb90b9aSBryan Drewery.Sh FILES
1875eb90b9aSBryan DreweryConfiguration is read from the files in the listed order.
1885eb90b9aSBryan DreweryThe first enabled repository is the one used for bootstrapping
1895eb90b9aSBryan Drewery.Xr pkg 8 .
1905eb90b9aSBryan Drewery.Bl -tag -width "/usr/local/etc/pkg/repos/*.conf"
1915eb90b9aSBryan Drewery.It Pa /usr/local/etc/pkg.conf
1925eb90b9aSBryan Drewery.It Pa /etc/pkg/FreeBSD.conf
1935eb90b9aSBryan Drewery.El
1945eb90b9aSBryan Drewery.Sh EXAMPLES
1955eb90b9aSBryan DrewerySome examples are listed here.
1965eb90b9aSBryan DreweryThe full list of available commands are available in
1975eb90b9aSBryan Drewery.Xr pkg 8
1985eb90b9aSBryan Dreweryonce it is bootstrapped.
1995eb90b9aSBryan Drewery.Pp
2005eb90b9aSBryan DrewerySearch for a package:
2015eb90b9aSBryan Drewery.Dl $ pkg search perl
2025eb90b9aSBryan Drewery.Pp
2035eb90b9aSBryan DreweryInstall a package:
2045eb90b9aSBryan Drewery.Dl % pkg install perl
2055eb90b9aSBryan Drewery.Pp
2065eb90b9aSBryan DreweryList installed packages:
2075eb90b9aSBryan Drewery.Dl $ pkg info
2085eb90b9aSBryan Drewery.Pp
2095eb90b9aSBryan DreweryUpgrade from remote repository:
2105eb90b9aSBryan Drewery.Dl % pkg upgrade
2115eb90b9aSBryan Drewery.Pp
2125eb90b9aSBryan DreweryList non-automatic packages:
2135eb90b9aSBryan Drewery.Dl $ pkg query -e '%a = 0' %o
2145eb90b9aSBryan Drewery.Pp
2155eb90b9aSBryan DreweryList automatic packages:
2165eb90b9aSBryan Drewery.Dl $ pkg query -e '%a = 1' %o
2175eb90b9aSBryan Drewery.Pp
2185eb90b9aSBryan DreweryDelete an installed package:
2195eb90b9aSBryan Drewery.Dl % pkg delete perl
2205eb90b9aSBryan Drewery.Pp
2215eb90b9aSBryan DreweryRemove unneeded dependencies:
2225eb90b9aSBryan Drewery.Dl % pkg autoremove
2235eb90b9aSBryan Drewery.Pp
2245eb90b9aSBryan DreweryChange a package from automatic to non-automatic, which will prevent
2255eb90b9aSBryan Drewery.Ic autoremove
2265eb90b9aSBryan Dreweryfrom removing it:
2275eb90b9aSBryan Drewery.Dl % pkg set -A 0 perl
2285eb90b9aSBryan Drewery.Pp
2295eb90b9aSBryan DreweryChange a package from non-automatic to automatic, which will make
2305eb90b9aSBryan Drewery.Ic autoremove
2315eb90b9aSBryan Dreweryallow it be removed once nothing depends on it:
2325eb90b9aSBryan Drewery.Dl % pkg set -A 1 perl
2335eb90b9aSBryan Drewery.Pp
2345eb90b9aSBryan DreweryCreate package file from an installed package:
2355eb90b9aSBryan Drewery.Dl % pkg create -o /usr/ports/packages/All perl
2365eb90b9aSBryan Drewery.Pp
2375eb90b9aSBryan DreweryDetermine which package installed a file:
2385eb90b9aSBryan Drewery.Dl $ pkg which /usr/local/bin/perl
2395eb90b9aSBryan Drewery.Pp
2405eb90b9aSBryan DreweryAudit installed packages for security advisories:
2415eb90b9aSBryan Drewery.Dl $ pkg audit
2425eb90b9aSBryan Drewery.Pp
2435eb90b9aSBryan DreweryCheck installed packages for checksum mismatches:
2445eb90b9aSBryan Drewery.Dl # pkg check -s -a
2455eb90b9aSBryan Drewery.Pp
2465eb90b9aSBryan DreweryCheck for missing dependencies:
2475eb90b9aSBryan Drewery.Dl # pkg check -d -a
2485eb90b9aSBryan Drewery.Sh SEE ALSO
249*76609326SJoel Dahl.Xr ports 7 ,
250*76609326SJoel Dahl.Xr pkg 8
2515eb90b9aSBryan Drewery.Sh HISTORY
2525eb90b9aSBryan DreweryThe
2535eb90b9aSBryan Drewery.Nm
2545eb90b9aSBryan Drewerycommand first appeared in
2555eb90b9aSBryan Drewery.Fx 9.1 .
2565eb90b9aSBryan DreweryIt became the default package tool in
2575eb90b9aSBryan Drewery.Fx 10.0 ,
2585eb90b9aSBryan Dreweryreplacing the
2595eb90b9aSBryan Drewerypkg_install suite of tools
2605eb90b9aSBryan Drewery.Xr pkg_add 1 ,
2615eb90b9aSBryan Drewery.Xr pkg_info 1 and
2625eb90b9aSBryan Drewery.Xr pkg_create 1 .
263