DNF4-GROUPS-MANAGER(8)

πŸ’– DNF4-GROUPS-MANAGER(8) πŸ’–

okay bestie so welcome to dnf4-groups-manager from the dnf-plugins-core family, living its best life in section 8 of your manual. pull up a chair, grab a snack, we're gonna make some group metadata ✨


✨ NAME ✨

dnf4-groups-manager β€” the DNF groups-manager Plugin πŸŽ€

Create and edit groups repository metadata files. yes, literally, that's the whole job and it ate πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

dnf groups-manager [options] [package-name-spec [package-name-spec ...]]

🌸 DESCRIPTION 🌸

So the groups-manager plugin is your new bestie for creating or editing a group metadata file for a repository. and like... it is so much easier than hand-writing or hand-editing that XML yourself, no cap. writing XML by hand is giving 2004 and not in a cute way 😭

the way it works: groups-manager can load a whole entire file of groups metadata, then either create a brand new group or edit an existing one, and then write all of the groups metadata right back out. iconic behavior 🫢


πŸŽ€ ARGUMENTS πŸŽ€

  • <package-name-spec> β€” the package you wanna add to a group or yeet out of a group. that's the whole vibe of this argument ✨

πŸ‘‘ OPTIONS πŸ‘‘

first things first, all the general DNF options are accepted bestie β€” go peep Options in dnf(8) for the details πŸ’œ

  • --load=<path_to_comps.xml> β€” loads the groups metadata info from the file you point at before doing literally any operations. and if you specify this option, like, multiple times? all the metadata from all those files gets merged together. teamwork makes the dream work 🌈
  • --save=<path_to_comps.xml> β€” saves the result to this file. and yes you can absolutely specify the name of a file you're loading from, because the data only gets saved once all the operations have been performed. this option can also be specified multiple times πŸ’…
  • --merge=<path_to_comps.xml> β€” this is the same as loading and saving a file, except the "merge" file gets loaded before any of the others and saved last. main character energy, it goes first and it goes last πŸ‘‘
  • --print β€” also prints the result to stdout. for the girlies who need to see the receipts πŸŽ€
  • --id=<id> β€” the id to look up/use for the group. and here's the tea: if you don't specify an <id> but you do specify a name that doesn't refer to an existing group, then an id for the group is generated based on the name. it just manifests itself, slay ✨
  • -n <name>, --name=<name> β€” the name to look up/use for the group. and if you specify an existing group id? then the group with that id will have its name changed to this value. glow-up time πŸ’–
  • --description=<description> β€” the description to use for the group. give it a little personality, it deserves one πŸ¦‹
  • --display-order=<display_order> β€” changes the integer that controls the order groups are presented in, like for example in dnf grouplist. yes, we're doing choreography now 🌸
  • --translated-name=<lang:text> β€” a translation of the group name in the given language. the syntax is lang:text. eg. en:my-group-name-in-english 🌈
  • --translated-description=<lang:text> β€” a translation of the group description in the given language. the syntax is lang:text. eg. en:my-group-description-in-english. bilingual queen πŸ’…
  • --user-visible β€” makes the group visible in dnf grouplist. and this is the default, so it's already the vibe ✨
  • --not-user-visible β€” makes the group not visible in dnf grouplist. stealth mode, we love a private moment πŸ™ˆ
  • --mandatory β€” stores the package names you specified within the mandatory section of the specified group. the default is to use the default section, fyi πŸŽ€
  • --optional β€” stores the package names you specified within the optional section of the specified group. again, default is the default section πŸ’œ
  • --remove β€” instead of adding packages, removes them. heads up though: the packages get removed from all sections (default, mandatory and optional). it's not picky, it's thorough πŸ’€
  • --dependencies β€” also includes the names of the direct dependencies for each package you specified. bringing the whole friend group along πŸ”₯

πŸ’œ Author πŸ’œ

See AUTHORS in your Core DNF Plugins distribution πŸ“–


2014, Red Hat, Licensed under GPLv2+ β€” periodt, legal said what it said ✨


and that's the whole page bestie 🫢 this was version 4.10.1, dated Sep 27, 2025, and honestly? she understood the assignment πŸ’…πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from