dnf

Table of Contents

1. Help

Reminder that man and --help are great sources when using DNF, --help is available in many places (e.g. dnf group list --help) and there are many manpages for subcommands etc.

2. Repositories

Every repositories has an ID (repoid).

2.1. List enabled repositories and their ID

dnf repolist

2.2. Detailed repository info

dnf repoinfo <repoid>

2.3. List installed packages from repoid

dnf list --installed | grep "<repoid>$"

2.4. Enable repository

dnf config-manager setopt <repoid>.enabled=1

2.5. Disable repository

dnf config-manager setopt <repoid>.enabled=0

3. Search package by keyword

The optional --all will search for keyword in more metadata fields (see dnf info <package> for metadata fields)

dnf search [--all] <keyword>

4. List which package provides /path/to/file

When searching for a file specify the full path or use a wildcard

dnf provides '*/bin/echo'

5. List installed packages

dnf list --installed
dnf repoquery --installed

6. List upgradable packages

dnf list --upgrades
dnf repoquery --upgrades

7. List files installed by package

dnf repoquery --list newsboat

8. List packages depending on package

There are many --what.. options (see man 8 dnf-repoquery), --whatdepends list all depending packages

dnf repoquery --whatdepends kernel-headers | column

9. Remove packages whose name starts with foo

dnf remove 'foo*'

10. Package groups

10.1. List installed packages group

dnf group list --installed

10.2. Install @virtualization package group

dnf install @virtualization

10.3. Package group details

dnf group info virtualization

10.4. Remove @libreoffice package group

dnf group remove libreoffice

11. Set Vim as default editor

dnf install vim-default-editor --allowerasing

12. Related nodes

13. References