配置 DNF

修改配置文件

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=1
installonly_limit=3
clean_requirements_on_remove=True
best=True
skip_if_unavailable=False

常用选项说明:

表 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

选项说明:

表 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
    

创建本地软件源仓库

要建立一个本地软件源仓库,请按照下列步骤操作。

  1. 安装 ceaterepo 软件包。在 root 权限下执行如下命令:

    dnf install createrepo
    
  2. 将需要的软件包复制到一个目录下,如 /mnt/local_repo/。

  3. 创建软件源,执行以下命令:

    createrepo --database /mnt/local_repo
    

添加、启用和禁用软件源

本节将介绍如何通过 “dnf config-manager” 命令添加、启用和禁用软件源仓库。

添加软件源

要定义一个新的软件源仓库,您可以在 /etc/dnf/dnf.conf 文件中添加 “repository” 部分,或者在 /etc/yum.repos.d/ 目录下添加 “.repo” 文件进行说明。建议您通过添加 “.repo” 的方式,每个软件源都有自己对应的 “.repo” 文件,以下介绍该方式的操作方法。

要在您的系统中添加一个这样的源,请在 root 权限下执行如下命令,执行完成之后会在 /etc/yum.repos.d/ 目录下生成对应的 repo文件。其中 repository_url 为 repo 源地址,详情请参见“使用DNF管理软件包 > 配置 DNF ”章节中的 “repository 参数说明”。

dnf config-manager --add-repo repository_url

启用软件源

要启用软件源,请在 root 权限下执行如下命令,其中 repository 为新增 .repo 文件中的 repo id(可通过 dnf repolist 查询):

dnf config-manager --set-enable repository

您也可以使用一个全局正则表达式,来启用所有匹配的软件源。其中 glob_expression 为对应的正则表达式,用于同时匹配多个 repo id:

dnf config-manager --set-enable glob_expression

禁用软件源

要禁用软件源,请在 root 权限下执行如下命令:

dnf config-manager --set-disable repository

同样的,您也可以使用一个全局正则表达式来禁用所有匹配的软件源:

dnf config-manager --set-disable glob_expression

results matching ""

    No results matching ""