DNF reposync Plugin

Synchronize packages of a remote DNF repository to a local directory.

Synopsis

dnf reposync [options]

Description

reposync makes local copies of remote repositories. Packages that are already present in the local directory are not downloaded again.

Options

All general DNF options are accepted. Namely, the --repoid option can be used to specify the repositories to synchronize. See Options in dnf(8) for details.

-a <architecture>, --arch=<architecture>
Download only packages of given architectures (default is all architectures). Can be used multiple times.
--delete
Delete local packages no longer present in repository.
--download-metadata
Download all repository metadata. Downloaded copy is instantly usable as a repository, no need to run createrepo_c on it.
-g, --gpgcheck
Remove packages that fail GPG signature checking after downloading. Exit code is 1 if at least one package was removed. Note that for repositories with gpgcheck=0 set in their configuration the GPG signature is not checked even with this option used.
-m, --downloadcomps
Also download and uncompress comps.xml. Consider using --download-metadata option which will download all available repository metadata.
--metadata-path
Root path under which the downloaded metadata are stored. It defaults to --download-path value if not given.
-n, --newest-only
Download only newest packages per-repo.
--norepopath
Don’t add the reponame to the download path. Can only be used when syncing a single repository (default is to add the reponame).
-p <download-path>, --download-path=<download-path>
Root path under which the downloaded repositories are stored, relative to the current working directory. Defaults to the current working directory. Every downloaded repository has a subdirectory named after its ID under this path.
--remote-time
Try to set the timestamps of the downloaded files to those on the remote side.
--source
Download only source packages.
-u, --urls
Just print urls of what would be downloaded, don’t download.

Examples

dnf reposync --repoid=the_repo
Synchronize all packages from the repository with id “the_repo”. The synchronized copy is saved in “the_repo” subdirectory of the current working directory.
dnf reposync -p /my/repos/path --repoid=the_repo
Synchronize all packages from the repository with id “the_repo”. In this case files are saved in “/my/repos/path/the_repo” directory.
dnf reposync --repoid=the_repo --download-metadata
Synchronize all packages and metadata from “the_repo” repository.

Repository synchronized with --download-metadata option can be directly used in DNF for example by using --repofrompath option:

dnf --repofrompath=syncedrepo,the_repo --repoid=syncedrepo list --available

See Also

  • dnf(8), DNF Command Reference