# 修改配置文件 DNF 的主要配置文件是 /etc/dnf/dnf.conf,该文件中“main”部分保存着 DNF 的全局设置;用户可以在该文件中通过添加一个或者多个“repository”部分的方式来设置需要安装的软件源位置。 另外,在/etc/yum.repos.d 目录中保存着一个或多个repo 源相关文件,它们定义了不同的“repository”。 软件源的配置一般有两种方式,一种是直接配置 /etc/dnf/dnf.conf 文件,另外一种是在 /etc/yum.repos.d 目录下增加 .repo 文件。 ## 修改main部分 /etc/dnf/dnf.conf 文件包含的“main”部分,配置文件示例如下: ``` [main] gpgcheck=0 installonly_limit=3 clean_requirements_on_remove=True best=True ``` 常用选项说明: **表 1** main参数说明

参数

说明

cachedir

缓存目录,该目录用于存储RPM包和数据库文件。

keepcache

可选值是1和0,表示是否要缓存已安装成功的那些RPM包及头文件,默认值为0,即不缓存。

debuglevel

设置dnf生成的debug信息。取值范围:[0-10],数值越大会输出越详细的debug信息。默认值为2,设置为0表示不输出debug信息。

clean_requirements_on_remove

删除在dnf remove期间不再使用的依赖项,如果软件包是通过DNF安装的,而不是通过显式用户请求安装的,则只能通过clean_requirements_on_remove删除软件包,即它是作为依赖项引入的。 默认值为True。

best

升级包时,总是尝试安装其最高版本,如果最高版本无法安装,则提示无法安装的原因并停止安装。 默认值为True。

obsoletes

可选值1和0,设置是否允许更新陈旧的RPM包。认值为1,表示允许更新。

gpgcheck

可选值1和0,设置是否进行gpg校验。默认值为1,表示需要进行校验。

plugins

可选值1和0,表示启用或禁用dnf插件。默认值为1,表示启用dnf插件。

installonly_limit

设置可以同时安装“installonlypkgs”指令列出包的数量。默认值为3,不建议降低此值。

## 修改repository部分 repository部分允许您定义定制化的软件源仓库,各个仓库的名称不能相同,否则会引起冲突。下面是\[repository\]部分的一个最小配置示例: ``` [repository] name=repository_name baseurl=repository_url ``` 选项说明: >![](public_sys-resources/icon-note.gif) **说明:** >openEuler提供在线的镜像源,地址:[https://repo.openeuler.org/](https://repo.openeuler.org/)。以 openEuler 20.03的aarch64版本为例,baseurl可配置为[https://repo.openeuler.org/openEuler-20.03-LTS/OS/aarch64/](https://repo.openeuler.org/openEuler-20.03-LTS/OS/aarch64/)。 **表 2** repository参数说明

参数

说明

name=repository_name

软件仓库(repository )描述的字符串。

baseurl=repository_url

软件仓库(repository )的地址。

  • 使用http协议的网络位置:例如 http://path/to/repo
  • 使用ftp协议的网络位置:例如 ftp://path/to/repo
  • 本地位置:例如 file:///path/to/local/repo
## 显示当前配置 - 要显示当前的配置信息: ``` dnf config-manager --dump ``` - 要显示相应软件源的配置,首先查询repo id: ``` dnf repolist ``` 然后执行如下命令,显示对应id的软件源配置,其中 _repository_ 为查询得到的repo id: ``` dnf config-manager --dump repository ``` - 您也可以使用一个全局正则表达式,来显示所有匹配部分的配置: ``` dnf config-manager --dump glob_expression ```