PKGCLI(1)
π pkgcli(1) β the manual page, but make it make sense
okay so bestie, welcome to the pkgcli manual, section 1 of the man pages β¨ this is the whole thing, vibe-checked and everything.
πΈ NAME πΈ
pkgcli β the command-line client for PackageKit. literally your bestie for talking to packages from the terminal π«Ά
β¨ SYNOPSIS β¨
pkgcli [GLOBAL-OPTIONS...] COMMAND [COMMAND-OPTIONS...] [ARGUMENTS...]
π¦ DESCRIPTION π¦
okay so pkgcli is a command line client for PackageKit, which is this distribution-neutral interface to your operating system's package manager. like, it doesn't care which distro you're on, it just speaks package. it gives you a whole set of subcommands for querying and managing software packages, repositories and transaction history. iconic behavior honestly π
use pkgcli --help to get a list of available commands, and pkgcli COMMAND --help for command-specific help. no cap, that's the move π
π GLOBAL OPTIONS π
these get parsed before the command name, and they affect most subcommands:
-v,--versionβ show thepkgcliversion and exit. short and sweet, we love a quick exit π-h,--helpβ show generic help plus a list of available commands.-q,--quietβ only provide minimal output. lowkey mode, keep it chill.--verboseβ show more detailed and debug-style output. for when you're in your detective era π--jsonβ output results in JSON format suitable for consumption by other tools. the output is generated in the JSONL (JSON Lines) format, with one JSON object per line. (this is the one your scripts will be obsessed with)--no-colorβ disable colored terminal output. this is also enabled when theNO_COLORenvironment variable is set.-y,--yesβ answer βyesβ to all questions and run in non-interactive mode. the βdon't ask me, just do itβ flag, fr fr.-f,--filter=FILTERβ apply one or more filters when querying packages, such as restricting results to installed or available packages. you can view all supported filter options by runningpkgcli organization. super handy π-n,--backgroundβ hint that the command is not urgent and may use idle network bandwidth and power-saving settings where supported. it's giving βno rush bestie, take your timeβ πΈ
π COMMANDS π
the following commands are available (yes, all of them, we're not skipping a single one):
backendβ display information about the PackageKit backend currently in use, including the backend name, version, and the roles it supports.historyβ show a list of recent package management transactions (like installation, removal, and update operations performed on the system).searchβ search for packages matching a given pattern. the first argument may optionally be one ofname,details,fileorgroup, to limit the search to the selected domain. if only one argument is given, a search across package details (name, summary, and description) is performed.listβ list packages, optionally filtered by installation status or name pattern. use with--filterto show only installed, available, or other categories of packages.showβ display detailed information about one or more packages, including version, size, description, license, and repository information.list-dependsβ list all packages that the specified package depends on. use the--recursiveflag to list dependencies of the entire chain.list-requiringβ list packages that depend on or require the specified package.what-providesβ find and list packages that provide a given capability, shared library, or file path.filesβ display a list of all files contained in the specified package.list-updatesβ list all available package updates for installed software.show-updateβ display detailed information about a specific update, including changelog entries, security advisories, and other update metadata.resolveβ resolve package names or identifiers to their package state, showing whether they are installed, available, or unavailable.organizationβ display available package filters (such as installed, available, newest), groups (such as system, development, graphics), and categories that can be used to query packages.show-os-upgradeβ check for and display information about available operating system or distribution upgrades, such as upgrades to a newer OS release.last-timeβ show the elapsed time since the last transaction of a specified role occurred, such as the last package update or cache refresh.refreshβ refresh the local package metadata cache by downloading the latest package information from configured repositories. this should be run before checking for updates or searching for new packages.installβ install one or more packages by name, or install local package files if a path is provided instead of a package name.removeβ remove one or more installed packages from the system. this may also remove dependent packages if they are no longer needed. use with the--autoremoveoption to clean up unused packages as well.updateβ install available updates for all installed packages on the system, or for specific packages if specified as arguments.upgradeβ perform a system upgrade to newer package versions or a new distribution release. this may involve major version updates and significant changes. β οΈ big girl stuff, be aware.downloadβ download package files to the local system without installing them. this is useful for offline installation or package inspection.offline-updateβ prepare, trigger, cancel, or inspect offline system updates. offline updates are applied during system boot before the desktop environment starts, allowing critical system packages to be updated safely.install-sigβ install a cryptographic signature for a package to verify its authenticity and integrity.repairβ attempt to automatically repair problems with the package management system, such as broken dependencies, corrupted databases, or interrupted transactions. the βfix me pleaseβ command πquitβ request the PackageKit daemon to terminate gracefully after completing any ongoing operations. the daemon will restart automatically when needed. it's giving βyou can go home nowβ π§repo-listβ display a list of all configured software repositories, showing their identifiers, descriptions, and enabled/disabled status.repo-enableβ enable a previously disabled repository, allowing packages from that repository to be installed and updated.repo-disableβ disable a repository, preventing packages from that source from being installed or updated while keeping the repository configuration.repo-removeβ completely remove a repository from the system configuration. this is permanent and the repository will need to be re-added if needed later. takes a repository-ID as parameter. π permanent, bestie.monitorβ monitor and display real-time PackageKit transaction events and status changes on the bus. this is useful for debugging or observing package management activity.
use pkgcli COMMAND --help for detailed usage information including supported options and arguments for each command. iykyk π
β EXIT STATUS β
the following exit codes are used by pkgcli:
0β the command completed successfully. slay π1β a non-specific error occurred.2β invalid syntax or command-line options were supplied.3β insufficient permissions to perform the requested operation. (you're not that girl yet, sorry π )4β required information or packages could not be found.5β the transaction failed.
additional exit codes may be used for more specific failure conditions by individual commands.
π ENVIRONMENT π
NO_COLORβ when set to any non-empty value, disables colored output, equivalent to passing--no-color. the vibe-killer variable, but respectful π«Ά
π₯ EXAMPLES π₯
search for packages related to text editors
pkgcli search editor
search only in package names
pkgcli search name python3
show detailed information about a package
pkgcli show nano
install a package non-interactively
pkgcli --yes install nano
list all installed packages
pkgcli --filter=installed list
check for available updates
pkgcli refresh && pkgcli list-updates
list dependencies of a package
pkgcli list-depends inkscape
find which package provides the AV1 GStreamer codec
pkgcli what-provides "gstreamer1(decoder-video/x-av1)"
π SEE ALSO π
appstreamcli(1), and the PackageKit documentation at https://www.freedesktop.org/software/PackageKit/.
π AUTHORS π
- Matthias Klumpp
<matthias@tenstral.net>β Developer - Richard Hughes
<richard@hughsie.com>β Developer
π COPYRIGHT π
Copyright Β© 2012-2026 Matthias Klumpp
okay that's the whole page, bestie. and for the cute sign-off: this was PackageKit, dated 26. November 2025, and you just read PKGCLI(1) β go forth and manage those packages, main character energy only π β¨π¦
π¦ where this page comes from
- arch rolling: packagekit 1.4.0-1 Β· GPL-2.0-or-later
- nixos 26.05: packagekit 1.4.0
- nixpkgs unstable: packagekit 1.4.0
- ubuntu stonking: packagekit 1.3.6-1ubuntu1 Β· GPL-2.0-or-later AND LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms