DNF5-REPOQUERY(8)
β¨ DNF5-REPOQUERY(8) β¨
okay bestie, gather round, because this is dnf5-repoquery β it lives in the dnf5 manual, section 8, and it is the glow-up of package querying. It's a whole command, it's a whole vibe, and we're getting into every single flag. no skimming, no skipping, we go all the way. π
πΈ NAME πΈ
dnf5-repoquery β the Repoquery Command. that's it, that's the name, she's iconic, she said what she said. π
π¦ SYNOPSIS π¦
dnf5 repoquery [options] [<package-spec-NIF>...]
like. that's the shape of it. options in, package specs in, packages out. slay.
β¨ DESCRIPTION β¨
so the repoquery command in DNF5 is literally there to query packages by matching whatever input criteria you throw at it. you give it criteria, it gives you packages. that's the whole relationship, and honestly? it's a healthy one. π«Ά
the arguments you define in the spec list get used as <package-file-spec>. yes, the synopsis says <package-spec-NIF> and the description says <package-file-spec> β they're both in here because both are in the original, and we do not edit the queen's paperwork. periodt. π
π OPTIONS π
okay this is the main event. every flag, no cap, in order. buckle up bestie, we're going long. π
--advisories=ADVISORY_NAME,...β pulls in the content that lives inside advisories with the name you give. this one is a list option. expected values are advisory IDs, likeFEDORA-2201-123. heads up though: any transaction command (install,upgrade) will fail with an error if there's no existing advisory in your list β you can dodge that with the--skip-unavailableswitch. π--advisory-severities=ADVISORY_SEVERITY,...β same deal but filtered by severity instead. list option. accepted values are:critical,important,moderate,low,none. pick your poison, they're all valid. π--arch=ARCH,...β limits to packages of these architectures. list option. simple, clean, no notes. β¨--availableβ queries available packages. this is the default behavior, so if you did nothing, congrats, you already did this. you can also combine it with--installedto query both installed and available packages at once. main character energy, honestly. π--bugfixβ includes content contained in bugfix advisories. that's the whole thing. π--bzs=BUGZILLA_ID,...β includes content contained in advisories that fix a ticket with the given Bugzilla ID. list option. expected values are numeric IDs, e.g.123123. warning: any transaction command (install,upgrade) will fail with an error if there's no advisory fixing the given ticket β bypass it with--skip-unavailable. π--cves=CVE_ID,...β includes content contained in advisories that fix a ticket with the given CVE (Common Vulnerabilities and Exposures) ID. list option. expected values are string IDs in CVE format, e.g.CVE-2201-0123. and yeah β any transaction command (install,upgrade) will fail with an error if there's no advisory fixing the given ticket, which you can bypass with--skip-unavailable. π₯--disable-modular-filteringβ includes packages of inactive module streams. the ones that were sitting in the corner at the party. π--duplicatesβ limits to installed duplicate packages, meaning more package versions for the same name and architecture. installonly packages are excluded from this set, so don't come for them, they're not in it. π--enhancementβ includes content contained in enhancement advisories. glow-up content only. β¨--exactdepsβ limits to packages that require the<capability>specified by--whatrequiresor--whatdepends. this option is stackable with--whatrequiresor--whatdependsonly β don't try to pair it with anything else, she doesn't do that. π--extrasβ limits to installed packages that are not present in any available repository. the uninvited guests. π-f,--file=FILE,...β limits to packages that own these files. list option. yes, the short flag is-f, yes it's cute, yes it works. π¦--installedβ queries installed packages. can be combined with--availableto query both installed and available packages. teamwork makes the dream work. π«Ά--installed-from-repo=REPO_ID,...β filters installed packages by the ID of the repository they were installed from. so like, where did you come from, little package. π--installonlyβ limits to installed installonly packages. (and remember, from--duplicatesabove, installonly packages get excluded from that set β that's just how it is.) π--latest-limit=Nβ limits to the N latest packages for a given name.arch. and if N is negative? then it's all except N latest. flip the sign, flip the meaning. iconic. π--leavesβ limits to groups of installed packages that are not required by other installed packages. the independents. the self-sufficient queens. π--newpackageβ includes content contained in newpackage advisories. fresh out the box. π¦--providers-of=PACKAGE_ATTRIBUTEβ after filtering is done, this gets the selected attribute of packages and outputs the packages that provide it. the outputted packages are limited by--available,--installedand--archoptions. it supports:conflicts,depends,enhances,obsoletes,provides,recommends,requires,requires_pre,suggests,supplements. that's the full list, bestie, don't improvise. β¨--recentβ limits to only recently changed packages. new in town, just dropped. π₯--recursiveβ okay so this one is stackable with--whatrequiresor--providers-of=requiresonly. got it? okay:- when used with
--whatrequires: it extends the output with packages that require anything provided by the outputted packages. - when used with
--providers-of=requires: it extends the output with packages that provide anything required by the outputted packages. - and it repeats the output extension as long as new packages are being added. it just keeps going. it's committed.
- the added packages are limited by
--available,--installedand--archoptions.
- when used with
--securityβ includes content contained in security advisories. π‘οΈ--srpmβ after filtering is finished, it uses the packages' corresponding source RPMs for output. also: enables source repositories. so it's doing two things and both of them are on purpose. π--unneededβ limits to unneeded installed packages, meaning packages that were installed as dependencies but are no longer needed. this switch lists the packages that are going to be removed after you execute theautoremovecommand. so like... this is a spoiler for autoremove. π--upgradesβ limits to available packages that provide an upgrade for some already installed package. glow-up season. β--userinstalledβ limits to packages that are not installed as dependencies or weak dependencies. meaning: limit to packages that were installed at the user request, or indirectly as part of a module profile or comps group. additionally it returns packages with unknown reason β yes, even the mysterious ones. the result may be influenced by the"exclude"option in the configuration file. and if you want the exact reason of the installation? use the--queryformat '%{name} %{reason}\n'option. receipts, bestie, always get the receipts. π§Ύ--whatconflicts=CAPABILITY,...β limits to packages that conflict with any of<capabilities>. list option. drama. π--whatdepends=CAPABILITY,...β limits to packages that require, enhance, recommend, suggest or supplement any of<capabilities>. it's the whole friend group, all five of them. list option. π«Ά--whatenhances=CAPABILITY,...β limits to packages that enhance any of<capabilities>. list option. also, use--whatdependsif you want to list all depending packages. π--whatobsoletes=CAPABILITY,...β limits to packages that obsolete any of<capabilities>. list option. out with the old. β¨--whatprovides=CAPABILITY,...β limits to packages that provide any of<capabilities>. capabilities specifying a file provide<#file-provides-ref-label>are also matched against file provides. list option. π--whatrecommends=CAPABILITY,...β limits to packages that recommend any of<capabilities>. list option. and again: use--whatdependsif you want all depending packages. πΈ--whatrequires=CAPABILITY,...β limits to packages that require any of<capabilities>. list option. and once more for the people in the back: use--whatdependsif you want all depending packages. π--whatsuggests=CAPABILITY,...β limits to packages that suggest any of<capabilities>. list option. and yep,--whatdependsfor all depending packages. π¦--whatsupplements=CAPABILITY,...β limits to packages that supplement any of<capabilities>. list option. and finally, one last time,--whatdependsif you want all depending packages. π
okay that's part 1 of the page! everything above is every single option, value, default, warning and list-type in this section β nothing skipped, nothing invented, nothing merged. the rest of the page is coming in the next part, so don't go anywhere bestie, we're not done yet. π«Άβ¨
π FORMATTING OPTIONS π
okay bestie so this is the part where you decide what actually gets shown about each package. and here's the tea: these are mutually exclusive, meaning at most one can be specified. pick two and the universe simply will not allow it, periodt. β
and if you give no formatting option at all? then the selected packages just get displayed in "%{full_nevra}" queryformat. default behavior, no thoughts, slay. π
--conflictsβ basically--qf "%{conflicts}", except it's deduplicated and sorted per line. β¨--dependsβ basically--qf "%{depends}", except deduplicated and sorted per line.--enhancesβ basically--qf "%{enhances}", except deduplicated and sorted per line.--filesβ basically--qf "%{files}", except deduplicated and sorted per line.--obsoletesβ basically--qf "%{obsoletes}", except deduplicated and sorted per line.--providesβ basically--qf "%{provides}", except deduplicated and sorted per line.--recommendsβ basically--qf "%{recommends}", except deduplicated and sorted per line.--requiresβ basically--qf "%{requires}", except deduplicated and sorted per line.--requires-preβ basically--qf "%{requires_pre}", except deduplicated and sorted per line.--sourcerpmβ basically--qf "%{sourcerpm}", except deduplicated and sorted per line.--suggestsβ basically--qf "%{suggests}", except deduplicated and sorted per line.--supplementsβ basically--qf "%{supplements}", except deduplicated and sorted per line.--locationβ basically--qf "%{location}", except deduplicated and sorted per line.-i,--infoβ spill the whole tea β β shows detailed information about the package.--changelogsβ prints the package changelogs. the lore, the history, the drama. π--querytagsβ shows you all the available tags you can use with--queryformat. your little menu of options, bestie.--queryformat=<format>β this one sets the display format for packages. the<format>string can hold tags (%{<tag>}) which get swapped out for the corresponding attributes of the package. default is"%{full_nevra}". and the<format>string gets expanded and deduplicated for each package. π
here's every single tag you can use, no gatekeeping:
archβ display architecture of the package.buildtimeβ display buildtime of the package in Unix time. β°conflictsβ display capabilities that the package conflicts with. separated by new lines.debug_nameβ display name of debuginfo package of the package.dependsβ display capabilities that the package depends on, enhances, recommends, suggests or supplements. separated by new lines.descriptionβ display description of the package.downloadsizeβ display download size of the package.enhancesβ display capabilities enhanced by the package. separated by new lines.epochβ display epoch of the package.evrβ display epoch:version-release of the package. epoch 0 is omitted.filesβ show files in the package. separated by new lines.from_repoβ display id of repository the package is installed from. empty for not installed packages.full_nevraβ display name-epoch:version-release.arch of the package. even epoch 0 is included. (yes, unlikeevr. iconic inconsistency, we love her π )groupβ display group of the package. this is not Comps group.locationβ display location of the package.installsizeβ display install size of the package.installtimeβ display install time of the package.licenseβ display license of the package.nameβ display name of the package.obsoletesβ display capabilities obsoleted by the package. separated by new lines.packagerβ display packager of the package.prereq_ignoreinstβ display safe to remove requires_pre requirements of an installed package. empty for not installed packages. separated by new lines.providesβ display capabilities provided by the package. separated by new lines.reasonβ display reason why the packages was installed.recommendsβ display capabilities recommended by the package. separated by new lines.regular_requiresβ display capabilities required by the package without its%pre,%post,%preunand%postunrequirements. separated by new lines.releaseβ display release of the package.repoidβ display id of repository the package is in.reponameβ display name of repository the package is in.requiresβ display capabilities required by the package (combinesregular_requiresandrequires_pre).requires_preβ for an installed package display capabilities that it depends on to run its%pre,%post,%preunand%postunscripts. for not installed package display just%preand$postrequirements. separated by new lines.source_debug_nameβ display name of debuginfo package for source package of the package.source_nameβ display source RPM name of the package.sourcerpmβ display source RPM of the package.suggestsβ display capabilities suggested by the package. separated by new lines.summaryβ display summary of the package.supplementsβ display capabilities supplemented by the package. separated by new lines.urlβ display url of the package.vendorβ display vendor of the package.versionβ display version of the package.
and one more little trick bestie: the <format> string can also contain \n, which gets replaced with a newline character on the output. so you can actually format your output like a civilized person. π¦
π EXAMPLES π
okay real talk, here's how it actually looks in the wild:
dnf5 repoquery /etc/koji.conf
list packages which provide the given file. that's it, that's the move. π₯
dnf5 repoquery *http*
list packages containing the http inside their name. wildcards stay undefeated. β¨
dnf5 repoquery --installed --security
list installed packages included in any security advisories. staying safe out here. π‘οΈ
π SEE ALSO π
dnf5-advisory(8), Advisory command<#advisory-command-ref-label>dnf5-leaves(8), Leaves command<#leaves-command-ref-label>dnf5-specs(7), Patterns specification<#specs-misc-ref-label>
βοΈ Author βοΈ
see AUTHORS.md in dnf5 source distribution. π«Ά
π Copyright π
Contributors to the dnf5 project.
and that's a wrap bestie!! π this was DNF5-REPOQUERY(8) from the dnf5 source distribution, dated Sep 24, 2026 β go forth and query your repos, you absolute icon. ππ
π¦ where this page comes from
- fedora 44: dnf5 5.4.6.0-1.fc44 Β· GPL-2.0-or-later
- fedora 44: dnf5 5.4.6.0-1.fc44 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms