---
name: "dnf5-repomanage"
section: "8"
platform: "linux"
package: "dnf5"
version: "5.4.6.0-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/dnf5-repomanage"
---

# dnf5-repomanage(8)

Repomanage Command

## NAME

dnf5-repomanage - Repomanage Command

## SYNOPSIS

**dnf5 \[GLOBAL OPTIONS\] repomanage \[OPTIONS\] \<path\>**

## DESCRIPTION

*repomanage* prints newest or older packages in a repository specified by *\<path\>* for easy piping to xargs or similar programs. In case *\<path\>* doesn't contain *repodata/repomd.xml*, it is searched for rpm packages which are then used instead. If the repodata are present, *repomanage* uses them as the source of truth, it doesn't verify that they match the present rpm packages. In fact, *repomanage* can run with just the repodata, no rpm packages are needed.

If *\<path\>* specifies remote url, *repomanage* attempts to download the remote repodata into a temporary directory and use them.

## OPTIONS

- **--new**

  ```
  Print N newest packages for each name.arch (default).
  ```

- **--old**

  ```
  Print all packages except the N newest for each name.arch
  ```

- **-k \<N\>, --keep \<N\>**

  ```
  Set package count N for --new and --old (default: 1)
  ```

- **-s, --space**

  ```
  Print packages separated by spaces instead of new lines
  ```

## EXAMPLES

- **dnf repomanage --new .**

  ```
  Display newest packages in current repository (directory).
  ```

- **dnf repomanage --new --keep 2 ~/**

  ```
  Display 2 newest versions of each package in "home" directory.
  ```

- **dnf repomanage --old --space .**

  ```
  Display all but the newest packages separated by space in current repository (directory).
  ```

- **dnf repomanage http://download.example/repo/**

  ```
  Download the repository metadata into a temporary directory, load them and display the newest packages.
  ```

## Author

See AUTHORS.md in dnf5 source distribution.

## Copyright

Contributors to the dnf5 project.
