配置DNF
DNF配置文件
DNF的主要配置文件是/etc/dnf/dnf.conf,该文件包含两部分:
- “main”部分保存着DNF的全局设置。
- “repository”部分保存着软件源的设置,可以有一个或多个“repository”。
另外,在/etc/yum.repos.d目录中保存着一个或多个repo源相关文件,它们也可以定义不同的“repository”。
所以百度linux服务器操作系统软件源的配置一般有两种方式,一种是直接配置/etc/dnf/dnf.conf文件中的“repository”部分,另外一种是在/etc/yum.repos.d目录下增加.repo文件。
配置main部分
/etc/dnf/dnf.conf文件包含的“main”部分,配置示例如下:
1[main]
2gpgcheck=1
3installonly_limit=3
4clean_requirements_on_remove=True
5best=True
常用选项说明:
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部分允许您定义定制化的BaiduLinux V5.0软件源仓库,各个仓库的名称不能相同,否则会引起冲突。配置repository部分有两种方式,一种是直接配置/etc/dnf/dnf.conf文件中的“repository”部分,另外一种是配置/etc/yum.repos.d目录下的.repo文件。
方法一:直接配置/etc/dnf/dnf.conf文件中的“repository”部分
下面是[repository]部分的一个最小配置示例:
1[repository]
2name=repository_name
3baseurl=repository_url
选项说明:
repository参数说明
| 参数 | 说明 |
|---|---|
| name=repository_name | 软件仓库(repository )描述的字符串。 |
| baseurl=repository_url | 软件仓库(repository )的地址。 使用http协议的网络位置:例如 http://path/to/repo 使用ftp协议的网络位置:例如 ftp://path/to/repo 本地位置:例如 file:///path/to/local/repo |
方法二:配置/etc/yum.repos.d目录下的.repo文件
使用管理员权限添加百度linux服务器操作系统的repo源,示例如下:
1# mount -o loop BaiduLinux-xxx.iso /mnt
2# vi /etc/yum.repos.d/Baidulinux.repo
3[OS]
4name=百度linux服务器操作系统
5baseurl= file:///mnt
6enabled=1
7gpgcheck=1
8gpgkey= file:///mnt/RPM-GPG-KEY-Baidulinux
说明:
- enabled为是否启用该软件源仓库,可选值为1和0。默认值为1,表示启用该软件源仓库。
- gpgkey为验证签名用的公钥。
显示当前配置
- 要显示当前的配置信息:
1dnf config-manager --dump
- 要显示相应软件源的配置,首先查询repo id:
1dnf repolist
然后执行如下命令,显示对应id的软件源配置,其中repository为查询得到的repo id:
1dnf config-manager --dump repository
也可以使用一个全局正则表达式,来显示所有匹配部分的配置,其中glob_expression为对应的正则表达式,用于同时匹配多个repo id:
1dnf config-manager --dump glob_expression
创建本地软件源仓库
- 安装createrepo软件包。在root权限下执行如下命令:
1dnf install createrepo_c
- 将需要的软件包复制到一个目录下,如/mnt/local_repo/ 。
- 创建软件源,执行以下命令:
1createrepo /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源地址,详情请参见repository参数说明。
1dnf config-manager --add-repo repository_url
例如
1# dnf config-manager --add-repo file:///home/test
2Adding repo from: file:///home/test
3# pwd
4/etc/yum.repos.d
5# cat home_test.repo
6[home_test] #此为repo id
7name=created by dnf config-manager from file:///home/test
8baseurl=file:///home/test
9enabled=1
- 启用软件源
要启用软件源,请在root权限下执行如下命令,其中repository为新增.repo文件中的repo id(可通过dnf repolist查询):
1dnf config-manager --set-enable repository
您也可以使用一个全局正则表达式,来启用所有匹配的软件源。其中glob_expression为对应的正则表达式,用于同时匹配多个repo id:
1dnf config-manager --set-enable glob_expression
- 禁用软件源
要禁用软件源,请在root权限下执行如下命令:
1dnf config-manager --set-disable repository
同样的,您也可以使用一个全局正则表达式来禁用所有匹配的软件源:
1dnf config-manager --set-disable glob_expression
评价此篇文章
