.\" Man page generated from reStructuredText .\" by the Docutils 0.22.4 manpage writer. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "LIBDNF5-LOCAL" "8" "May 09, 2026" "" "dnf5" .SH NAME libdnf5-local \- Local Plugin .SH DESCRIPTION .sp After each libdnf5 transaction copy all downloaded packages to local repositories on the filesystem and generate repository metadata. .sp The plugin creates two repositories: .INDENT 0.0 .IP \(bu 2 \fB_dnf_local\fP for packages from repositories with \fBpkg_gpgcheck\fP enabled. The \fBpkg_gpgcheck\fP setting is inherited from the main configuration. The repository doesn\(aqt specify any \fBgpgkey\fP, it assumes all required keys were already imported. .IP \(bu 2 \fB_dnf_local_nogpgcheck\fP for packages from repositories with \fBpkg_gpgcheck\fP disabled. This repository has \fBpkg_gpgcheck\fP set to \fBfalse\fP\&. .UNINDENT .sp Each repository is only created when there are cached packages in it. .sp Both repositories are configured with the following options: .INDENT 0.0 .INDENT 3.5 .sp .EX skip_if_unavailable = true metadata_expire = 0 .EE .UNINDENT .UNINDENT .sp The \fB_dnf_local\fP repository has \fBcost = 500\fP and the \fB_dnf_local_nogpgcheck\fP repository has \fBcost = 501\fP, so the gpgcheck\-enabled repository is preferred when both contain the same package. .sp To generate the metadata \fIcreaterepo_c\fP is required. .SH CONFIGURATION .sp The plugin configuration is in \fB/etc/dnf/libdnf5\-plugins/local.conf\fP\&. The minimal content of the conf file should contain \fBmain\fP and \fBcreaterepo\fP sections. .sp The \fBmain\fP section requires: .INDENT 0.0 .TP .B \fBname\fP string \%<#\:string-label> .sp The plugin\(aqs name is \fBlocal\fP .TP .B \fBenabled\fP Whether or where the plugin is enabled: \fBtrue\fP, \fBfalse\fP, \fBhost\-only\fP, \fBinstallroot\-only\fP\&. .INDENT 7.0 .IP \(bu 2 For \fBhost\-only\fP the plugin will run only on transactions in the default installroot \fB/\fP\&. .IP \(bu 2 For \fBinstallroot\-only\fP the plugin will run only on transactions in installroots different from \fB/\fP\&. .UNINDENT .UNINDENT .sp It can also contain: .INDENT 0.0 .TP .B \fBrepodir\fP string \%<#\:string-label> .sp Path where the local repository is located. By default it is in persistdir \%<#\:persistdir-options-label> in \fBplugins/local\fP subdirectory. .TP .B \fBrepodir_nogpgcheck\fP string \%<#\:string-label> .sp Path where the local repository for packages from repos with \fBpkg_gpgcheck\fP disabled is located. By default it is in persistdir \%<#\:persistdir-options-label> in \fBplugins/local\-nogpgcheck\fP subdirectory. .UNINDENT .sp The \fBcreaterepo\fP section requires: .INDENT 0.0 .TP .B \fBenabled\fP boolean \%<#\:boolean-label> .sp Whether running \fBcreaterepo\fP to generate repodata is enabled: \fBtrue\fP or \fBfalse\fP\&. .UNINDENT .sp Additionally it can contain: .INDENT 0.0 .TP .B \fBcachedir\fP string \%<#\:string-label> .sp If you want to speed up \fBcreaterepo\fP with the \fB\-\-cachedir\fP option. Not used by default. .TP .B \fBquiet\fP boolean \%<#\:boolean-label> .sp Whether to run \fBcreaterepo\fP with \fB\-\-quiet\fP option. On by default. .TP .B \fBverbose\fP boolean \%<#\:boolean-label> .sp Whether to run \fBcreaterepo\fP with \fB\-\-verbose\fP option. Off by default. .UNINDENT .SH Author See AUTHORS.md in dnf5 source distribution. .SH Copyright Contributors to the dnf5 project. .\" End of generated man page.