NAME¶
cupt - console package management tool
DESCRIPTION¶
Cupt is a high-level package manager for Debian and Debian-based systems.
You might want to read
cupt_tutorial(7) (or its HTML version at
/usr/share/doc/cupt/tutorial.html) before.
SYNOPSIS¶
cupt [
option... ]
action [ {
parameter |
option }
... ]
ACTIONS¶
Query actions¶
- version,-v,--version
- prints versions of packages 'cupt' and 'libcupt-perl'
- help,-h,--help
- prints the short help for available actions
- config-dump
- prints all configuration variables to standard output
Example:
"cupt config-dump"
- show
- prints version info of specified binary packages
This subcommand receives list of "Binary package version
expression"'s, see below.
Specific options:
- --all-versions,-a
- print all versions of the package, not selected one
Corresponding configuration variable: apt::cache::allversions
- --no-all-versions
- don't print all versions of the package, use only selected
one
Corresponding configuration variable: apt::cache::allversions
- --with-release-info
- also print information about release info where the version
of the package live
Examples:
"cupt show qmmp"
"cupt show --all-versions qmmp debianutils"
"cupt show --with-release-info audacious/testing apt
debianutils=2.3.38"
- showsrc
- The same as show, only for source packages.
Examples:
"cupt showsrc --all-versions qmmp"
"cupt showsrc --with-release-info audacious/testing apt"
"cupt showsrc libxine1"
- search
- searches for packages that contains some string within
package names and package descriptions
This subcommand receives a list a Perl-compatible Regular Expressions (PCRE)
to search. Only those packages will be printed that contain all of
specified patterns.
Specific options:
- --case-sensitive
- search case-sensitively
- --names-only,-n
- search only in package names
Corresponding configuration variable: apt::cache::namesonly
Examples:
"cupt search nvidia driver"
"cupt search --case-sensitive Vim"
"cupt search -n vim"
"cupt search "package manager""
- showauto
- prints list of automatically/manually installed packages,
one package name per line
"cupt showauto": prints list of automatically installed packages
"cupt showauto --invert": prints list of manually installed
packages
- depends
- prints dependency relation expressions for given version of
package
By default prints 'Pre-Depends', 'Depends' and 'Recommends' for the version.
This subcommand receives list of "Binary package version
expression"'s, see below.
Specific options:
- --with-suggests
- take also 'Suggests' dependencies into account
- --recurse
- process the dependencies recursively
Corresponding configuration variable: apt::cache::recursedepends
- --all-versions,-a
- when --recurse is specified, pick up all versions for the
relation expression, not the "best" one
Corresponding configuration variable: apt::cache::allversions
Examples:
"cupt depends nlkt perl/stable"
"cupt depends --important xserver-xorg-core"
"cupt depends --recurse xmlto"
- rdepends
- same as depends, but prints reverse relations instead of
forward ones
- why
- prints one of available dependency paths between
package(s)/system and the package.
This subcommand receives a list of binary package expressions (which can be
empty), then one binary package expression without wildcards.
If the list of binary package expressions is empty (i.e. subcommand received
only one argument), then the list is build of manually installed packages
in the system.
If no dependency paths found, prints nothing.
Uses configuration variables cupt::resolver::keep-recommends and
cupt::resolver::keep-suggests to determine whether to honor Recommends and
Suggests respectively when building dependency paths.
Examples:
"cupt why kmail libgnutls26"
"cupt why libgnutls26"
"cupt why icedove kmail libgnutls26"
- policy
- Given arguments, prints available versions with pins and
release info for each binary package
Arguments: list of binary package names.
Given no arguments, prints available Release info for binary packages.
Specific options:
- --show-dates
- Show also publish and expiration dates for each record.
Works only for a second form (i.e. no arguments).
Examples:
"cupt policy"
"cupt policy --show-dates"
"cupt policy dpkg"
"cupt policy libpqxx-2.6.9ldbl libpqxx-3.0"
- policysrc
- Given arguments, prints available versions with pins and
release info for each source package.
Arguments: list of source package names.
Given no arguments, prints available Release info for source packages.
Same specific options as for "policy" subcommand.
Examples:
"cupt policysrc"
"cupt policysrc --show-dates"
"cupt policysrc dpkg"
"cupt policysrc libpqxx libpqxx3"
- pkgnames
- prints package names that start with a supplied suffix
If no suffix is given, prints all package names
Examples:
"cupt pkgnames"
"cupt pkgnames liba"
- changelog
- displays changelog for given versions of packages
This subcommand receives list of "Binary package version
expression"'s, see below.
Works only with installed packages and official Debian and Ubuntu
repositories.
Examples:
"cupt changelog dpkg/installed"
"cupt changelog --installed-only dpkg nlkt lintian"
"cupt changelog libqtcore4"
- copyright
- displays copyright for given versions of packages
This subcommand receives list of "Binary package version
expression"'s, see below.
Works only with installed packages and official Debian and Ubuntu
repositories.
Examples:
"cupt copyright dpkg/installed"
"cupt copyright --installed-only dpkg nlkt lintian"
"cupt copyright libqtcore4"
- screenshots
- open a browser window/tab with screenshots of given
packages.
This subcommand receives list of package names.
Example:
"cupt screenshots arora"
- snapshot list
- list names of the available system snapshots, one per line
This subcommand receives no arguments.
Example: "cupt snapshot list"
- tar-metadata
- This subcommand is experimental. Its name and functionality
are unstable.
Packs all cupt configuration files and repository metadata to a tar stream
and outputs it to standard output.
Example: "cupt tar-metadata | xz --verbose -c >
cupt-metadata.tar.xz"
query-specific options
- --important,-i
- don't take 'Recommends' dependencies into account
Corresponding configuration variable: apt::cache::important
- --installed-only
- work only with installed versions of packages; valuable
only for "show", "depends", "rdepends",
"search", "pkgnames", "changelog"
actions
Management actions¶
- update
- updates package indexes
This subcommand receives no arguments.
Example:
"cupt update"
- install
- installs, upgrades or downgrades specified packages
This subcommand receives list of "Binary package version
expression"'s, see below.
If some version of package was already installed, this command will
upgrade/downgrade it; otherwise, the package will be freshly installed.
Examples:
"cupt install nlkt"
"cupt install devscripts xserver-xorg/experimental
xfce4-mixer=4.6.0-2"
- remove
- removes specified packages
This subcommand receives the list of package names.
Examples:
"cupt remove nlkt"
"cupt remove devscripts kde4-minimal"
- purge
- removes specified packages along with their configuration
files. Also this command can purge the configuration files when the
packages are removed already.
This subcommand receives the list of package names.
Examples:
"cupt purge nlkt"
"cupt purge devscripts kde4-minimal"
See also the configuration option cupt::worker::purge.
- full-upgrade
- performs as more upgrades of the installed packages as
possible, the recommended way to do upgrades
This subcommand is usually invoked without any further parameters:
"cupt full-upgrade"
List of "Binary package version expression"'s can be however
specified as additional parameters.
Example: the command "cupt full-upgrade xserver-xorg/installed"
will try to upgrade your system, however preserving package 'xserver-xorg'
to be sticked with currently installed version.
- safe-upgrade
- the same as "full-upgrade", but with the change
that problem resolver won't try to remove non-automatically installed
packages in order to upgrade more packages, equivalent of 'full-upgrade
--no-remove'.
- dist-upgrade
- the same as "full-upgrade", but firstly upgrades
the package management tools, then upgrades the whole system.
Recommended over "full-upgrade" for major upgrades.
This subcommand cannot be run under the Cupt shell.
- reinstall
- reinstalls specified binary packages
This subcommand receives list of binary package names.
Examples:
"cupt reinstall libc6"
- iii
- ""install" if installed"
Same as "install", but silently ignores packages which are not
installed.
Examples:
"cupt iii gnash"
"cupt iii xserver* *cupt*"
- markauto
- marks specified packages as automatically installed
This subcommand receives the list of package names.
Examples:
"cupt markauto libstreamanalyzer0"
"cupt markauto lsof gimp-data"
- unmarkauto
- marks specified packages as manually installed
This subcommand receives the list of package names.
Examples:
"cupt unmarkauto kpogre"
"cupt unmarkauto dpkg-dev"
- satisfy
- performs all needed operations to satisfy list of specified
relations
This subcommand receives the list of relations or relation lines. Relation
and relation lines has the same syntax as defined in Debian Policy
§7.1.
The minus sign can be appended to some of relation expression lines to make
relation expressions unsatisfied instead.
Examples:
"cupt satisfy "kmail (>= 4:4.2), wget (>=
1.10.0)""
"cupt satisfy "gettext (= 0.17-7)"
"mail-transport-agent-""
- build-dep
- performs all needed operations to satisfy list of
build-dependencies of specified source packages
This subcommand receives the list of "Source package version
expression"'s.
Examples:
"cupt build-dep qt4-x11"
"cupt build-dep unetbootin/unstable libcdio/experimental"
- source
- fetches Debian source files needed to build a Debian binary
package
This subcommand receives the list of "Source package version
expression"'s.
Parameters:
- --tar-only
- download only original tarball
- --diff-only
- download only Debian diff
- --dsc-only
- download only Debian dsc
- --download-only
- don't unpack downloaded source files
Examples:
"cupt source libsort-fields-perl"
"cupt source --diff-only libpqxx cupt/unstable"
"cupt source libxine1"
- clean
- removes all deb archives and partially downloaded archive
files from the cache on a disk
This subcommand receives no arguments.
Example: "cupt clean"
- autoclean
- removes deb archives which are not available in package
indexes and partially downloaded archive files from the cache on a disk
This subcommand receives no arguments.
Example: "cupt autoclean"
- snapshot save
- saves a snapshot of the current packages state
This subcommand receives one argument - desired snapshot name.
Example: "cupt snapshot save old-udev"
- snapshot load
- returns the system (as set of installed packages) to the
previously saved state
This subcommand receives one argument - snapshot name to load.
Example: "cupt snapshot load old-udev"
- snapshot remove
- removes the system snapshot
This subcommand receives one argument - snapshot name to remove.
Example: "cupt snapshot remove old-libgtk"
- snapshot rename
- renames the system snapshot
This subcommand receives two arguments - old snapshot name and new snapshot
name.
Example: "cupt snapshot rename old-libgtk 20091005"
- shell
- starts interactive shell-like environment
This subcommand receives no arguments.
This subcommand can receive all common options which will be preserved
across all session. You can override them for any subcommand in a usual
way.
On every shell prompt you can supply any valid subcommand from this manual
page, using all allowed parameters, just if it was command line. Simple
shell quotes around arguments are also allowed.
You can use 'quit', 'exit', ':q' or 'q' command to exit cupt shell.
management-specific options
- --no-remove
- disallow problem resolver to remove manually installed
packages. Packages that are marked to remove/purge in the command line
will be remove/purged as usual.
Corresponding configuration option: cupt::resolver::no-remove
- --no-auto-remove
- don't try to remove automatically installed packages after
doing requested actions
Corresponding configuration option: cupt::resolver::auto-remove
- --simulate,-s
- don't modify anything in the system, just print supposed
actions
Doesn't require root privileges.
Corresponding configuration option: cupt::worker::simulate
- --summary-only
- Show only summary of actions without details.
Corresponding configuration options:
cupt::console::actions-preview::show-summary,
cupt::console::actions-preview::show-details.
- --no-summary
- Show only details of actions without a summary.
Corresponding configuration options:
cupt::console::actions-preview::show-summary,
cupt::console::actions-preview::show-details.
- --resolver=
- string, determines type of resolver: can be
- fair
- medium-class resolver. It chooses best possible solution
(by overall score) each time. This is a default resolver.
- full
- full resolver. Guaranteed to suggest solution in precise
order from the best to the worst result score (by the resolver's opinion).
Latter means that resolver builds full resolve tree before suggesting the
solutions, which means large RAM and speed penalties. Use it with
caution.
Corresponding configuration option: cupt::resolver::type
- --max-solution-count=
- number, determines how many maximum solutions will resolver
store in memory. This option prevents large memory grows by purging away
solutions with worst scores. Defaults to 512. Note that very complex
requests or requests on multi-repository system will increase size of
solution tree dramatically, so prepare to play with increasing this option
accordingly.
Corresponding configuration option: cupt::resolver::max-solution-count
- --no-install-recommends,-R
- cupt installs recommended packages by default, this option
cancels described behavior
Corresponding configuration option: apt::install-recommends
- --show-archives,-A
- when displaying actions preview prompt, display also
release archives for each package
Corresponding configuration option:
cupt::console::actions-preview::show-archives
- --show-codenames,-N
- when displaying actions preview prompt, display also
release codenames for each package
This option cannot be used together with --show-archives.
Corresponding configuration option:
cupt::console::actions-preview::show-codenames
- --show-components,-C
- when displaying actions preview prompt, display also
release components for each package
Corresponding configuration option:
cupt::console::actions-preview::show-components
- --show-versions,-V
- when displaying actions preview prompt, display also
versions of packages
Corresponding configuration option:
cupt::console::actions-preview::show-versions
- --show-vendors,-O
- when displaying actions preview prompt, display also
vendors of packages
Corresponding configuration option:
cupt::console::actions-preview::show-vendors
- --show-size-changes,-Z
- when displaying actions preview prompt, display also
changes in disk space usage for each package
Corresponding configuration option:
cupt::console::actions-preview::show-size-changes
- --show-reasons,--show-deps,-D
- when displaying actions preview prompt, display also
reasons why this action was considered to perform
Corresponding configuration option: cupt::resolver::track-reasons
- --show-not-preferred
- when displaying actions preview prompt, display also
packages which will have a not preferred version after the proposed
changes
Corresponding configuration option:
cupt::console::actions-preview::show-not-preferred
- --download-only,-d
- stop after download stage, don't modify the system; not
applicable for "markauto" and "unmarkauto" actions
Corresponding configuration option: cupt::worker::download-only
- --assume-yes,--yes,-y
- don't ask for solution confirmation, assume the answer is
'y' ("yes"), except for dangerous actions, where assume 'q'
("decline and exit")
Corresponding configuration options: apt::get::assume-yes,
cupt::console::assume-yes
management modifiers: action override options
Unlike all the other options, these ones are positional and are effective only
for the rest of parameters (and before next override option if any). One can
specify as many action override options as needed.
- --install
- install the rest of packages
Example:
"cupt remove msmtp-mta --install exim4-daemon-light esmtp" -
install the packages 'exim4-daemon-light' and 'esmtp', remove the package
'msmtp-mta'
- --remove
- remove rest of packages
Example:
"cupt install exim4-daemon-light --remove msmtp-mta esmtp" -
install the package 'exim4-daemon-light', remove the packages 'msmtp-mta'
and 'esmtp'
- --purge
- purge the rest of packages
Example:
"cupt purge libkate1 --remove libass4 --purge libdirac-decoder0" -
remove the package 'libass4', purge packages 'libkate1' and
'libdirac-decoder0'
- --satisfy
- satisfy the rest of relation expressions
Example:
"cupt install lightspark --remove gnash --satisfy "iceweasel
(>= 5)"" - install the package 'lightspark', remove the
packae 'gnash', and make sure that iceweasel (at least of version 5) is
installed
- --unsatisfy
- unsatisfy the rest of relation expressions
Example:
"cupt install sieve-connect --unsatisfy "iceweasel (<<
3.5.20)"" - install the package 'sieve-connect', upgrade or
remove the package 'iceweasel' if it is installed and has the version
lower than '3.5.20'
- --iii
- "install if installed" (see "iii"
subcommand) the rest of packages
Example:
"cupt install libv4l-0 cupt --iii libreadline6 vlc*" - install
packages 'libv4l-0' and 'cupt', install the preferred version of
'libreadline6' if it's installed already, install the preferred versions
of packages which names start with 'vlc' and which are installed
already
management modifiers: package name suffixes
- -
- remove the package, can be used in non-remove actions
Examples:
"cupt install kde4 icewm-" - install the package 'kde4' and remove
the package 'icewm' simultaneously.
"cupt full-upgrade iceweasel- icedove-" - upgrade the system,
deleting iceweasel and icedove
- +
- install the package, can be used in remove actions
Examples:
"cupt remove kde konqueror+" - remove kde, but install/upgrade
konqueror
"cupt remove kde konqueror/installed+" - remove kde, but leave
konqueror
EXPRESSIONS¶
This section documents some common expressions used by actions.
Binary package version expression¶
package_name[
modifier]
selects one version of given binary package.
Possible modifiers:
- <none>
- selects policy version of the package
Example: "audacious".
- =<version string>
- selects specified version of the package
Example: "audacious=1.5.1-2"
- /<distribution>
- selects a version from specified distribution (archive name
or codename)
Examples: "audacious/lenny" (by codename),
"audacious/stable" (by archive name)
- /installed
- selects installed version of the package
Example: "audacious/installed"
Also, you may specify shell wildcars '*' and '?' in the package names.
Examples: "xfce4-*", "python2.5-*/unstable",
"?aff*/installed"
For all management subcommands, there is also '@<path-to-file>' syntax. In
this case this construction will be substituted by binary package expressions
listed in the specified file one by line.
Source package version expression¶
package_name[
modifier]
selects one version of given source package.
Possible modifiers are identical to those defined in "Binary package
version expression", except for '/installed'.
Also, you can specify "Binary package version expression" as
"Source package version expression", then binary-to-source mapping
will be performed.
COMMON OPTIONS¶
- --option=,-o
- sets specified configuration option, syntax:
"<name>=<value>"
Examples:
"cupt remove nlkt -o 'cupt::resolver::keep-recommends=0'" (regular
option)
"cupt remove nlkt -o 'apt::neverautoremove::=libcanberra0" (list
option)
- --target-release=,--default-release=,-t
- sets preferred release to pick up packages from, you can
specify codename or archive name
Corresponding configuration option: apt::default-release
Examples: "cupt install -t unstable xserver-xorg", "cupt -t
squeeze full-upgrade"
- --include-archives=
- Use only repositories with specified archive names
(comma-separated).
Corresponding configuration options:
cupt::cache::limit-releases::by-archive,
cupt::cache::limit-releases::by-archive::type.
Example:
"cupt safe-upgrade --include-archives=stable,stable-updates"
- --exclude-archives=
- Ignore repositories with specified archive names
(comma-separated).
Corresponding configuration options:
cupt::cache::limit-releases::by-archive,
cupt::cache::limit-releases::by-archive::type.
Example:
"cupt rdepends libcomerr2
--exclude-archives=experimental,unstable"
- --include-codenames=
- Use only repositories with specified codenames
(comma-separated).
Corresponding configuration options:
cupt::cache::limit-releases::by-codename,
cupt::cache::limit-releases::by-codename::type.
Example:
"cupt safe-upgrade
--include-codenames=squeeze,squeeze-updates"
- --exclude-codenames=
- Ignore repositories with specified codenames
(comma-separated).
Corresponding configuration options:
cupt::cache::limit-releases::by-codename,
cupt::cache::limit-releases::by-codename::type.
Example:
"cupt rdepends libcomerr2
--exclude-codenames=experimental,sid"
- --quiet,-q
- don't output anything to standard output
CONFIGURATION VARIABLES¶
See
cupt.conf(5).
REPORTING¶
Please report all bugs in Cupt to Debian BTS using
reportbug(1).
The user support mailing list is cupt-user@lists.alioth.debian.org. The
discussion channel about Cupt is
irc://irc.debian.org#cupt.
SEE ALSO¶
cupt_vs_apt(5),
cupt_tutorial(7),
cupt.conf(5)
AUTHOR¶
Eugene V. Lyubimkin <jackyf@debian.org>