从0到1一步一步玩转openEuler--14 openEuler DNF(YUM)配置管理
文章目录
- 14.1 DNF配置文件
- 14.1.1 配置main部分
- 14.1.2 配置repository部分
- 14.1.3 显示当前配置
- 14.2 创建本地软件源仓库
- 14.3 添加、启用和禁用软件源
- 14.3.1 添加软件源
- 14.3.2 禁用软件源
- 14.3.3 启用软件源
DNF是一款Linux软件包管理工具,用于管理RPM软件包。DNF可以查询软件包信息,从指定软件库获取软件包,自动处理依赖关系以安装或卸载软件包,以及更新系统到最新可用版本。
说明:
- DNF与YUM完全兼容,提供了YUM兼容的命令行以及为扩展和插件提供的API。
- 使用DNF需要管理员权限,本节所有命令需要在管理员权限下执行。
14.1 DNF配置文件
DNF 的主要配置文件是 /etc/dnf/dnf.conf,该文件包含两部分:
- “main”部分保存着DNF的全局设置。
- “repository”部分保存着软件源的设置,可以有一个或多个“repository”。
另外,在/etc/yum.repos.d 目录中保存着一个或多个repo源相关文件,它们也可以定义不同的“repository”。
所以openEuler软件源的配置一般有两种方式,一种是直接配置/etc/dnf/dnf.conf文件中的“repository”部分,另外一种是在/etc/yum.repos.d目录下增加.repo文件。
14.1.1 配置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,不建议降低此值。 |
14.1.2 配置repository部分
repository部分允许您定义定制化的openEuler软件源仓库,各个仓库的名称不能相同,否则会引起冲突。配置repository部分有两种方式,一种是直接配置/etc/dnf/dnf.conf文件中的“repository”部分,另外一种是配置/etc/yum.repos.d目录下的.repo文件。
-
直接配置/etc/dnf/dnf.conf文件中的“repository”部分
下面是[repository]部分的一个最小配置示例:
[repository] name=repository_name baseurl=repository_url
说明:
openEuler提供在线的镜像源,地址:https://repo.openeuler.org/。以 openEuler 22.03的x86_64版本为例,baseurl可配置为https://repo.openeuler.org/openEuler-22.03-LTS/OS/x86_64/。选项说明:
表 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 -
配置/etc/yum.repos.d目录下的.repo文件
openEuler提供了多种repo源供用户在线使用,各repo源含义可参考系统安装。使用root权限添加openEuler repo源,示例如下:
# vi /etc/yum.repos.d/openEuler.repo
[OS] name=openEuler-$releasever - OS baseurl=https://repo.openeuler.org/openEuler-22.03/OS/$basearch/ enabled=1 gpgcheck=1 gpgkey=https://repo.openeuler.org/openEuler-22.03/OS/$basearch/RPM-GPG-KEY-openEuler
说明:
- enabled为是否启用该软件源仓库,可选值为1和0。默认值为1,表示启用该软件源仓库。
- gpgkey为验证签名用的公钥。
14.1.3 显示当前配置
-
要显示当前的配置信息:
# dnf config-manager --dump
例如示例命令如下
[root@superman-21 ~]# dnf config-manager --dump =========================================================== main ============================================================ [main] allow_vendor_change = 1 assumeno = 0 assumeyes = 0 autocheck_running_kernel = 1 bandwidth = 0 best = 1 bugtracker_url = https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=dnf cachedir = /var/cache/dnf cacheonly = 0 . . . system_cachedir = /var/cache/dnf throttle = 0 timeout = 30 transformdb = 1 tsflags = upgrade_group_objects_upgrade = 1 user_agent = libdnf (openEuler 22.03; generic; Linux.x86_64) username = varsdir = /etc/yum/vars, /etc/dnf/vars zchunk = 1[root@superman-21 ~]#
-
要显示相应软件源的配置,首先查询repo id:
# dnf repolist
例如示例命令如下:
[root@superman-21 ~]# dnf repolist repo id repo name EPOL EPOL OS OS debuginfo debuginfo everything everything source source update update [root@superman-21 ~]#
然后执行如下命令,显示对应id的软件源配置,其中 repository 为查询得到的repo id:
# dnf config-manager --dump repository
例如示例命令如下:
[root@superman-21 ~]# dnf config-manager --dump OS =================================== repo: OS =================================== [OS] bandwidth = 0 baseurl = http://repo.openeuler.org/openEuler-22.03-LTS/OS/x86_64/ cachedir = /var/cache/dnf cost = 1000 countme = 0 deltarpm = 1 deltarpm_percentage = 75 enabled = 1 enabled_metadata = enablegroups = 1 exclude = excludepkgs = fastestmirror = 0 gpgcheck = 1 gpgkey = http://repo.openeuler.org/openEuler-22.03-LTS/OS/x86_64/RPM-GPG-KEY-openEuler includepkgs = ip_resolve = whatever max_parallel_downloads = 3 mediaid = metadata_expire = 172800 minrate = 1000 module_hotfixes = 0 name = OS password = priority = 99 protected_packages = dnf, dnf, sudo, systemd, systemd-udev, yum, dnf, sudo, systemd, systemd-udev, yum proxy = proxy_auth_method = any proxy_sslcacert = proxy_sslclientcert = proxy_sslclientkey = proxy_sslverify = 1 repo_gpgcheck = 0 retries = 10 skip_if_unavailable = 0 sslcacert = sslclientcert = sslclientkey = sslverify = 1 sslverifystatus = 0 throttle = 0 timeout = 30 type = user_agent = libdnf (openEuler 22.03; generic; Linux.x86_64) username = [root@superman-21 ~]#
-
您也可以使用一个全局正则表达式,来显示所有匹配部分的配置:
# dnf config-manager --dump glob_expression
例如示例命令如下:
[root@superman-21 ~]# dnf config-manager --dump | grep retries retries = 10 [root@superman-21 ~]#
14.2 创建本地软件源仓库
要建立一个本地软件源仓库,请按照下列步骤操作。
-
安装createrepo软件包。在root权限下执行如下命令:
# dnf install createrepo
例如示例命令如下:
[root@superman-21 ~]# dnf install createrepo OS 42 kB/s | 3.8 kB 00:00 everything 43 kB/s | 3.8 kB 00:00 EPOL 31 kB/s | 3.0 kB 00:00 debuginfo 43 kB/s | 3.8 kB 00:00 source 43 kB/s | 3.8 kB 00:00 update 41 kB/s | 3.5 kB 00:00 update 5.4 MB/s | 28 MB 00:05 Dependencies resolved. ================================================================================Package Architecture Version Repository Size ================================================================================ Installing:createrepo_c x86_64 0.17.6-1.oe2203 OS 137 k Installing dependencies:drpm x86_64 0.5.0-2.oe2203 update 60 kTransaction Summary ================================================================================ Install 2 PackagesTotal download size: 197 k Installed size: 535 k Is this ok [y/N]: y Downloading Packages: (1/2): drpm-0.5.0-2.oe2203.x86_64.rpm 320 kB/s | 60 kB 00:00 (2/2): createrepo_c-0.17.6-1.oe2203.x86_64.rpm 621 kB/s | 137 kB 00:00 -------------------------------------------------------------------------------- Total 879 kB/s | 197 kB 00:00 retrieving repo key for OS unencrypted from http://repo.openeuler.org/openEuler-22.03-LTS/OS/x86_64/RPM-GPG-KEY-openEuler OS 22 kB/s | 2.1 kB 00:00 Importing GPG key 0xB25E7F66:Userid : "private OBS (key without passphrase) <defaultkey@localobs>"Fingerprint: 12EA 74AC 9DF4 8D46 C69C A0BE D557 065E B25E 7F66From : http://repo.openeuler.org/openEuler-22.03-LTS/OS/x86_64/RPM-GPG-KEY-openEuler Is this ok [y/N]: y Key imported successfully Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transactionPreparing : 1/1 Installing : drpm-0.5.0-2.oe2203.x86_64 1/2 Installing : createrepo_c-0.17.6-1.oe2203.x86_64 2/2 Running scriptlet: createrepo_c-0.17.6-1.oe2203.x86_64 2/2 Verifying : createrepo_c-0.17.6-1.oe2203.x86_64 1/2 Verifying : drpm-0.5.0-2.oe2203.x86_64 2/2 Installed:createrepo_c-0.17.6-1.oe2203.x86_64 drpm-0.5.0-2.oe2203.x86_64 Complete! [root@superman-21 ~]#
-
将需要的软件包复制到一个目录下,如/local_repo 。
[root@superman-21 ~]# cp /mnt/Packages/per* /local_repo/ [root@superman-21 ~]# [root@superman-21 ~]# ls /local_repo/ perf-5.10.0-60.18.0.50.oe2203.x86_64.rpm perftest-4.5-1.oe2203.x86_64.rpm perl-5.34.0-3.oe2203.x86_64.rpm perl-Algorithm-Diff-1.201-1.oe2203.noarch.rpm perl-Archive-Tar-2.40-1.oe2203.noarch.rpm perl-autodie-2.34-2.oe2203.noarch.rpm perl-B-Debug-1.26-5.oe2203.noarch.rpm perl-bignum-0.63-1.oe2203.noarch.rpm perl-Bit-Vector-7.4-15.oe2203.x86_64.rpm perl-Carp-1.50-418.oe2203.noarch.rpm . . . perl-XML-Parser-2.46-1.oe2203.x86_64.rpm perl-XML-Parser-help-2.46-1.oe2203.noarch.rpm perl-XML-SAX-1.02-1.oe2203.noarch.rpm perl-XML-SAX-Base-1.09-7.oe2203.noarch.rpm perl-XML-Simple-2.25-4.oe2203.noarch.rpm perl-XML-Writer-0.900-1.oe2203.noarch.rpm perl-XML-Writer-help-0.900-1.oe2203.noarch.rpm perl-XML-XPath-1.44-1.oe2203.noarch.rpm perl-YAML-LibYAML-0.82-2.oe2203.x86_64.rpm [root@superman-21 ~]#
-
创建软件源,执行以下命令:
# createrepo /local_repo
例如示例命令如下:
[root@superman-21 ~]# createrepo /local_repo Directory walk started Directory walk done - 168 packages Temporary output repo path: /local_repo/.repodata/ Preparing sqlite DBs Pool started (with 5 workers) Pool finished [root@superman-21 ~]# [root@superman-21 ~]# ls /local_repo/ perf-5.10.0-60.18.0.50.oe2203.x86_64.rpm perftest-4.5-1.oe2203.x86_64.rpm perl-5.34.0-3.oe2203.x86_64.rpm . . . perl-XML-Parser-2.46-1.oe2203.x86_64.rpm perl-XML-Parser-help-2.46-1.oe2203.noarch.rpm perl-XML-SAX-1.02-1.oe2203.noarch.rpm perl-XML-SAX-Base-1.09-7.oe2203.noarch.rpm perl-XML-Simple-2.25-4.oe2203.noarch.rpm perl-XML-Writer-0.900-1.oe2203.noarch.rpm perl-XML-Writer-help-0.900-1.oe2203.noarch.rpm perl-XML-XPath-1.44-1.oe2203.noarch.rpm perl-YAML-LibYAML-0.82-2.oe2203.x86_64.rpm repodata [root@superman-21 ~]#
14.3 添加、启用和禁用软件源
本节将介绍如何通过“dnf config-manager”命令添加、启用和禁用软件源仓库。
14.3.1 添加软件源
要定义一个新的软件源仓库,您可以在 /etc/dnf/dnf.conf 文件中添加“repository”部分,或者在/etc/yum.repos.d/目录下添加“.repo”文件进行说明。建议您通过添加“.repo”的方式,每个软件源都有自己对应的“.repo”文件,以下介绍该方式的操作方法。
要在您的系统中添加一个这样的源,请在root权限下执行如下命令,执行完成之后会在/etc/yum.repos.d/目录下生成对应的repo文件。其中 repository_url 为repo源地址,详情请参见表2。
# dnf config-manager --add-repo repository_url
例如示例命令如下:
[root@superman-21 ~]# dnf config-manager --add-repo /local_repo
添加仓库自:file:///local_repo
[root@superman-21 ~]#
14.3.2 禁用软件源
要禁用软件源,请在root权限下执行如下命令:
# dnf config-manager --set-disable repository
例如示例命令如下:
[root@superman-21 ~]# cat /etc/yum.repos.d/openEuler.repo
#generic-repos is licensed under the Mulan PSL v2.
#You can use this software according to the terms and conditions of the Mulan PSL v2.
#You may obtain a copy of Mulan PSL v2 at:
# http://license.coscl.org.cn/MulanPSL2
#THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
#IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
#PURPOSE.
#See the Mulan PSL v2 for more details.[OS]
name=OS
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler[everything]
name=everything
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/everything/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/everything/$basearch/RPM-GPG-KEY-openEuler[EPOL]
name=EPOL
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/EPOL/main/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler[debuginfo]
name=debuginfo
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/debuginfo/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/debuginfo/$basearch/RPM-GPG-KEY-openEuler[source]
name=source
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/source/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/source/RPM-GPG-KEY-openEuler[update]
name=update
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/update/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler
[root@superman-21 ~]#
[root@superman-21 ~]# dnf config-manager --set-disable update
[root@superman-21 ~]#
[root@superman-21 ~]# cat /etc/yum.repos.d/openEuler.repo
#generic-repos is licensed under the Mulan PSL v2.
#You can use this software according to the terms and conditions of the Mulan PSL v2.
#You may obtain a copy of Mulan PSL v2 at:
# http://license.coscl.org.cn/MulanPSL2
#THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
#IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
#PURPOSE.
#See the Mulan PSL v2 for more details.[OS]
name=OS
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler[everything]
name=everything
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/everything/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/everything/$basearch/RPM-GPG-KEY-openEuler[EPOL]
name=EPOL
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/EPOL/main/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler[debuginfo]
name=debuginfo
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/debuginfo/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/debuginfo/$basearch/RPM-GPG-KEY-openEuler[source]
name=source
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/source/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/source/RPM-GPG-KEY-openEuler[update]
name=update
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/update/$basearch/
enabled=0
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler
[root@superman-21 ~]#
同样的,您也可以使用一个全局正则表达式来禁用所有匹配的软件源:
# dnf config-manager --set-disable glob_expression
例如示例命令如下:
[root@superman-21 ~]# cat /etc/yum.repos.d/openEuler.repo
#generic-repos is licensed under the Mulan PSL v2.
#You can use this software according to the terms and conditions of the Mulan PSL v2.
#You may obtain a copy of Mulan PSL v2 at:
# http://license.coscl.org.cn/MulanPSL2
#THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
#IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
#PURPOSE.
#See the Mulan PSL v2 for more details.[OS]
name=OS
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler[everything]
name=everything
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/everything/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/everything/$basearch/RPM-GPG-KEY-openEuler[EPOL]
name=EPOL
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/EPOL/main/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler[debuginfo]
name=debuginfo
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/debuginfo/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/debuginfo/$basearch/RPM-GPG-KEY-openEuler[source]
name=source
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/source/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/source/RPM-GPG-KEY-openEuler[update]
name=update
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/update/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler
[root@superman-21 ~]#
[root@superman-21 ~]# dnf config-manager --set-disable {source,update}
[root@superman-21 ~]#
[root@superman-21 ~]# cat /etc/yum.repos.d/openEuler.repo
#generic-repos is licensed under the Mulan PSL v2.
#You can use this software according to the terms and conditions of the Mulan PSL v2.
#You may obtain a copy of Mulan PSL v2 at:
# http://license.coscl.org.cn/MulanPSL2
#THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
#IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
#PURPOSE.
#See the Mulan PSL v2 for more details.[OS]
name=OS
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler[everything]
name=everything
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/everything/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/everything/$basearch/RPM-GPG-KEY-openEuler[EPOL]
name=EPOL
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/EPOL/main/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler[debuginfo]
name=debuginfo
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/debuginfo/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/debuginfo/$basearch/RPM-GPG-KEY-openEuler[source]
name=source
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/source/
enabled=0
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/source/RPM-GPG-KEY-openEuler[update]
name=update
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/update/$basearch/
enabled=0
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler
[root@superman-21 ~]#
14.3.3 启用软件源
要启用软件源,请在root权限下执行如下命令,其中 repository 为新增.repo文件中的repo id(可通过dnf repolist查询):
# dnf config-manager --set-enable repository
例如示例命令如下:
[root@superman-21 ~]# cat /etc/yum.repos.d/openEuler.repo
#generic-repos is licensed under the Mulan PSL v2.
#You can use this software according to the terms and conditions of the Mulan PSL v2.
#You may obtain a copy of Mulan PSL v2 at:
# http://license.coscl.org.cn/MulanPSL2
#THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
#IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
#PURPOSE.
#See the Mulan PSL v2 for more details.[OS]
name=OS
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler[everything]
name=everything
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/everything/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/everything/$basearch/RPM-GPG-KEY-openEuler[EPOL]
name=EPOL
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/EPOL/main/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler[debuginfo]
name=debuginfo
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/debuginfo/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/debuginfo/$basearch/RPM-GPG-KEY-openEuler[source]
name=source
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/source/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/source/RPM-GPG-KEY-openEuler[update]
name=update
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/update/$basearch/
enabled=0
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler
[root@superman-21 ~]#
[root@superman-21 ~]# dnf config-manager --set-enable update
[root@superman-21 ~]#
[root@superman-21 ~]# cat /etc/yum.repos.d/openEuler.repo
#generic-repos is licensed under the Mulan PSL v2.
#You can use this software according to the terms and conditions of the Mulan PSL v2.
#You may obtain a copy of Mulan PSL v2 at:
# http://license.coscl.org.cn/MulanPSL2
#THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
#IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
#PURPOSE.
#See the Mulan PSL v2 for more details.[OS]
name=OS
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler[everything]
name=everything
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/everything/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/everything/$basearch/RPM-GPG-KEY-openEuler[EPOL]
name=EPOL
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/EPOL/main/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler[debuginfo]
name=debuginfo
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/debuginfo/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/debuginfo/$basearch/RPM-GPG-KEY-openEuler[source]
name=source
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/source/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/source/RPM-GPG-KEY-openEuler[update]
name=update
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/update/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler
[root@superman-21 ~]#
您也可以使用一个全局正则表达式,来启用所有匹配的软件源。其中 glob_expression 为对应的正则表达式,用于同时匹配多个repo id:
# dnf config-manager --set-enable glob_expression
例如示例命令如下:
[root@superman-21 ~]# cat /etc/yum.repos.d/openEuler.repo
#generic-repos is licensed under the Mulan PSL v2.
#You can use this software according to the terms and conditions of the Mulan PSL v2.
#You may obtain a copy of Mulan PSL v2 at:
# http://license.coscl.org.cn/MulanPSL2
#THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
#IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
#PURPOSE.
#See the Mulan PSL v2 for more details.[OS]
name=OS
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler[everything]
name=everything
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/everything/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/everything/$basearch/RPM-GPG-KEY-openEuler[EPOL]
name=EPOL
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/EPOL/main/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler[debuginfo]
name=debuginfo
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/debuginfo/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/debuginfo/$basearch/RPM-GPG-KEY-openEuler[source]
name=source
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/source/
enabled=0
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/source/RPM-GPG-KEY-openEuler[update]
name=update
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/update/$basearch/
enabled=0
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler
[root@superman-21 ~]#
[root@superman-21 ~]# dnf config-manager --set-enable {source,update}
[root@superman-21 ~]#
[root@superman-21 ~]# cat /etc/yum.repos.d/openEuler.repo
#generic-repos is licensed under the Mulan PSL v2.
#You can use this software according to the terms and conditions of the Mulan PSL v2.
#You may obtain a copy of Mulan PSL v2 at:
# http://license.coscl.org.cn/MulanPSL2
#THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
#IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
#PURPOSE.
#See the Mulan PSL v2 for more details.[OS]
name=OS
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler[everything]
name=everything
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/everything/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/everything/$basearch/RPM-GPG-KEY-openEuler[EPOL]
name=EPOL
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/EPOL/main/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler[debuginfo]
name=debuginfo
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/debuginfo/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/debuginfo/$basearch/RPM-GPG-KEY-openEuler[source]
name=source
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/source/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/source/RPM-GPG-KEY-openEuler[update]
name=update
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/update/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler
[root@superman-21 ~]#
相关文章:
从0到1一步一步玩转openEuler--14 openEuler DNF(YUM)配置管理
文章目录14.1 DNF配置文件14.1.1 配置main部分14.1.2 配置repository部分14.1.3 显示当前配置14.2 创建本地软件源仓库14.3 添加、启用和禁用软件源14.3.1 添加软件源14.3.2 禁用软件源14.3.3 启用软件源DNF是一款Linux软件包管理工具,用于管理RPM软件包。DNF可以查…...
leetcode707 设计链表 带有输入和输出的
题目: 设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节…...
100种思维模型之非sr思维模型-012
什么是sr? sr是stimulus-response的缩写,意思是刺激反应。 那么非sr思维模型就是非刺激反应思维模型的意思。 今天我们来聊聊非sr思维模型——一个提醒我们思考,提醒我们任何时刻都有选择权的思维模型。 本文依然从三个方面进行介绍,何谓…...
绿竹生物再冲刺港交所上市:暂未商业化,孔健夫妇为实控人
近日,北京绿竹生物技术股份有限公司(下称“绿竹生物”)在港交所递交招股书,准备在港交所主板上市,中金公司为其独家保荐人。据贝多财经了解,绿竹生物曾于2022年6月28日在港交所递表。 相较于此前招股书&am…...
加拿大MSB金融牌照申请方案
什么是加拿大MSB金融牌照? 根据犯罪所得(洗钱)和恐怖主义融资法案,您的企业必须在加拿大金融交易和报告分析中心 (FINTRAC) 注册成为货币服务企业。自 2020 年 6 月 1 日起,外国货币服务企业也必须在 FINTRAC 注册&…...
javaEE 初阶 — 滑动窗口
文章目录滑动窗口1 滑动窗口下如何处理丢包TCP 工作机制:确认应答机制 超时重传机制 连接管理机制 滑动窗口 确认应答机制、超时重传机制、连接管理机制 都是给 TCP 的可靠性提供支持的。 虽然事变的比较可靠了,但是是有牺牲的,那就是传输…...
大咖说·图书分享|狼书(卷3):Node.js高级技术
Node.js都有哪些需要掌握的高级技术?前端为什么同样需要学习? Node.js未来的发展趋势究竟如何?本期大咖说,Node布道师桑世龙携新作《狼书(卷3):Node.js高级技术》展开分享。 ● 嘉宾介绍 桑世龙:Node布道…...
1.5配置NBMA和P2MP网络类型
1.3.3实验5:配置NBMA和P2MP网络类型 1. 实验需求 控制OSPF DR的选举修改OSPF的网络类型2. 实验拓扑 配置NBMA和P2MP网络类型实验拓扑如图1-13所示。 图1-13 配置NBMA和P2MP网络类型 3. 实验步骤 帧中继的配置如图1-14和图1-15所示...
Java面试题
三次握手,四次挥手中,为什么要挥手四次 第一次握手,客户端发送同步报文到服务端,客户端知道自己有发送数据能力,不知道服务端是否有发送、接受数据能力。 第二次握手,服务端收到同步报文,并回复…...
opencv锁定鼠标定位
大家好,我是csdn的博主:lqj_本人 这是我的个人博客主页: lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm1011.2415.3001.5343哔哩哔哩欢迎关注…...
机器连接和边缘计算
以一种高效、可扩展的方式进行连接和边缘计算的结合,解决了在工业物联网应用中的机器数据集成问题。 一 边缘计算 边缘计算描述了由中央平台管理的数据分散式处理。边缘计算对于工业物联网而言非常重要。在许多应用程序中,由于数据量非常大,…...
利用NGROK将本地网站发布为一个公开网站
一般与第三方服务集成时,需要提供https的回调URL,本地开发阶段可以利用NGROK将本地网站发布为公开的https网站。https://ngrok.com/downloadWindow下载地址:https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-windows-amd64.zip以Window…...
Vulnhub 渗透练习(一)—— Breach 1.0
环境搭建 环境下载: https://www.vulnhub.com/entry/breach-1,152/ 环境描述: Vulnhub 中对此环境的描述: VM 配置有静态 IP 地址 (192.168.110.140),因此您需要将仅主机适配器配置到该子网。 这里我用的是 VMware ࿰…...
初探Spring采用Spring配置文件管理Bean
文章目录Spring容器演示--采用Spring配置文件管理Bean(一)创建Maven项目(二)添加Spring依赖(三)创建杀龙任务类(四)创建勇敢骑士类(五)采用传统方式让勇敢骑士…...
【手写 Vuex 源码】第十二篇 - Vuex 插件机制的实现
一,前言 上一篇,主要介绍了 Vuex 插件的开发,主要涉及以下几个点: Vuex 插件的使用介绍;Vuex 插件开发和使用分析;Vuex 插件机制的分析; 本篇,继续介绍 Vuex 插件机制的实现&…...
图像去噪技术简述
随着每天拍摄的数字图像数量激增,对更准确、更美观的图像的需求也在增加。然而,现代相机拍摄的图像不可避免地会受到噪声的影响,从而导致视觉图像质量下降。因此,需要在不丢失图像特征(边缘、角和其他尖锐结构…...
数据迁移——技术选型
日常我们在开发中,随着业务需求的变更,重构系统是很常见的事情。重构系统常见的一个场景是变更底层数据模型与存储结构。这种情况下就要对数据进行迁移,从而使业务能正常支行。 背景如下:老系统中使用了mongo数据库,由…...
第二十七章 java并发常见知识内容(CompletableFuture)
JAVA重要知识点CompletableFuture常见函数式编程操作创建 CompletableFuture静态工厂方法处理异步结算的结果异常处理组合 CompletableFuturethenCompose() 和 thenCombine() 区别并行运行多个 CompletableFutureCompletableFuture Java 8 才被引入的一个非常有用的用于异步编…...
Qt扫盲-QMake 使用概述
QMake 使用概述一、概述二、简单开始三、使应用程序可调试1. 添加平台特定的源文件2. 如果文件不存在,停止qmake3. 检查多个条件一、概述 本教程教你qmake的基础知识。qmake 其实就是一个自动化编译的流程控制文件,也是Qt程序的生成makefile的工具&…...
Spring Cloud之Zuul
目录 简介 Zuul中的过滤器 过滤器的执行流程 使用过滤器 route过滤器的默认三种配置 路由到服务 路由到url地址 转发给自己 自定义过滤器 简介 Zuul是Netflix开源的微服务网关,主要功能是路由转发和过滤器,其原理也是一系列filters࿰…...
为什么要有分布式锁?
Redis避坑指南:为什么要有分布式锁?作者:京东保险 张江涛1、为什么要有分布式锁?JUC提供的锁机制,可以保证在同一个JVM进程中同一时刻只有一个线程执行操作逻辑;多服务多节点的情况下,就意味着有…...
【Redis】Redis持久化之RDB详解(Redis专栏启动)
📫作者简介:小明java问道之路,2022年度博客之星全国TOP3,专注于后端、中间件、计算机底层、架构设计演进与稳定性建工设优化。文章内容兼具广度深度、大厂技术方案,对待技术喜欢推理加验证,就职于知名金融公…...
Retinanet网络与focal loss损失
参考代码:https://github.com/yhenon/pytorch-retinanet 1.损失函数 1)原理 本文一个核心的贡献点就是 focal loss。总损失依然分为两部分,一部分是分类损失,一部分是回归损失。 在讲分类损失之前,我们来回顾一下二…...
Spring事务的失效场景
事务失效场景 方法用private或final修饰 Spring底层使用了AOP,而AOP的实现方式有两种,分别是JDK动态代理和CGLIB,JDK动态代理是实现抽象接口,CGLIB是继承父类,无论哪种方式,都需要重写方法来进行方法增强,而…...
芯动联科在科创板IPO过会:拟募资10亿元,金晓冬为实际控制人
2月13日,上海证券交易所披露的信息显示,安徽芯动联科微系统股份有限公司(下称“芯动联科”)获得科创板上市委会议审议通过。据贝多财经了解,芯动联科于2022年6月24日在科创板递交招股书。 本次冲刺上市,芯…...
数据结构之单链表
一、链表的组成 链表是由一个一个的节点组成的,节点又是一个一个的对象, 相邻的节点之间产生联系,形成一条链表。 例子:假如现在有两个人,A和B,A保存了B的联系方式,这俩人之间就有了联系。 A和…...
儿子跟妈妈关系不好怎么办?这里有解决办法!
15岁的男孩子正处于青春期,很多男孩都傲慢自大,听不进去别人的建议,以自己为中心,认为自己能处理好自己的事情,不想听父母的唠叨。母亲面对青春期的孩子也是举手无措,语气不好,会让孩子更叛逆。…...
论文投稿指南——中文核心期刊推荐(植物保护)
【前言】 🚀 想发论文怎么办?手把手教你论文如何投稿!那么,首先要搞懂投稿目标——论文期刊 🎄 在期刊论文的分布中,存在一种普遍现象:即对于某一特定的学科或专业来说,少数期刊所含…...
华科万维C++章节练习4_6
【程序设计】 题目: 编程输出下列图形,中间一行英文字母由输入得到。 A B B B C C C C C D D D D D D D C C C C C B B B A 开头空一格,字母间空两格…...
详解子网技术
一 : Internet地址 Intemet实质上是把分布在世界各地的各种网络如计算机局域网和广域网、数字数据通信网以及公用电话交换网等互相连接起来而形成的超级网络。但是 , 网络的物理地址给Internet统一全网地址带来两个方面的问题: 第一,物理地址是物理网络技术的一种…...
制定一网站建设的市场定位的方案/成都网络营销推广公司
开始运行eclipse时logo上有,进入eclipse后在菜单栏help中点击about eclipse sdk也可以看到当前eclipse版本。 jdk版本就是你自己安装的jdk版本咯,或者随便点一个项目,右键,点properties,再点project facets࿰…...
深圳专业做网站排名公司哪家好/青岛seo网站排名优化
文|智能相对论 作者|沈浪 百年风雨,世事更迭。 当汽车作为全新的交通工具登上历史的舞台,那时候的我们还沉浸在盲目的封建自足之中,因此错失了一个时代的浪潮。自此,在往后的百年时间内,尽管中国奋力直追࿰…...
为网站添加注册功能/整站多关键词优化
前言 Redis作为基于键值对的NoSQL数据库,具有高性能、丰富的数据结构、持久化、高可用、分布式等特性,同时Redis本身非常稳定,已经得到业界的广泛认可和使用。因此,作为一个Java开发者,掌握Redis早就成了一项必备技能…...
河北网站开发多少钱/如何免费推广一个网站
文章目录流程循环数组简单案例先看看效果图 流程 使用数组的slice() 方法通过条件判断截取原数组相应内容组成新数组 循环数组 let currentPage 0 // arr:原数组 newLen:新数组需要的长度 currentPage:现在的页码// 方法一: function loopData(arr, newLen) {…...
网站不稳定/seo搜索引擎优化是什么意思
01 最长上升子序列 给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入: [10,9,2,5,3,7,101,18] 输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。说明: 可能会有多种最长上升子序列的组合,你只需要输出对…...
重庆市官方网站/惠州seo代理计费
假设您的DataFrame具有类似于以下内容的架构(即Assets和Revenue是数字): df.printSchema() #root # |-- ID: long (nullable true) # |-- Assets: integer (nullable true) # |-- Revenue: integer (nullable true) 您可以在已设置的条件下将DataFrame自身设置为…...