修改配置文件

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”部分,配置文件示例如下:

  1. [main]
  2. gpgcheck=0
  3. installonly_limit=3
  4. clean_requirements_on_remove=True
  5. 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]部分的一个最小配置示例:

  1. [repository]
  2. name=repository_name
  3. baseurl=repository_url

选项说明:

表 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

显示当前配置

  • 要显示当前的配置信息:

    1. dnf config-manager --dump
  • 要显示相应软件源的配置,首先查询repo id:

    1. dnf repolist

    然后执行如下命令,显示对应id的软件源配置,其中 repository 为查询得到的repo id:

    1. dnf config-manager --dump repository
  • 您也可以使用一个全局正则表达式,来显示所有匹配部分的配置:

    1. dnf config-manager --dump glob_expression