Blame doc/conf_ref.rst

Packit 6f3914
..
Packit 6f3914
  Copyright (C) 2014-2018 Red Hat, Inc.
Packit 6f3914
Packit 6f3914
  This copyrighted material is made available to anyone wishing to use,
Packit 6f3914
  modify, copy, or redistribute it subject to the terms and conditions of
Packit 6f3914
  the GNU General Public License v.2, or (at your option) any later version.
Packit 6f3914
  This program is distributed in the hope that it will be useful, but WITHOUT
Packit 6f3914
  ANY WARRANTY expressed or implied, including the implied warranties of
Packit 6f3914
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
Packit 6f3914
  Public License for more details.  You should have received a copy of the
Packit 6f3914
  GNU General Public License along with this program; if not, write to the
Packit 6f3914
  Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
Packit 6f3914
  02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
Packit 6f3914
  source code or documentation are not subject to the GNU General Public
Packit 6f3914
  License and may only be used or replicated with the express permission of
Packit 6f3914
  Red Hat, Inc.
Packit 6f3914
Packit 6f3914
.. _conf_ref-label:
Packit 6f3914
Packit 6f3914
#############################
Packit 6f3914
 DNF Configuration Reference
Packit 6f3914
#############################
Packit 6f3914
Packit 6f3914
=============
Packit 6f3914
 Description
Packit 6f3914
=============
Packit 6f3914
Packit 6f3914
`DNF`_ by default uses the global configuration file at ``/etc/dnf/dnf.conf`` and
Packit 6f3914
all \*.repo files found under ``/etc/yum.repos.d``. The latter is typically used
Packit 6f3914
for repository configuration and takes precedence over global configuration.
Packit 6f3914
Packit 6f3914
The configuration file has INI format consisting of section declaration and
Packit 6f3914
``name=value`` options below each on separate line. There are two types of sections
Packit 6f3914
in the configuration files: main and repository. Main section defines all global
Packit 6f3914
configuration options and should be only one.
Packit 6f3914
Packit 6f3914
The repository sections define the configuration for each (remote or local)
Packit 6f3914
repository. The section name of the repository in brackets serve as repo ID reference
Packit 6f3914
and should be unique across configuration files. The allowed characters of repo ID
Packit 6f3914
string are lower and upper case alphabetic letters, digits, ``-``, ``_``, ``.``
Packit 6f3914
and ``:``. The minimal repository configuration file should aside from repo ID
Packit 6f3914
consists of :ref:`baseurl <baseurl-label>`, :ref:`metalink <metalink-label>`
Packit 6f3914
or :ref:`mirrorlist <mirrorlist-label>` option definition.
Packit 6f3914
Packit 6f3914
.. _conf_distribution_specific-label:
Packit 6f3914
Packit 6f3914
=====================================
Packit 6f3914
 Distribution-Specific Configuration
Packit 6f3914
=====================================
Packit 6f3914
Packit 6f3914
Configuration options, namely :ref:`best <best-label>` and
Packit 6f3914
:ref:`skip_if_unavailable <skip_if_unavailable-label>`, can be set in the DNF
Packit 6f3914
configuration file by your distribution to override the DNF defaults.
Packit 6f3914
Packit 6f3914
Packit 6f3914
.. _conf_main_options-label:
Packit 6f3914
Packit 6f3914
================
Packit 6f3914
 [main] Options
Packit 6f3914
================
Packit 6f3914
Packit 6f3914
.. _arch-label:
Packit 6f3914
Packit 6f3914
``arch``
Packit 6f3914
    :ref:`string <string-label>`
Packit 6f3914
Packit 6f3914
    The architecture used for installing packages. By default this is auto-detected. Often used
Packit 6f3914
    together with :ref:`ignorearch <ignorearch-label>` option.
Packit 6f3914
Packit 6f3914
.. _assumeno-label:
Packit 6f3914
Packit 6f3914
``assumeno``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    If enabled dnf will assume ``No`` where it would normally prompt for
Packit 6f3914
    confirmation from user input. Default is ``False``.
Packit 6f3914
Packit 6f3914
.. _assumeyes-label:
Packit 6f3914
Packit 6f3914
``assumeyes``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    If enabled dnf will assume ``Yes`` where it would normally prompt for
Packit 6f3914
    confirmation from user input (see also :ref:`defaultyes <defaultyes-label>`). Default is ``False``.
Packit 6f3914
Packit 6f3914
.. _autocheck_running_kernel-label:
Packit 6f3914
Packit 6f3914
``autocheck_running_kernel``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    Automatic check whether there is installed newer kernel module with security update than currently running kernel. Default is ``True``.
Packit 6f3914
Packit 6f3914
``basearch``
Packit 6f3914
    :ref:`string <string-label>`
Packit 6f3914
Packit 6f3914
    The base architecture used for installing packages. By default this is auto-detected.
Packit 6f3914
Packit 6f3914
.. _best-label:
Packit 6f3914
Packit 6f3914
``best``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    ``True`` instructs the solver to either use a package with the highest available
Packit 6f3914
    version or fail. On ``False``, do not fail if the latest version cannot be
Packit 6f3914
    installed and go with the lower version. The default is ``True``.  Note
Packit 6f3914
    this option in particular :ref:`can be set in your configuration file by
Packit 6f3914
    your distribution <conf_distribution_specific-label>`.
Packit 6f3914
Packit 6f3914
``cachedir``
Packit 6f3914
    :ref:`string <string-label>`
Packit 6f3914
Packit 6f3914
    Path to a directory used by various DNF subsystems for storing cache data.
Packit 6f3914
    Has a reasonable root-writable default depending on the distribution. DNF
Packit 6f3914
    needs to be able to create files and directories at this location.
Packit 6f3914
Packit 6f3914
``cacheonly``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    If set to ``True`` DNF will run entirely from system cache, will not update
Packit 6f3914
    the cache and will use it even in case it is expired. Default is ``False``.
Packit 6f3914
Packit 6f3914
.. _check_config_file_age-label:
Packit 6f3914
Packit 6f3914
``check_config_file_age``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    Specifies whether dnf should automatically expire metadata of repos, which are older than
Packit 6f3914
    their corresponding configuration file (usually the dnf.conf file and the foo.repo file).
Packit 6f3914
    Default is ``True`` (perform the check). Expire of metadata is also affected by metadata age.
Packit 6f3914
    See also :ref:`metadata_expire <metadata_expire-label>`.
Packit 6f3914
Packit 6f3914
.. _clean_requirements_on_remove-label:
Packit 6f3914
Packit 6f3914
``clean_requirements_on_remove``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    Remove dependencies that are no longer used during ``dnf remove``. A package
Packit 6f3914
    only qualifies for removal via ``clean_requirements_on_remove`` if it was
Packit 6f3914
    installed through DNF but not on explicit user request, i.e. it was
Packit 6f3914
    pulled in as a dependency. The default is True.
Packit 6f3914
    (:ref:`installonlypkgs <installonlypkgs-label>` are never automatically removed.)
Packit 6f3914
Packit 6f3914
``config_file_path``
Packit 6f3914
    :ref:`string <string-label>`
Packit 6f3914
Packit 6f3914
    Path to the default main configuration file. Default is ``/etc/dnf/dnf.conf``.
Packit 6f3914
Packit 6f3914
``debuglevel``
Packit 6f3914
    :ref:`integer <integer-label>`
Packit 6f3914
Packit 6f3914
    Debug messages output level, in the range 0 to 10. The higher the number the
Packit 6f3914
    more debug output is put to stdout. Default is 2.
Packit 6f3914
Packit 6f3914
``debug_solver``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    Controls whether the libsolv debug files should be created when solving the
Packit 6f3914
    transaction. The debug files are created in the `./debugdata` directory.
Packit 6f3914
    Default is ``False``.
Packit 6f3914
Packit 6f3914
.. _defaultyes-label:
Packit 6f3914
Packit 6f3914
``defaultyes``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    If enabled the default answer to user confirmation prompts will be ``Yes``. Not
Packit 6f3914
    to be confused with :ref:`assumeyes <assumeyes-label>` which will not prompt at all. Default is ``False``.
Packit 6f3914
Packit 6f3914
``diskspacecheck``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    Controls wheather rpm shoud check available disk space during the transaction.
Packit 6f3914
    Default is ``True``.
Packit 6f3914
Packit 6f3914
``errorlevel``
Packit 6f3914
    :ref:`integer <integer-label>`
Packit 6f3914
Packit 6f3914
    Error messages output level, in the range 0 to 10. The higher the number the
Packit 6f3914
    more error output is put to stderr. Default is 3. This is deprecated in DNF
Packit 6f3914
    and overwritten by \-\ :ref:`-verbose <verbose_options-label>` commandline
Packit 6f3914
    option.
Packit 6f3914
Packit 6f3914
``exit_on_lock``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    Should the dnf client exit immediately when something else has the lock. Default is ``False``.
Packit 6f3914
Packit 6f3914
``gpgkey_dns_verification``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    Should the dnf attempt to automatically verify GPG verification keys using the DNS
Packit 6f3914
    system. This option requires libunbound to be installed on the client system. This
Packit 6f3914
    system has two main features. The first one is to check if any of the already
Packit 6f3914
    installed keys have been revoked. Automatic removal of the key is not yet available,
Packit 6f3914
    so it is up to the user, to remove revoked keys from the system. The second feature is
Packit 6f3914
    automatic verification of new keys when a repository is added to the system. In
Packit 6f3914
    interactive mode, the result is written to the output as a suggestion to the user. In
Packit 6f3914
    non-interactive mode (i.e. when -y is used), this system will automatically accept
Packit 6f3914
    keys that are available in the DNS and are correctly signed using DNSSEC. It will also
Packit 6f3914
    accept keys that do not exist in the DNS system and their NON-existence is
Packit 6f3914
    cryptographically proven using DNSSEC. This is mainly to preserve backward
Packit 6f3914
    compatibility.
Packit 6f3914
    Default is ``False``.
Packit 6f3914
Packit 6f3914
Packit 6f3914
``group_package_types``
Packit 6f3914
    :ref:`list <list-label>`
Packit 6f3914
Packit 6f3914
    List of the following: optional, default, mandatory. Tells dnf which type of packages in groups will
Packit 6f3914
    be installed when 'groupinstall' is called. Default is: ``default, mandatory``.
Packit 6f3914
Packit 6f3914
.. _ignorearch-label:
Packit 6f3914
Packit 6f3914
``ignorearch``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    If set to ``True``, RPM will allow attempts to install packages incompatible with the CPU's
Packit 6f3914
    architecture. Defaults to ``False``. Often used together with
Packit 6f3914
    :ref:`arch <arch-label>` option.
Packit 6f3914
Packit 6f3914
.. _installonlypkgs-label:
Packit 6f3914
Packit 6f3914
``installonlypkgs``
Packit 6f3914
    :ref:`list <list-label>`
Packit 6f3914
Packit 6f3914
    List of provide names of packages that should only ever be installed, never
Packit 6f3914
    upgraded. Kernels in particular fall into this category.
Packit 6f3914
    These packages are never removed by ``dnf autoremove`` even if they were
Packit 6f3914
    installed as dependencies (see
Packit 6f3914
    :ref:`clean_requirements_on_remove <clean_requirements_on_remove-label>`
Packit 6f3914
    for auto removal details).
Packit 6f3914
    This option append the list values to the default installonlypkgs list used
Packit 6f3914
    by DNF. The number of kept package versions is regulated
Packit 6f3914
    by :ref:`installonly_limit <installonly-limit-label>`.
Packit 6f3914
Packit 6f3914
.. _installonly-limit-label:
Packit 6f3914
Packit 6f3914
``installonly_limit``
Packit 6f3914
    :ref:`integer <integer-label>`
Packit 6f3914
Packit 6f3914
    Number of :ref:`installonly packages <installonlypkgs-label>` allowed to be installed
Packit 6f3914
    concurrently. Defaults to 3. The minimal number of installonly packages is 2. Value 0 or 1 means
Packit 6f3914
    unlimited number of installonly packages.
Packit 6f3914
Packit 6f3914
``installroot``
Packit 6f3914
    :ref:`string <string-label>`
Packit 6f3914
Packit 6f3914
    The root of the filesystem for all packaging operations. It requires an absolute path. See also :ref:`--installroot commandline option <installroot-label>`.
Packit 6f3914
Packit 6f3914
``install_weak_deps``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    When this option is set to True and a new package is about to be
Packit 6f3914
    installed, all packages linked by weak dependency relation (Recommends or Supplements flags) with this package will be pulled into the transaction.
Packit 6f3914
    Default is ``True``.
Packit 6f3914
Packit 6f3914
.. _keepcache-label:
Packit 6f3914
Packit 6f3914
``keepcache``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    Keeps downloaded packages in the cache when set to True. Even if it is set to False and packages have not been
Packit 6f3914
    installed they will still persist until next successful transaction. The default
Packit 6f3914
    is ``False``.
Packit 6f3914
Packit 6f3914
``logdir``
Packit 6f3914
    :ref:`string <string-label>`
Packit 6f3914
Packit 6f3914
    Directory where the log files will be stored. Default is ``/var/log``.
Packit 6f3914
Packit 6f3914
.. _log_rotate-label:
Packit 6f3914
Packit 6f3914
``log_rotate``
Packit 6f3914
    :ref:`integer <integer-label>`
Packit 6f3914
Packit 6f3914
    Log files are rotated ``log_rotate`` times before being removed. If ``log_rotate``
Packit 6f3914
    is ``0``, the rotation is not performed.
Packit 6f3914
    Default is ``4``.
Packit 6f3914
Packit 6f3914
.. _log_size-label:
Packit 6f3914
Packit 6f3914
``log_size``
Packit 6f3914
    storage size
Packit 6f3914
Packit 6f3914
    Log  files are rotated when they grow bigger than log_size bytes. If
Packit 6f3914
    log_size is 0, the rotation is not performed. The default is 1 MB. Valid
Packit 6f3914
    units are 'k', 'M', 'G'.
Packit 6f3914
Packit 6f3914
    The size applies for individual log files, not the sum of all log files.
Packit 6f3914
    See also :ref:`log_rotate <log_rotate-label>`.
Packit 6f3914
Packit 6f3914
.. _metadata_timer_sync-label:
Packit 6f3914
Packit 6f3914
``metadata_timer_sync``
Packit 6f3914
    time in seconds
Packit 6f3914
Packit 6f3914
    The minimal period between two consecutive ``makecache timer`` runs. The
Packit 6f3914
    command will stop immediately if it's less than this time period since its
Packit 6f3914
    last run. Does not affect simple ``makecache`` run. Use ``0`` to completely
Packit 6f3914
    disable automatic metadata synchronizing. The default corresponds to three
Packit 6f3914
    hours. The value is rounded to the next commenced hour.
Packit 6f3914
Packit 6f3914
.. _module_platform_id-label:
Packit 6f3914
Packit 6f3914
``module_platform_id``
Packit 6f3914
    :ref:`string <string-label>`
Packit 6f3914
Packit 6f3914
    Set this to $name:$stream to override PLATFORM_ID detected from ``/etc/os-release``.
Packit 6f3914
    It is necessary to perform a system upgrade and switch to a new platform.
Packit 6f3914
Packit 6f3914
``multilib_policy``
Packit 6f3914
    :ref:`string <string-label>`
Packit 6f3914
Packit 6f3914
    Controls how multilib packages are treated during install operations. Can either be ``"best"`` (the default) for the depsolver to prefer packages which best match the system's architecture, or ``"all"`` to install all available packages with compatible architectures.
Packit 6f3914
Packit 6f3914
.. _obsoletes_conf_option-label:
Packit 6f3914
Packit 6f3914
``obsoletes``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    This option only has affect during an install/update. It enables
Packit 6f3914
    dnf's obsoletes processing logic, which means it makes dnf check whether
Packit 6f3914
    any dependencies of given package are no longer required and removes them.
Packit 6f3914
    Useful when doing distribution level upgrades.
Packit 6f3914
    Default is 'true'.
Packit 6f3914
Packit 6f3914
    Command-line option: :ref:`--obsoletes <obsoletes_option-label>`
Packit 6f3914
Packit 6f3914
``persistdir``
Packit 6f3914
    :ref:`string <string-label>`
Packit 6f3914
Packit 6f3914
    Directory where DNF stores its persistent data between runs. Default is ``"/var/lib/dnf"``.
Packit 6f3914
Packit 6f3914
``pluginconfpath``
Packit 6f3914
    :ref:`list <list-label>`
Packit 6f3914
Packit 6f3914
    List of directories that are searched for plugin configurations to load. All
Packit 6f3914
    configuration files found in these directories, that are named same as a
Packit 6f3914
    plugin, are parsed. The default path is ``/etc/dnf/plugins``.
Packit 6f3914
Packit 6f3914
.. _pluginpath-label:
Packit 6f3914
Packit 6f3914
``pluginpath``
Packit 6f3914
    :ref:`list <list-label>`
Packit 6f3914
Packit 6f3914
    List of directories that are searched for plugins to load. Plugins found in *any of the directories* in this configuration option are used. The default contains a Python version-specific path.
Packit 6f3914
Packit 6f3914
``plugins``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    Controls whether the plugins are enabled. Default is ``True``.
Packit 6f3914
Packit 6f3914
``protected_packages``
Packit 6f3914
    :ref:`list <list-label>`
Packit 6f3914
Packit 6f3914
    List of packages that DNF should never completely remove. They are protected via Obsoletes as well as user/plugin removals.
Packit 6f3914
Packit 6f3914
    The default is: ``dnf``, ``glob:/etc/yum/protected.d/*.conf`` and ``glob:/etc/dnf/protected.d/*.conf``. So any packages which should be protected can do so by including a file in ``/etc/dnf/protected.d`` with their package name in it.
Packit 6f3914
Packit 6f3914
    DNF will protect also the package corresponding to the running version of the kernel.
Packit 6f3914
Packit 6f3914
``releasever``
Packit 6f3914
    :ref:`string <string-label>`
Packit 6f3914
Packit 6f3914
    Used for substitution of ``$releasever`` in the repository configuration.
Packit 6f3914
    See also :ref:`repo variables <repo-variables-label>`.
Packit 6f3914
Packit 6f3914
.. _reposdir-label:
Packit 6f3914
Packit 6f3914
``reposdir``
Packit 6f3914
    :ref:`list <list-label>`
Packit 6f3914
Packit 6f3914
    DNF searches for repository configuration files in the paths specified by
Packit 6f3914
    ``reposdir``. The behavior of ``reposdir`` could differ when it is used
Packit 6f3914
    along with \-\ :ref:`-installroot <installroot-label>` option.
Packit 6f3914
Packit 6f3914
``rpmverbosity``
Packit 6f3914
    :ref:`string <string-label>`
Packit 6f3914
Packit 6f3914
    RPM debug scriptlet output level. One of: ``critical``, ``emergency``,
Packit 6f3914
    ``error``, ``warn``, ``info`` or ``debug``. Default is ``info``.
Packit 6f3914
Packit 6f3914
.. _strict-label:
Packit 6f3914
Packit 6f3914
``strict``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    If disabled, all unavailable packages or packages with broken dependencies given to DNF command will be skipped without raising the error causing the whole operation to fail. Currently works for install command only. The default is True.
Packit 6f3914
Packit 6f3914
``tsflags``
Packit 6f3914
    :ref:`list <list-label>`
Packit 6f3914
Packit 6f3914
    List of strings adding extra flags for the RPM transaction.
Packit 6f3914
Packit 6f3914
    ============  ===========================
Packit 6f3914
    tsflag value  RPM Transaction Flag
Packit 6f3914
    ============  ===========================
Packit 6f3914
    noscripts     RPMTRANS_FLAG_NOSCRIPTS
Packit 6f3914
    test          RPMTRANS_FLAG_TEST
Packit 6f3914
    notriggers    RPMTRANS_FLAG_NOTRIGGERS
Packit 6f3914
    nodocs        RPMTRANS_FLAG_NODOCS
Packit 6f3914
    justdb        RPMTRANS_FLAG_JUSTDB
Packit 6f3914
    nocontexts    RPMTRANS_FLAG_NOCONTEXTS
Packit 6f3914
    nocaps        RPMTRANS_FLAG_NOCAPS
Packit 6f3914
    nocrypto      RPMTRANS_FLAG_NOFILEDIGEST
Packit 6f3914
    ============  ===========================
Packit 6f3914
Packit 6f3914
    The ``nocrypto`` option will also set the ``_RPMVSF_NOSIGNATURES`` and
Packit 6f3914
    ``_RPMVSF_NODIGESTS`` VS flags. The ``test`` option provides a transaction check
Packit 6f3914
    without performing the transaction. It includes downloading of packages, gpg keys check
Packit 6f3914
    (including permanent import of additional keys if necessary), and rpm check to prevent
Packit 6f3914
    file conflicts.
Packit 6f3914
    The ``nocaps`` is supported with rpm-4.14 or later. When ``nocaps`` is used but rpm
Packit 6f3914
    doesn't support it, DNF only reports it as an invalid tsflag.
Packit 6f3914
Packit 6f3914
``upgrade_group_objects_upgrade``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    Set this to False to disable the automatic running of ``group upgrade`` when running the ``upgrade`` command. Default is ``True`` (perform the operation).
Packit 6f3914
Packit 6f3914
.. _varsdir_options-label:
Packit 6f3914
Packit 6f3914
``varsdir``
Packit 6f3914
    :ref:`list <list-label>`
Packit 6f3914
Packit 6f3914
    List of directories where variables definition files are looked for. Defaults to
Packit 6f3914
    ``"/etc/dnf/vars", "/etc/yum/vars"``. See :ref:`variable files <varfiles-label>`
Packit 6f3914
    in Configuration reference.
Packit 6f3914
Packit 6f3914
.. _conf_repo_options-label:
Packit 6f3914
Packit 6f3914
``zchunk``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    Enables or disables the use of repository metadata compressed using the zchunk format (if available). Default is ``True``.
Packit 6f3914
Packit 6f3914
==============
Packit 6f3914
 Repo Options
Packit 6f3914
==============
Packit 6f3914
Packit 6f3914
.. _baseurl-label:
Packit 6f3914
Packit 6f3914
``baseurl``
Packit 6f3914
    :ref:`list <list-label>`
Packit 6f3914
Packit 6f3914
    List of URLs for the repository. Defaults to ``[]``.
Packit 6f3914
Packit 6f3914
.. _repo_cost-label:
Packit 6f3914
Packit 6f3914
``cost``
Packit 6f3914
    :ref:`integer <integer-label>`
Packit 6f3914
Packit 6f3914
    The relative cost of accessing this repository, defaulting to 1000. This
Packit 6f3914
    value is compared when the priorities of two repositories are the same. The
Packit 6f3914
    repository with *the lowest cost* is picked. It is useful to make the
Packit 6f3914
    library prefer on-disk repositories to remote ones.
Packit 6f3914
Packit 6f3914
``enabled``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    Include this repository as a package source. The default is True.
Packit 6f3914
Packit 6f3914
.. _repo_gpgkey-label:
Packit 6f3914
Packit 6f3914
``gpgkey``
Packit 6f3914
    :ref:`list <list-label>` of strings
Packit 6f3914
Packit 6f3914
    URLs of a GPG key files that can be used for signing metadata and packages of this repository, empty by default. If a file can not be verified using the already imported keys, import of keys from this option is attempted and the keys are then used for verification.
Packit 6f3914
Packit 6f3914
.. _metalink-label:
Packit 6f3914
Packit 6f3914
``metalink``
Packit 6f3914
    :ref:`string <string-label>`
Packit 6f3914
Packit 6f3914
    URL of a metalink for the repository. Defaults to ``None``.
Packit 6f3914
Packit 6f3914
.. _mirrorlist-label:
Packit 6f3914
Packit 6f3914
``mirrorlist``
Packit 6f3914
    :ref:`string <string-label>`
Packit 6f3914
Packit 6f3914
    URL of a mirrorlist for the repository. Defaults to ``None``.
Packit 6f3914
Packit 6f3914
.. _module_hotfixes-label:
Packit 6f3914
Packit 6f3914
``module_hotfixes``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    Set this to True to disable module RPM filtering and make all RPMs from the repository available. The default is False.
Packit 6f3914
    This allows user to create a repository with cherry-picked hotfixes that are included in a package set on a modular system.
Packit 6f3914
Packit 6f3914
.. _repo_name-label:
Packit 6f3914
Packit 6f3914
``name``
Packit 6f3914
    :ref:`string <string-label>`
Packit 6f3914
Packit 6f3914
    A human-readable name of the repository. Defaults to the ID of the repository.
Packit 6f3914
Packit 6f3914
.. _repo_priority-label:
Packit 6f3914
Packit 6f3914
``priority``
Packit 6f3914
    :ref:`integer <integer-label>`
Packit 6f3914
Packit 6f3914
    The priority value of this repository, default is 99. If there is more than one candidate package for a particular operation, the one from a repo with *the lowest priority value* is picked, possibly despite being less convenient otherwise (e.g. by being a lower version).
Packit 6f3914
Packit 6f3914
``type``
Packit 6f3914
    :ref:`string <string-label>`
Packit 6f3914
Packit 6f3914
    Type of repository metadata. Supported values are: ``rpm-md``.
Packit 6f3914
    Aliases for ``rpm-md``: ``rpm``, ``repomd``, ``rpmmd``, ``yum``, ``YUM``.
Packit 6f3914
Packit 6f3914
.. _repo-variables-label:
Packit 6f3914
Packit 6f3914
================
Packit 6f3914
 Repo Variables
Packit 6f3914
================
Packit 6f3914
Packit 6f3914
Right side of every repo option can be enriched by the following variables:
Packit 6f3914
Packit 6f3914
``$arch``
Packit 6f3914
Packit 6f3914
    Refers to the system’s CPU architecture e.g, aarch64, i586, i686 and x86_64.
Packit 6f3914
Packit 6f3914
``$basearch``
Packit 6f3914
Packit 6f3914
    Refers to the base architecture of the system. For example, i686 and i586 machines
Packit 6f3914
    both have a base architecture of i386, and AMD64 and Intel64 machines have a base architecture of x86_64.
Packit 6f3914
Packit 6f3914
``$releasever``
Packit 6f3914
Packit 6f3914
    Refers to the release version of operating system which DNF derives from information available in RPMDB.
Packit 6f3914
Packit 6f3914
Packit 6f3914
In addition to these hard coded variables, user-defined ones can also be used. They can be defined either via :ref:`variable files <varfiles-label>`, or by using special environmental variables. The names of these variables must be prefixed with DNF_VAR\_ and they can only consist of alphanumeric characters and underscores::
Packit 6f3914
Packit 6f3914
    $ DNF_VAR_MY_VARIABLE=value
Packit 6f3914
Packit 6f3914
.. _conf_main_and_repo_options-label:
Packit 6f3914
Packit 6f3914
==================================
Packit 6f3914
 Options for both [main] and Repo
Packit 6f3914
==================================
Packit 6f3914
Packit 6f3914
Some options can be applied in either the main section, per repository, or in a
Packit 6f3914
combination. The value provided in the main section is used for all repositories
Packit 6f3914
as the default value, which repositories can then override in their
Packit 6f3914
configuration.
Packit 6f3914
Packit 6f3914
.. _bandwidth-label:
Packit 6f3914
Packit 6f3914
``bandwidth``
Packit 6f3914
    storage size
Packit 6f3914
Packit 6f3914
    Total bandwidth available for downloading. Meaningful when used with the :ref:`throttle option <throttle-label>`. Storage size is in bytes by default but can be specified with a unit of storage. Valid units are 'k', 'M', 'G'.
Packit 6f3914
Packit 6f3914
``countme``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    Determines whether a special flag should be added to a single, randomly
Packit 6f3914
    chosen metalink/mirrorlist query each week.
Packit 6f3914
    This allows the repository owner to estimate the number of systems
Packit 6f3914
    consuming it, by counting such queries over a week's time, which is much
Packit 6f3914
    more accurate than just counting unique IP addresses (which is subject to
Packit 6f3914
    both overcounting and undercounting due to short DHCP leases and NAT,
Packit 6f3914
    respectively).
Packit 6f3914
Packit 6f3914
    The flag is a simple "countme=N" parameter appended to the metalink and
Packit 6f3914
    mirrorlist URL, where N is an integer representing the "longevity" bucket
Packit 6f3914
    this system belongs to.
Packit 6f3914
    The following 4 buckets are defined, based on how many full weeks have
Packit 6f3914
    passed since the beginning of the week when this system was installed: 1 =
Packit 6f3914
    first week, 2 = first month (2-4 weeks), 3 = six months (5-24 weeks) and 4
Packit 6f3914
    = more than six months (> 24 weeks).
Packit 6f3914
    This information is meant to help distinguish short-lived installs from
Packit 6f3914
    long-term ones, and to gather other statistics about system lifecycle.
Packit 6f3914
Packit 6f3914
    Default is False.
Packit 6f3914
Packit 6f3914
.. _deltarpm-label:
Packit 6f3914
Packit 6f3914
``deltarpm``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    When enabled, DNF will save bandwidth by downloading much smaller delta RPM
Packit 6f3914
    files, rebuilding them to RPM locally. However, this is quite CPU and I/O
Packit 6f3914
    intensive. Default is True.
Packit 6f3914
Packit 6f3914
``deltarpm_percentage``
Packit 6f3914
    :ref:`integer <integer-label>`
Packit 6f3914
Packit 6f3914
    When the relative size of delta vs pkg is larger than this, delta is not used.  Default value is 75
Packit 6f3914
    (Deltas must be at least 25% smaller than the pkg).  Use `0` to turn off delta rpm processing. Local repositories (with
Packit 6f3914
    file:// baseurl) have delta rpms turned off by default.
Packit 6f3914
Packit 6f3914
``enablegroups``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    Determines whether DNF will allow the use of package groups for this repository. Default is True (package groups are allowed).
Packit 6f3914
Packit 6f3914
.. _exclude-label:
Packit 6f3914
Packit 6f3914
``excludepkgs``
Packit 6f3914
    :ref:`list <list-label>`
Packit 6f3914
Packit 6f3914
    Exclude packages of this repository, specified by a name or a glob and
Packit 6f3914
    separated by a comma, from all operations.
Packit 6f3914
    Can be disabled using ``--disableexcludes`` command line switch.
Packit 6f3914
    Defaults to ``[]``.
Packit 6f3914
Packit 6f3914
``fastestmirror``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    If enabled a metric is used to find the fastest available mirror. This overrides the order provided by the mirrorlist/metalink file itself. This file is often dynamically generated by the server to provide the best download speeds and enabling fastestmirror overrides this. The default is False.
Packit 6f3914
Packit 6f3914
.. _gpgcheck-label:
Packit 6f3914
Packit 6f3914
``gpgcheck``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    Whether to perform GPG signature check on packages found in this repository.
Packit 6f3914
    The default is False.
Packit 6f3914
Packit 6f3914
    This option can only be used to strengthen the active RPM security policy set with the ``%_pkgverify_level`` macro (see the ``/usr/lib/rpm/macros`` file for details).
Packit 6f3914
    That means, if the macro is set to 'signature' or 'all' and this option is False, it will be overridden to True during DNF runtime, and a warning will be printed.
Packit 6f3914
    To squelch the warning, make sure this option is True for every enabled repository, and also enable :ref:`localpkg_gpgcheck <localpkg_gpgcheck-label>`.
Packit 6f3914
Packit 6f3914
.. _include-label:
Packit 6f3914
Packit 6f3914
``includepkgs``
Packit 6f3914
    :ref:`list <list-label>`
Packit 6f3914
Packit 6f3914
    Include packages of this repository, specified by a name or a glob and separated by a comma, in all operations.
Packit 6f3914
    Inverse of :ref:`excludepkgs <exclude-label>`, DNF will exclude any package in the repository that doesn't match this list. This works in conjunction with exclude and doesn't override it, so if you 'excludepkgs=*.i386' and 'includepkgs=python*' then only packages starting with python that do not have an i386 arch will be seen by DNF in this repo.
Packit 6f3914
    Can be disabled using ``--disableexcludes`` command line switch.
Packit 6f3914
    Defaults to ``[]``.
Packit 6f3914
Packit 6f3914
.. _ip-resolve-label:
Packit 6f3914
Packit 6f3914
``ip_resolve``
Packit 6f3914
    IP address type
Packit 6f3914
Packit 6f3914
    Determines how DNF resolves host names. Set this to '4'/'IPv4' or '6'/'IPv6' to resolve to IPv4 or IPv6 addresses only. By default, DNF resolves to either addresses.
Packit 6f3914
Packit 6f3914
.. _localpkg_gpgcheck-label:
Packit 6f3914
Packit 6f3914
``localpkg_gpgcheck``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    Whether to perform a GPG signature check on local packages (packages in a file, not in a repository).
Packit 6f3914
    The default is False.
Packit 6f3914
    This option is subject to the active RPM security policy (see :ref:`gpgcheck <gpgcheck-label>` for more details).
Packit 6f3914
Packit 6f3914
``max_parallel_downloads``
Packit 6f3914
    :ref:`integer <integer-label>`
Packit 6f3914
Packit 6f3914
    Maximum number of simultaneous package downloads. Defaults to 3.
Packit 6f3914
Packit 6f3914
.. _metadata_expire-label:
Packit 6f3914
Packit 6f3914
``metadata_expire``
Packit 6f3914
    time in seconds
Packit 6f3914
Packit 6f3914
    The period after which the remote repository is checked for metadata update and in the positive
Packit 6f3914
    case the local metadata cache is updated. The default corresponds to 48 hours. Set this to
Packit 6f3914
    ``-1`` or ``never`` to make the repo never considered expired. Expire of metadata can bee also
Packit 6f3914
    triggered by change of timestamp of configuration files (``dnf.conf``, ``<repo>.repo``). See
Packit 6f3914
    also :ref:`check_config_file_age <check_config_file_age-label>`.
Packit 6f3914
Packit 6f3914
.. _minrate-label:
Packit 6f3914
Packit 6f3914
``minrate``
Packit 6f3914
    storage size
Packit 6f3914
Packit 6f3914
    This sets the low speed threshold in bytes per second. If the server is sending data at the same or slower speed than this value for at least :ref:`timeout option <timeout-label>` seconds, DNF aborts the connection. The default is 1000. Valid units are 'k', 'M', 'G'.
Packit 6f3914
Packit 6f3914
``password``
Packit 6f3914
    :ref:`string <string-label>`
Packit 6f3914
Packit 6f3914
    The password to use for connecting to a repository with basic HTTP authentication. Empty by default.
Packit 6f3914
Packit 6f3914
``proxy``
Packit 6f3914
    :ref:`string <string-label>`
Packit 6f3914
Packit 6f3914
    URL of a proxy server to connect through. Set to an empty string to disable the proxy setting inherited from the main section and use direct connection instead. The expected format of this option is ``<scheme>://<ip-or-hostname>[:port]``.
Packit 6f3914
    (For backward compatibility, '_none_' can be used instead of the empty string.)
Packit 6f3914
Packit 6f3914
    Note: The curl environment variables (such as ``http_proxy``) are effective if this option is unset. See the ``curl`` man page for details.
Packit 6f3914
Packit 6f3914
``proxy_username``
Packit 6f3914
    :ref:`string <string-label>`
Packit 6f3914
Packit 6f3914
    The username to use for connecting to the proxy server. Empty by default.
Packit 6f3914
Packit 6f3914
``proxy_password``
Packit 6f3914
    :ref:`string <string-label>`
Packit 6f3914
Packit 6f3914
    The password to use for connecting to the proxy server. Empty by default.
Packit 6f3914
Packit 6f3914
``proxy_auth_method``
Packit 6f3914
    :ref:`string <string-label>`
Packit 6f3914
Packit 6f3914
    The authentication method used by the proxy server. Valid values are
Packit 6f3914
Packit 6f3914
    ==========     ==========================================================
Packit 6f3914
    method         meaning
Packit 6f3914
    ==========     ==========================================================
Packit 6f3914
    basic          HTTP Basic authentication
Packit 6f3914
    digest         HTTP Digest authentication
Packit 6f3914
    negotiate      HTTP Negotiate (SPNEGO) authentication
Packit 6f3914
    ntlm           HTTP NTLM authentication
Packit 6f3914
    digest_ie      HTTP Digest authentication with an IE flavor
Packit 6f3914
    ntlm_wb        NTLM delegating to winbind helper
Packit 6f3914
    none           None auth method
Packit 6f3914
    any            All suitable methods
Packit 6f3914
    ==========     ==========================================================
Packit 6f3914
Packit 6f3914
    Defaults to ``any``
Packit 6f3914
Packit 6f3914
Packit 6f3914
.. _repo_gpgcheck-label:
Packit 6f3914
Packit 6f3914
``repo_gpgcheck``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    Whether to perform GPG signature check on this repository's metadata. The default is False.
Packit 6f3914
Packit 6f3914
``retries``
Packit 6f3914
    :ref:`integer <integer-label>`
Packit 6f3914
Packit 6f3914
    Set the number of times any attempt to retrieve a file should retry before returning an error. Setting this to `0` makes dnf try forever. Default is `10`.
Packit 6f3914
Packit 6f3914
.. _skip_if_unavailable-label:
Packit 6f3914
Packit 6f3914
``skip_if_unavailable``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    If enabled, DNF will continue running and disable the repository that couldn't be synchronized
Packit 6f3914
    for any reason. This option doesn't affect skipping of unavailable packages after dependency
Packit 6f3914
    resolution. To check inaccessibility of repository use it in combination with
Packit 6f3914
    :ref:`refresh command line option <refresh_command-label>`. The default is ``False``.
Packit 6f3914
    Note this option in particular :ref:`can be set in your configuration file
Packit 6f3914
    by your distribution <conf_distribution_specific-label>`.
Packit 6f3914
Packit 6f3914
.. _sslcacert-label:
Packit 6f3914
Packit 6f3914
``sslcacert``
Packit 6f3914
    :ref:`string <string-label>`
Packit 6f3914
Packit 6f3914
    Path to the directory or file containing the certificate authorities to verify SSL certificates.
Packit 6f3914
    Empty by default - uses system default.
Packit 6f3914
Packit 6f3914
.. _sslverify-label:
Packit 6f3914
Packit 6f3914
``sslverify``
Packit 6f3914
    :ref:`boolean <boolean-label>`
Packit 6f3914
Packit 6f3914
    When enabled, remote SSL certificates are verified. If the client can not be authenticated, connecting fails and the repository is not used any further. If ``False``, SSL connections can be used, but certificates are not verified. Default is ``True``.
Packit 6f3914
Packit 6f3914
.. _sslclientcert-label:
Packit 6f3914
Packit 6f3914
``sslclientcert``
Packit 6f3914
    :ref:`string <string-label>`
Packit 6f3914
Packit 6f3914
    Path to the SSL client certificate used to connect to remote sites.
Packit 6f3914
    Empty by default.
Packit 6f3914
Packit 6f3914
.. _sslclientkey-label:
Packit 6f3914
Packit 6f3914
``sslclientkey``
Packit 6f3914
    :ref:`string <string-label>`
Packit 6f3914
Packit 6f3914
    Path to the SSL client key used to connect to remote sites.
Packit 6f3914
    Empty by default.
Packit 6f3914
Packit 6f3914
.. _throttle-label:
Packit 6f3914
Packit 6f3914
``throttle``
Packit 6f3914
    storage size
Packit 6f3914
Packit 6f3914
    Limits the downloading speed. It might be an absolute value or a percentage, relative to the value of the :ref:`bandwidth option <bandwidth-label>` option. ``0`` means no throttling (the default). The absolute value is in bytes by default but can be specified with a unit of storage. Valid units are 'k', 'M', 'G'.
Packit 6f3914
Packit 6f3914
.. _timeout-label:
Packit 6f3914
Packit 6f3914
``timeout``
Packit 6f3914
    time in seconds
Packit 6f3914
Packit 6f3914
    Number of seconds to wait for a connection before timing out. Used in combination with :ref:`minrate option <minrate-label>` option. Defaults to 30 seconds.
Packit 6f3914
Packit 6f3914
``username``
Packit 6f3914
    :ref:`string <string-label>`
Packit 6f3914
Packit 6f3914
    The username to use for connecting to repo with basic HTTP authentication. Empty by default.
Packit 6f3914
Packit 6f3914
``user_agent``
Packit 6f3914
    :ref:`string <string-label>`
Packit 6f3914
Packit 6f3914
    The User-Agent string to include in HTTP requests sent by DNF.
Packit 6f3914
    Defaults to ::
Packit 6f3914
Packit 6f3914
        libdnf (NAME VERSION_ID; VARIANT_ID; OS.BASEARCH)
Packit 6f3914
Packit 6f3914
    where NAME, VERSION_ID and VARIANT_ID are OS identifiers read from the
Packit 6f3914
    :manpage:`os-release(5)` file, and OS and BASEARCH are the canonical OS
Packit 6f3914
    name and base architecture, respectively.
Packit 6f3914
    Example: ::
Packit 6f3914
Packit 6f3914
        libdnf (Fedora 31; server; Linux.x86_64)
Packit 6f3914
Packit 6f3914
    To avoid leaking identifiable data, the variant in the above string will be
Packit 6f3914
    replaced by "generic" if the value is not an official Fedora variant.
Packit 6f3914
    Likewise, the whole OS part (enclosed in parenthesis) will be omitted if
Packit 6f3914
    this is a non-Fedora system.
Packit 6f3914
Packit 6f3914
=================
Packit 6f3914
Types of Options
Packit 6f3914
=================
Packit 6f3914
Packit 6f3914
.. _boolean-label:
Packit 6f3914
Packit 6f3914
``boolean``
Packit 6f3914
    This is a data type with only two possible values.
Packit 6f3914
Packit 6f3914
    One of following options can be used: 1, 0, True, False, yes, no
Packit 6f3914
Packit 6f3914
.. _integer-label:
Packit 6f3914
Packit 6f3914
``integer``
Packit 6f3914
    It is a whole number that can be written without a fractional component.
Packit 6f3914
Packit 6f3914
.. _list-label:
Packit 6f3914
Packit 6f3914
``list``
Packit 6f3914
    It is an option that could represent one or more strings separated by space or comma characters.
Packit 6f3914
Packit 6f3914
.. _string-label:
Packit 6f3914
Packit 6f3914
``string``
Packit 6f3914
    It is a sequence of symbols or digits without any whitespace character.
Packit 6f3914
Packit 6f3914
==========
Packit 6f3914
Files
Packit 6f3914
==========
Packit 6f3914
Packit 6f3914
``Cache Files``
Packit 6f3914
    /var/cache/dnf
Packit 6f3914
Packit 6f3914
``Main Configuration File``
Packit 6f3914
    /etc/dnf/dnf.conf
Packit 6f3914
Packit 6f3914
``Repository``
Packit 6f3914
    /etc/yum.repos.d/
Packit 6f3914
Packit 6f3914
.. _varfiles-label:
Packit 6f3914
Packit 6f3914
``Variables``
Packit 6f3914
    Any properly named file in /etc/dnf/vars is turned into a variable named after the filename (or
Packit 6f3914
    overrides any of the above variables but those set from commandline). Filenames may contain only
Packit 6f3914
    alphanumeric characters and underscores and be in lowercase.
Packit 6f3914
Packit 6f3914
==========
Packit 6f3914
 See Also
Packit 6f3914
==========
Packit 6f3914
Packit 6f3914
* :manpage:`dnf(8)`, :ref:`DNF Command Reference <command_ref-label>`