apt-patterns - Syntax and semantics of apt search patterns ========================================================== Description ----------- Starting with version 2.0, ``APT`` provides support for patterns, which can be used to query the apt cache for packages. Logic patterns -------------- These patterns provide the basic means to combine other patterns into more complex expressions, as well as ``?true`` and ``?false`` patterns. ``?and(PATTERN, PATTERN, ...)`` Selects objects where all specified patterns match. ``?false`` Selects nothing. ``?not(PATTERN)`` Selects objects where PATTERN does not match. ``?or(PATTERN, PATTERN, ...)`` Selects objects where at least one of the specified patterns match. ``?true`` Selects all objects. Package patterns ---------------- These patterns select specific packages. ``?architecture(WILDCARD)`` Selects packages matching the specified architecture, which may contain wildcards using any. ``?automatic`` Selects packages that were installed automatically. ``?broken`` Selects packages that have broken dependencies. ``?config-files`` Selects packages that are not fully installed, but have solely residual configuration files left. ``?essential`` Selects packages that have Essential: yes set in their control file. ``?exact-name(NAME)`` Selects packages with the exact specified name. ``?garbage`` Selects packages that can be removed automatically. ``?installed`` Selects packages that are currently installed. ``?name(REGEX)`` Selects packages where the name matches the given regular expression. ``?obsolete`` Selects packages that no longer exist in repositories. ``?upgradable`` Selects packages that can be upgraded (have a newer candidate). ``?virtual`` Selects all virtual packages; that is packages without a version. These exist when they are referenced somewhere in the archive, for example because something depends on that name. Examples -------- ``apt remove ?garbage`` Remove all packages that are automatically installed and no longer needed - same as apt autoremove ``apt purge ?config-files`` Purge all packages that only have configuration files left Migrating from aptitude ----------------------- Patterns in apt are heavily inspired by patterns in aptitude, but with some tweaks: - Only long forms MDASH the ones starting with ? MDASH are supported - Syntax is uniform: If there is an opening parenthesis after a term, it is always assumed to be the beginning of an argument list. In aptitude, a syntactic form ``"?foo(bar)"`` could mean ``"?and(?foo,bar)"`` if foo does not take an argument. In APT, this will cause an error. - Not all patterns are supported. - Some additional patterns are available, for example, for finding gstreamer codecs. - Escaping terms with ``~`` is not supported. - A trailing comma is allowed in argument lists See Also -------- APT-GET, APT