Config-manager Command
Synopsis
dnf5 config-manager <subcommand> [options] [arguments]
Description
Manages main configuration, repositories configuration, and variables.
Subcommands
addrepo --from-repofile=REPO_CONFIGURATION_FILE_URL [--create-missing-dir] [--overwrite] [--save-filename=FILENAME]
Adds a new repositories configuration file specified by URL or local path.
The file is copied without changes. The destination file name can be defined using the
--save-filename
option, otherwise it is taken from the source specification. If the.repo
extension is missing from the destination filename, it will be added.The destination directory path is the first path stored in the
reposdir
option (by default/etc/yum.repos.d
). Overwriting/replacing an existing file can be enabled using the--overwrite
option. Before the new repositories configuration file is finally saved, it is analyzed and tested for validity. Repository IDs are also tested. Repositories with the same ID must not be defined in other configuration files.addrepo [--id=REPO_ID] <--set=REPO_OPTION=VALUE>+ [--add-or-replace] [--create-missing-dir] [--overwrite] [--save-filename=FILENAME]
Adds a new repository defined using user options.
At least one of
--set=baseurl=<URL>
,--set=mirrorlist=<URL>
,--set=metalink=<URL>
must be set to a non-empty URL. The repository ID can be defined using the--id
option, otherwise it is generated from the URL. The destination file name can be defined using the--save-filename
option, otherwise it is set to the repository ID. If the.repo
extension is missing from the destination filename, it will be added.The destination directory path is the first path stored in the
reposdir
option (by default/etc/yum.repos.d
). Overwriting/replacing an existing file can be enabled using the--overwrite
option. Modifying an existing file can be enabled using the--add-or-replace
option. Modification means that the new repository is added to the existing file or a repository with the same ID is replaced in the file. Before the new repository configuration is finally saved, the repository ID is tested. A repository with the same ID must not be defined in another configuration file.setopt [--create-missing-dir] <[repoid.]option_name=value>+
Sets options in the main configuration file and in the repositories configuration override file.
The main configuration is read first from the files in the drop-in directories and then from the main configuration file (by default
/etc/dnf/dnf.conf
). So, options from main configuration file are read last and override the values of the same options defined in the drop-in directories.The repositories configuration is read from the repository configuration files and then adjusted using repository configuration overrides. Repository configuration override files are read from the distribution repository override directory (
/usr/share/dnf5/repos.override.d
) and from the system repository override directory (/etc/dnf/repos.override.d
). If a file with the same name is present in both override directories, only the file from the system override directory is used. Thus, the distribution override file can simply be masked by creating a file with the same name in the system override directory. All used override files are sorted alphabetically by their names and then applied in that order. The override from the next file overwrites the previous one—the last override wins.The
setopt
command writes the repositories configuration overrides to a file named99-config_manager.repo
located in the system repository override directory. Repository settings are written only to this override file. The original repository configuration file is not changed. Reposiory ID may contain globs. Override files also support globs. But thesetopt
command resolves therepoid
pattern, and overrides are set for each matching repository independently. This means repositories added later will not be affected by these overrides.unsetopt <[repoid.]option_name>+
Removes options from the main configuration file and from the repositories configuration override file.
The
unsetopt
command removes options from the main configuration file (by default/etc/dnf/dnf.conf
). However, the options may be still defined in configuration files in drop-in directories (for example, the default distribution configuration).The
unsetopt
command removes repository configuration overides from the file named99-config_manager.repo
located in the system repository override directory. However, the overrides may be still defined in other repository override files (for example, the default distribution overrides). Empty sections are removed from the configuration override file. Repository ID may contain globs. In this case, therepoid
pattern is resolved and the override is removed from all matching sections.setvar [--create-missing-dir] <variable_name=value>+
Sets one or more variables.
Variables are loaded from multiple directories. The list of directory paths is taken from the
varsdir
option. Thesetvar
command stores variables to the last directory in the list (by default/etc/dnf/vars
). Variables from this directory are read last and override the values of the same variables defined in previous directories. In other words, the last directory has the highest priority.Note: The variables
releasever_major
andreleasever_minor
are read-only. Their values are generated from thereleasever
variable.unsetvar <variable>+
Removes variables.
Variables are loaded from multiple directories. The list of directory paths is taken from the
varsdir
option. Theunsetvar
command removes variables from the last directory in the list (by default/etc/dnf/vars
). So, the variable may still exist in another directory in the list (for example, the default distribution value).Note: The variables
releasever_major
andreleasever_minor
are generated automatically and connot be removed.
Note
Override directories are also listed with examples in Drop-in repo directories.
Options
--add-or-replace
Allow adding or replacing the repository with the same ID in the existing configuration file.
--create-missing-dir
Allow creation of missing directories.
--from-repofile=REPO_CONFIGURATION_FILE_URL
Specifies the source configuration file with the new repositories.
--id=REPO_ID
Set ID for newly created repository.
--overwrite
Allow replacing the existing repository configuration file by new one.
--save-filename=FILENAME
Set the name of the new repository configuration file. The
.repo
extension is added if it is missing.--set=REPO_OPTION=VALUE
Set option in newly created repository.
Examples
dnf5 config-manager addrepo --from-repofile=http://example.com/some/additional.repo
Download
additional.repo
, test it, and put it in repository configuration directory.dnf5 config-manager addrepo --set=baseurl=http://example.com/different/repo
Create new repo file with
http://example.com/different/repo
asbaseurl
and enable it. The repository ID and target file name is generated frombaseurl
.dnf5 config-manager addrepo --set=baseurl=http://example.com/different/rep --id=example --set=enabled=0
Create new repo file with
http://example.com/different/repo
asbaseurl
. Set repository ID toexample
and disable it.dnf5 config-manager setopt repoid1.enabled=1 repoid2.enabled=0
Sets override to enable repository identified by
repoid1
and disable repository identified byrepoid2
.dnf5 config-manager setopt repo1.proxy=http://proxy.example.com:3128/ repo2.proxy=http://proxy.example.com:3128/
Sets override for
proxy
option in repositories with repository IDsrepo1
andrepo2
.dnf5 config-manager setopt '*-debuginfo.gpgcheck=0'
Sets override for the
gpgcheck
option in all repositories whose repository ID ends with-debuginfo
.dnf5 config-manager unsetopt '*-debuginfo.gpgcheck'
Remove override for the
gpgcheck
option in all repositories whose repository ID ends with-debuginfo
.dnf5 config-manager setopt keepcache=1 log_size=10M
Enables the
keepcache
main option and sets the maximum size of logger files to 10 mebibytes (10 * 1024 * 1024 bytes).dnf5 config-manager unsetopt keepcache log_size
Removes
keepcache
andlog_size
from the main configuration file.dnf5 config-manager setvar --create-missing-dir myvar1=value1 myvar2=value2
Sets the variables
myvar1
andmyvar2
. Directory for the variables is created if it does not exist.dnf5 config-manager unsetvar myvar1 myvar2
Removes
myvar1
andmyvar2
variables.
See Also
- Configuration:
- dnf5-conf(5), DNF5 Configuration Reference