PKG-DELETE(8) FreeBSD System Manager's Manual PKG-DELETE(8)
NAME
pkg delete - deletes packages from the database and the system
SYNOPSIS
pkg delete [-DfnqRy] [-Cgix] [-G exclude-glob] pkg-name ...
pkg delete [-Dnqy] [-G exclude-glob] -a
pkg delete [--{no-scripts,force,dry-run,quiet,recursive,yes,autoremove}]
[--{case-sensitive,glob,case-insensitive,regex}] pkg-name ...
pkg delete [--{no-scripts,dry-run,quiet,yes,autoremove}] --all
DESCRIPTION
pkg delete is used for deleting installed packages from the system. pkg
delete creates a work-list of all the installed packages matching the
package names on the command line. The list is presented to the user.
If the user confirms that they do want to remove those packages, or if
the ASSUME_ALWAYS_YES configuration option is set, pkg delete proceeds to
remove the listed packages.
If the set of packages to be deleted would leave installed packages with
unfulfilled dependencies, pkg delete will add the packages with
unfulfilled dependencies to the list of packages to be deleted, unless
forced to proceed without deleting any other packages by the -f option.
pkg delete avoids deleting itself unless named specifically on the
command line. So, for instance, pkg delete -a will delete all packages
except for the pkg(8) package. To force all packages to be removed
without exception, use pkg delete -fa.
OPTIONS
The following options are supported by pkg delete:
-a, --all Deletes all installed packages except for pkg(8) from the
system and cleans the database of information related to
removed packages.
-C, --case-sensitive
Make the standard or regular expression (-x) matching against
pkg-name case sensitive. This is the default, unless modified
by setting CASE_SENSITIVE_MATCH to false in pkg.conf.
-D, --no-scripts
If a deinstallation script exists for a given package, do not
execute it.
-f, --force
Forces packages to be removed despite leaving unresolved
dependencies.
-G glob, --exclude-glob glob
Exclude packages whose names match the given shell glob
pattern from deletion. This option may be specified multiple
times. It is particularly useful in combination with -a to
delete all packages except those matching the exclusion
pattern(s). In combination with the -a or --all flag, causes
pkg(8) to be removed as well as all other packages.
-g, --glob
Treat the package names as shell glob patterns.
-i, --case-insensitive
Make the standard or regular expression (-x) matching against
pkg-name case insensitive.
-n, --dry-run
Dry run mode. The list of packages to delete is always
printed, but no packages are actually deleted.
-q, --quiet
Force quiet output, except where -n is also used, when pkg
delete will show the list of packages to be deleted.
-R, --recursive
Delete all packages that require the listed packages as well.
-x, --regex
Treat the package names as regular expressions according to
the "modern" or "extended" syntax of re_format(7).
-y, --yes Assume yes when asked for confirmation before package
deletion.
--autoremove
After deleting the requested packages, automatically remove
any orphaned packages that were installed as dependencies and
are no longer required. This is equivalent to running
pkg-autoremove(8) after the deletion. Can also be enabled
permanently via the AUTOREMOVE option in pkg.conf(5).
--script-no-exec
Do not execute the pre-deinstall and post-deinstall scripts
but still log the scripts in the package database for future
reference. Unlike -D, which prevents scripts from both
running and being recorded, --script-no-exec only suppresses
execution.
ENVIRONMENT
The following environment variables affect the execution of pkg delete.
See pkg.conf(5) for further description.
DEFAULT_ALWAYS_YES
ASSUME_ALWAYS_YES
HANDLE_RC_SCRIPTS
PKG_DBDIR
CASE_SENSITIVE_MATCH
FILES
See pkg.conf(5).
EXAMPLES
Delete all packages except those from the FreeBSD base system:
# pkg delete -af -G "FreeBSD-*"
Delete all packages except base and pkg packages:
# pkg delete -af -G "FreeBSD-*" -G "pkg-*"
SEE ALSO
pkg_checksum(3), pkg_create(3), pkg_printf(3), pkg_repo_create(3),
pkg_repos(3), pkg-keywords(5), pkg-lua-script(5), pkg-repository(5),
pkg-script(5), pkg-triggers(5), pkg.conf(5), pkg(8), pkg-add(8),
pkg-alias(8), pkg-annotate(8), pkg-audit(8), pkg-autoremove(8),
pkg-check(8), pkg-checksum(8), pkg-clean(8), pkg-config(8),
pkg-create(8), pkg-fetch(8), pkg-help(8), pkg-info(8), pkg-install(8),
pkg-key(8), pkg-lock(8), pkg-plugins(8), pkg-query(8), pkg-register(8),
pkg-repo(8), pkg-repositories(8), pkg-rquery(8), pkg-rwhich(8),
pkg-search(8), pkg-set(8), pkg-shell(8), pkg-shlib(8), pkg-ssh(8),
pkg-stats(8), pkg-triggers(8), pkg-unregister(8), pkg-update(8),
pkg-updating(8), pkg-upgrade(8), pkg-version(8), pkg-which(8)
FreeBSD 15.1-STABLE-HBSD April 17, 2026 PKG-DELETE(8)