Linux命令之 DNF -- 新一代的 RPM 软件包管理器

文章目录

  • 一、命令介绍
  • 二、安装 DNF
  • 三、DNF 命令
    • (一)主要命令
      • 1. 安装、升级和删除软件包
      • 2. 查询和检查软件包
      • 3. 执行其它功能
    • (二)插件命令
  • 四、选项参数
  • 五、命令示例
    • (一)安装、升级和删除软件包
      • 安装软件包
      • 安装一个软件包组
      • 升级一个软件包组中的软件包
      • 删除一个软件包组
      • 从特定的软件包库安装特定的软件
      • 更新软件包到最新的稳定发行版
      • 升级软件包
      • 重新安装特定软件包
      • 升级所有系统软件包
      • 删除软件包
      • 删除无用孤立的软件包
      • 删除缓存的无用软件包
    • (二)查询和检验软件包
      • 查看系统中可用的 DNF 软件库
      • 查看所有的软件包组
      • 查看系统中可用和不可用的所有的 DNF 软件库
      • 列出所有 RPM 包
      • 列出所有安装了的 RPM 包
      • 列出所有可供安装的 RPM 包
      • 搜索软件库中的 RPM 包
      • 查找某一文件的提供者
      • 查看软件包详情
      • 检查系统软件包的更新
    • (三)执行其它功能
      • 查看安装在您系统中的 DNF 包管理器的版本
      • 获取有关某条命令的使用帮助
      • 查看所有的 DNF 命令及其用途
      • 查看 DNF 命令的执行历史
      • 回滚某个特定软件的版本

一、命令介绍

DNF 是新一代的 rpm 软件包管理器。他首先出现在 Fedora 18 这个发行版中。而最近,它取代了 YUM,正式成为 Fedora 22 的包管理器。

DNF 包管理器克服了 YUM 包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容。DNF 使用 RPM, libsolv 和 hawkey 库进行包管理操作。尽管它没有预装在 CentOS 和 RHEL 7 中,但你可以在使用 YUM 的同时使用 DNF 。你可以在这里获得关于 DNF 的更多知识:《DNF 代替 YUM ,你所不知道的缘由》

DNF 的最新稳定发行版版本号是 1.0,发行日期是2015年5月11日。 这一版本的额 DNF 包管理器(包括在他之前的所有版本) 都大部分采用 Python 编写,发行许可为GPL v2.

二、安装 DNF

DNF 并未默认安装在 RHEL 或 CentOS 7 系统中,但是 CentOS 8、Fedora 22 等已经默认使用 DNF。

  1. 为了安装 DNF ,您必须先安装并启用 epel-release 依赖。在系统中执行以下命令:
[root@htlwk0001host ~]# yum install epel-release
  1. 接着在系统中执行以下命令:
[root@htlwk0001host ~]# yum install dnf

三、DNF 命令

(一)主要命令

1. 安装、升级和删除软件包

命令说明
install向系统中安装一个或多个软件包
reinstall重新安装软件包
update更新指定的软件包,若没有指定软件包,则会更新系统所有的软件包
updateinfo显示软件包的参考建议
upgrade升级系统中的一个或多个软件包
remove从系统中移除一个或多个软件包
autoremove删除所有原先因为依赖关系安装的现在不需要的软件包
clean all删除缓存的无用软件包及其相关数据
groupinstall安装一个软件包组
groupupdate升级一个软件包组中的软件包
groupremove删除一个软件包组
distro-sync更新软件包到最新的稳定发行版

2. 查询和检查软件包

命令说明
repolist显示系统中可用的 DNF 软件库(软件仓库)
list列出用户系统上的所有来自软件库的可用软件包和所有已经安装在系统上的软件包
search在软件包详细信息中搜索指定字符串,即搜索与指定字符串有关的软件包
repoquerySearches available DNF repositories for selected packages and displays the requested information about them. It is an equivalent of rpm -q for remote repositories. 搜索匹配关键字的软件包
provides查找提供指定内容的软件包
info显示关于软件包或软件包组的详细信息
check-update检查是否有软件包升级
grouplist查看所有的软件包组
check在包数据库中寻找问题
deplist列出软件包的依赖关系和提供这些软件包的源

3. 执行其它功能

命令说明
downgrade回滚软件包的版本,降级到旧版本
makecache创建元数据缓存
mark在已安装的软件包中标记或者取消标记由用户安装的软件包。
help查看使用帮助,若后面跟着目录,则查看该命令的使用帮助,例如:dnf help install

(二)插件命令

命令说明
builddepInstall build dependencies for package or spec file
changelog查看软件包的改变日志数据
config-managermanage dnf configuration options and repositories
debug-dump转储已安装的 RPM 软件包信息至文件
debug-restore恢复调试用转储文件中的软件包记录
debuginfo-install安装调试信息软件包
download下载软件包至当前目录
needs-restarting判断所升级的二进制文件是否需要重启
playground与 Playground 仓库交互。
repoclosure显示仓库中未被解决的依赖关系的列表
repodiff列出两组仓库中的不同
repograph以点线图方式输出完整的软件包依赖关系图
repomanage管理 RPM 软件包目录
reposync下载远程仓库中的全部软件包

四、选项参数

选项说明
-c [config file], --config [config file]配置文件位置
-q, --quiet静默执行
-v, --verbose详尽执行
--version显示 DNF 版本信息并退出
--installroot [path]设置目标根目录
--nodocs不要安装文档
--noplugins禁用所有插件
--enableplugin [plugin]启用指定名称的插件
--disableplugin [plugin]禁用指定名称的插件
--releasever RELEASEVER覆盖在配置文件和仓库文件中 $releasever 的值
--setopt SETOPTS设置任意配置和仓库选项
--skip-broken通过跳过软件包来解决依赖问题
--allowerasing允许解决依赖关系时删除已安装软件包
-b, --best在事务中尝试最佳软件包版本
-C, --cacheonly完全从系统缓存运行,不升级缓存
-R [minutes], --randomwait [minutes]最大命令等待时间
-d [debug level], --debuglevel [debug level]调试输出级别
--debugsolver转储详细解决结果至文件
--showduplicates在 list/search 命令下,显示仓库里重复的条目
-e ERRORLEVEL, --errorlevel ERRORLEVEL错误输出级别
--obsoletes对 upgrade 启用 dnf 的过期处理逻辑,或对 info、list 和 repoquery显示软件包过期的功能
--rpmverbosity [debug level name]rpm调试输出等级
-y, --assumeyes全部问题自动应答为是
--assumeno全部问题自动应答为否
--enablerepo [repo]Enable additional repositories. List option. Supports globs, can be specified multiple times.
--disablerepo [repo]Disable repositories. List option. Supports globs, can be specified multiple times.
-x [package], --exclude [package], --excludepkgs [package]用全名或通配符排除软件包
--disableexcludes [repo], --disableexcludepkgs [repo]禁用 excludepkgs
--repofrompath [repo,path]指向附加仓库的标记和路径,可以指定多次
--noautoremove禁用删除不再被使用的依赖软件包
--nogpgcheckdisable gpg signature checking (if RPM policy allows)
--color COLOR配置是否使用颜色
--refresh在运行命令之前将元数据标记为过期
--destdir DESTDIR, --downloaddir DESTDIR设置软件包要复制到的目录
--downloadonly仅下载软件包
--comment COMMENT为事务添加一个注释
--bugfix在更新中包括与 bug 修复有关的软件包
--enhancement在更新中包括与功能增强有关的软件包。
--newpackage在更新中包括与新软件包有关的软件包
--security在更新中包括与安全有关的软件包
--advisory ADVISORY, --advisories ADVISORY在更新中包括修复指定公告所必须的软件包
--bzs BUGZILLA在更新中包括修复给定 BZ 所必须的软件包
--cves CVES在更新中包括修复给定 CVE 所必须的软件包
--sec-severity {Critical,Important,Moderate,Low}, --secseverity {Critical,Important,Moderate,Low}在更新中包括匹配给定安全等级的安全相关的软件包
--forcearch ARCH强制使用一个架构安装包
-h, --help,-?, --help显示命令帮助,如果后面跟着命令名称,则显示该命令的帮助信息,例如:dnf --help install

五、命令示例

(一)安装、升级和删除软件包

安装软件包

使用该命令,系统将会自动安装对应的软件及其所需的所有依赖

[root@htlwk0001host ~]# dnf install nano

安装一个软件包组

该命令用于安装一个软件包组。本例中,我们将用命令安装”Educational Software”这个软件包组。

dnf groupinstall ‘Educational Software’

升级一个软件包组中的软件包

该命令用于升级一个软件包组中的软件包。本例中,我们将用命令升级”Educational Software”这个软件包组中的软件。

dnf groupupdate ‘Educational Software’

删除一个软件包组

该命令用于删除一个软件包组。本例中,我们将用命令删除”Educational Software”这个软件包组。

dnf groupremove ‘Educational Software’

从特定的软件包库安装特定的软件

该命令用于从特定的软件包库安装特定的软件。本例中我们将使用命令从软件包库 epel 中安装 phpmyadmin 软件包。

dnf --enablerepo=epel install phpmyadmin

更新软件包到最新的稳定发行版

该命令可以通过所有可用的软件源将已经安装的所有软件包更新到最新的稳定发行版

dnf distro-sync

升级软件包

该命令用于升级指定的软件包。

[root@htlwk0001host ~]# dnf update systemd

重新安装特定软件包

dnf reinstall nano

升级所有系统软件包

该命令用于升级系统中所有有可用升级的软件包。

[root@htlwk0001host ~]# dnf update 
[root@htlwk0001host ~]# dnf upgrade

删除软件包

删除系统中指定的软件包。

[root@htlwk0001host ~]# dnf remove nano
[root@htlwk0001host ~]# dnf erase nano

删除无用孤立的软件包

当没有软件再依赖它们时,某一些用于解决特定软件依赖的软件包将会变得没有存在的意义,该命令就是用来自动移除这些没用的孤立软件包。

[root@htlwk0001host ~]# dnf autoremove

删除缓存的无用软件包

在使用 DNF 的过程中,会因为各种原因在系统中残留各种过时的文件和未完成的编译工程。我们可以使用该命令来删除这些没用的垃圾文件。

[root@htlwk0001host ~]# dnf clean all
42 文件已删除

(二)查询和检验软件包

查看系统中可用的 DNF 软件库

[root@htlwk0001host ~]# dnf repolist
仓库标识                                                                                   仓库名称
AppStream                                                                                  CentOS-8 - AppStream
BaseOS                                                                                     CentOS-8 - Base
epel                                                                                       Extra Packages for Enterprise Linux 8 - x86_64
extras                                                                                     CentOS-8 - Extras
mysql-connectors-community                                                                 MySQL Connectors Community
mysql-tools-community                                                                      MySQL Tools Community
mysql57-community                                                                          MySQL 5.7 Community Server

查看所有的软件包组

dnf grouplist

查看系统中可用和不可用的所有的 DNF 软件库

root@htlwk0001host ~]# dnf repolist all
仓库标识                                                                                     仓库名称                                                                                                 状态
AppStream                                                                                    CentOS-8 - AppStream                                                                                     启用
AppStream-source                                                                             CentOS-8 - AppStream Sources                                                                             禁用
BaseOS                                                                                       CentOS-8 - Base                                                                                          启用
BaseOS-source                                                                                CentOS-8 - BaseOS Sources                                                                                禁用
PowerTools                                                                                   CentOS-8 - PowerTools                                                                                    禁用
base-debuginfo                                                                               CentOS-8 - Debuginfo                                                                                     禁用
c8-media-AppStream                                                                           CentOS-AppStream-8 - Media                                                                               禁用
c8-media-BaseOS                                                                              CentOS-BaseOS-8 - Media                                                                                  禁用
centosplus                                                                                   CentOS-8 - Plus                                                                                          禁用
centosplus-source                                                                            CentOS-8 - Plus Sources                                                                                  禁用
cr                                                                                           CentOS-8 - cr                                                                                            禁用
epel                                                                                         Extra Packages for Enterprise Linux 8 - x86_64                                                           启用
extras                                                                                       CentOS-8 - Extras                                                                                        启用
extras-source                                                                                CentOS-8 - Extras Sources                                                                                禁用
fasttrack                                                                                    CentOS-8 - fasttrack                                                                                     禁用
mysql-cluster-7.5-community                                                                  MySQL Cluster 7.5 Community                                                                              禁用
mysql-cluster-7.5-community-source                                                           MySQL Cluster 7.5 Community - Source                                                                     禁用
mysql-connectors-community                                                                   MySQL Connectors Community                                                                               启用
mysql-connectors-community-source                                                            MySQL Connectors Community - Source                                                                      禁用
mysql-tools-community                                                                        MySQL Tools Community                                                                                    启用
mysql-tools-community-source                                                                 MySQL Tools Community - Source                                                                           禁用
mysql-tools-preview                                                                          MySQL Tools Preview                                                                                      禁用
mysql-tools-preview-source                                                                   MySQL Tools Preview - Source                                                                             禁用
mysql55-community                                                                            MySQL 5.5 Community Server                                                                               禁用
mysql55-community-source                                                                     MySQL 5.5 Community Server - Source                                                                      禁用
mysql56-community                                                                            MySQL 5.6 Community Server                                                                               禁用
mysql56-community-source                                                                     MySQL 5.6 Community Server - Source                                                                      禁用
mysql57-community                                                                            MySQL 5.7 Community Server                                                                               启用
mysql57-community-source                                                                     MySQL 5.7 Community Server - Source                                                                      禁用
mysql80-community                                                                            MySQL 8.0 Community Server                                                                               禁用
mysql80-community-source                                                                     MySQL 8.0 Community Server - Source                                                                      禁用

列出所有 RPM 包

该命令用于列出用户系统上的所有来自软件库的可用软件包和所有已经安装在系统上的软件包

[root@htlwk0001host ~]# dnf list

列出所有安装了的 RPM 包

[root@htlwk0001host ~]# dnf list installed

列出所有可供安装的 RPM 包

该命令用于列出来自所有可用软件库的可供安装的软件包。

[root@htlwk0001host ~]# dnf list available

搜索软件库中的 RPM 包

当你不知道你想要安装的软件的准确名称时,你可以用该命令来搜索软件包。你需要在”search”参数后面键入软件的部分名称来搜索。

[root@htlwk0001host ~]# dnf search fastest
上次元数据过期检查:2:07:02 前,执行于 2021年07月20日 星期二 14时43分02秒。
=========================================================================================== 概况 匹配:fastest ===========================================================================================
perl-Sort-Key.x86_64 : Fastest way to sort anything in Perl

查找某一文件的提供者

当你想要查看是哪个软件包提供了系统中的某一文件时,你可以使用这条命令。在本例中,我们将查找 /bin/bash 这个文件的提供者:

[root@htlwk0001host ~]# dnf provides /bin/bash
上次元数据过期检查:2:11:14 前,执行于 2021年07月20日 星期二 14时43分02秒。
bash-4.4.19-10.el8.x86_64 : The GNU Bourne Again shell
仓库        :@System
匹配来源:
提供    : /bin/bashbash-4.4.19-14.el8.x86_64 : The GNU Bourne Again shell
仓库        :BaseOS
匹配来源:
提供    : /bin/bashbash-4.4.20-1.el8_4.x86_64 : The GNU Bourne Again shell
仓库        :BaseOS
匹配来源:
提供    : /bin/bash

查看软件包详情

当你想在安装某一个软件包之前查看它的详细信息时,这条命令可以帮到你。

[root@htlwk0001host ~]# dnf info nano

检查系统软件包的更新

该命令用于检查系统中所有软件包的更新

[root@htlwk0001host ~]# dnf check-update

(三)执行其它功能

查看安装在您系统中的 DNF 包管理器的版本

[root@htlwk0001host ~]# dnf --version
4.2.17已安装: dnf-0:4.2.17-6.el8.noarch 在 2020年07月17日 星期五 01时54分04秒构建    :CentOS Buildsys <bugs@centos.org>2020年04月24日 星期五 19时58分19秒已安装: rpm-0:4.14.2-37.el8.x86_64 在 2020年07月17日 星期五 01时53分33秒构建    :CentOS Buildsys <bugs@centos.org>2020年04月24日 星期五 03时17分18秒

获取有关某条命令的使用帮助

该命令用于获取有关某条命令的使用帮助(包括可用于该命令的参数和该命令的用途说明),本例中我们将使用命令获取有关命令”clean”的使用帮助。

dnf help clean

查看所有的 DNF 命令及其用途

dnf help

查看 DNF 命令的执行历史

您可以使用该命令来查看您系统上 DNF 命令的执行历史。通过这个手段您可以知道在自您使用 DNF 开始有什么软件被安装和卸载。

dnf history

回滚某个特定软件的版本

该命令用于降低特定软件包的版本(如果可能的话),本例中,我们将使用命令降低”acpid”这个软件包的版本。

dnf downgrade acpid

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/333607.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

抽取大小: 高斯sigma_无服务器:SLAppForge Sigma入门

抽取大小: 高斯sigma&#xff01; Cmere。 寻找某事&#xff1f; 无服务器&#xff0c;是吗&#xff1f; 在上面。 进入海峡&#xff0c;在“ Sigma”标志处右转。 &#xff08;嗯&#xff0c;还不要怪我们&#xff1b;至少我们认为这很容易&#xff01;&#xff09; 我们…

java多线程 修改优先级_Java多线程-线程的调度(优先级)

与线程休眠类似&#xff0c;线程的优先级仍然无法保障线程的执行次序。只不过&#xff0c;优先级高的线程获取CPU资源的概率较大&#xff0c;优先级低的并非没机会执行。线程的优先级用1-10之间的整数表示&#xff0c;数值越大优先级越高&#xff0c;默认的优先级为5。在一个线…

Linux 命令之 apt-mark -- 对 APT 软件包设置标记

文章目录一、命令介绍二、常用命令三、命令示例&#xff08;一&#xff09;将软件包标记为 unhold一、命令介绍 apt-mark 可以对软件包设置标记&#xff0c;列出或过滤拥有某个标记的软件包。 二、常用命令 命令说明auto标记指定软件包为自动安装manual标记指定软件包为手动…

java魔兽猎人_Java基于Swing实现的打猎射击游戏代码

package Game;import static java.lang.Math.random;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class MainFrame extends JFrame {private static final long serialVersionUID 1L;private static long score 0;// 分数private static Integer…

Linux 命令之 aptitude -- APT 软件包管理工具

文章目录一、命令介绍二、常用选项三、命令示例&#xff08;一&#xff09;安装、升级和删除软件包升级系统所有的软件包将系统升级到新的发行版安全升级系统的软件包安装软件包删除软件包&#xff08;保留有关的配置文件&#xff09;彻底删除软件包&#xff08;删除有关的配置…

微软 azure_在Microsoft Azure上运行Eclipse MicroProfile

微软 azure在本文中&#xff0c;我将通过展示如何在Microsoft Azure Web Apps for Containers中执行操作来跟踪有关在Oracle Cloud中运行Eclipse MicroProfile应用程序的系列文章。 我正在使用与以前的帖子相同的简单应用程序CloudEE Duke 。 唯一的区别是&#xff0c;我现在将…

java文件复制速度_【Java】Java代码拷贝文件的速度

Java代码拷贝文件的速度究竟有多快&#xff1f;前言最近学习Java到了流处理&#xff0c;其中有种流叫FileInputStream和FileOutputStream&#xff0c;简单来说&#xff0c;就是操作文件的&#xff0c;老师给我们示范了一个非常有趣的例子&#xff0c;用代码拷贝文件&#xff01…

vim 的配置详解/键盘映射配置详解

文章目录特性设置配置快捷键&#xff08;键映射配置&#xff09;键盘符号键盘映射命令和不同模式的对应关系取消键盘映射查看键盘映射在目录 /etc/ 下面&#xff0c;有个名为 vimrc 的文件&#xff0c;这是系统中公共的 vim 配置文件&#xff0c;对所有用户都有效。而在每个…

开闭原则 依赖倒置原则_坚实原则:依赖倒置原则

开闭原则 依赖倒置原则到目前为止&#xff0c;我们只研究了单一职责 &#xff0c; 打开/关闭 &#xff0c; liskov替换和接口隔离原则。 依赖倒置是我们所要研究的最后一个原理之一。 该原则指出 答&#xff1a;高级模块不应依赖于低级模块。 两者都应依赖抽象。 B.抽象不应…

java的传值调用什么_Java的传值调用

(本文非引战或diss&#xff0c;只是说出自己的理解&#xff0c;欢迎摆正心态观看或探讨)引子之所以写这篇文章是因为前些天写了一篇《Java中真的只有值传递么&#xff1f;》探讨了网上关于Java只有值传递的说法&#xff0c;当时写这篇文章的缘由是因为之前看的文章讲解的Java只…

Linux 命令之 apt -- Debian Linux 新一代的软件包管理工具

文章目录 一、命令介绍二、常用命令三、常用选项四、命令示例(一)安装、更新和删除软件包安装指定的软件包安装软件包的同时修复依赖问题安装指定版本的软件包安装本地的 deb 包文件删除软件包,保留配置文件删除软件包,不保留配置文件将已经安装的但是不再使用的软件包删除…

liskov替换原则_坚实原则:Liskov替代原则

liskov替换原则以前&#xff0c;我们深入研究了坚实的原则&#xff0c;包括单一责任和开放/封闭原则。 Liskov替代原则&#xff08;LSP&#xff09;是子类型关系的一种特殊定义&#xff0c;称为&#xff08;强&#xff09;行为子类型&#xff0c; 假设对象S是对象T的子类型&a…

java 聚合_Java聚合

聚合如果一个类有一个类的实体引用(类中的类)&#xff0c;则它称为聚合。 聚合表示HAS-A关系。考虑有一种情况&#xff0c;Employee对象包含许多信息&#xff0c;例如&#xff1a;id&#xff0c;name&#xff0c;emailId等。它包含另一个类对象&#xff1a;address&#xff0c;…

Linux 命令之 dpkg --Debian 的一个底层包管理工具

文章目录 一、命令介绍二、deb 软件包命名规则三、软件包管理相关文件/目录四、dpkg 数据库五、子命令六、常用选项(一)安装、升级和删除软件包(二)查询和检验软件包(三)其它七、命令示例(一)安装、升级和卸载软件包安装指定的软件包解开软件包到系统目录但不配置配置软…

java jep_Java 10 – JEP 286:局部变量类型推断

java jepJava 10即将发布&#xff0c;RC Build可在此处获得 。 可在此处找到此发行版的目标功能。 在针对Java 10的所有JEP中&#xff0c;开发人员社区中最有趣且最受关注的是286&#xff1a;Local-Variable Type Inference 。 什么是局部变量类型推断&#xff1f; 我们在Java…

java ffmpeg 视频水印_java 实现视频转换通用工具类:视频加水印-Ffmpeg(五-1)

java 实现视频转换通用工具类&#xff1a;视频相互转换-Ffmpeg(三)说明&#xff1a;视频加水印支持右上角、左上角、左下角、右下角、底部居中几个方位1.根据水印文字---添加视频水印/*** 根据水印文字---添加视频水印* param srcPath 原视频路径* param tarVideoPath 生成后的…

手动 clone 安装 Homebrew

文章目录 手动 clone 安装 HomebrewHomebrew 换源替换 homebrew 源替换 homebrew-core 源替换 homebrew-bottles 源bash用户zsh 用户更新 Homebrew手动 clone 安装 Homebrew 首先进入 homebrew 目录:cd "$(brew --repo)/Library/Taps/homebrew/"创建目录 homebrew-c…

lambda 匿名内部类_Lambda运行时内部:窥视无服务器巢穴

lambda 匿名内部类有没有想过lambda里面是什么样的&#xff1f; 不要怀疑了 让我们找出答案。 自从2014年问世以来&#xff0c;AWS的lambda函数就成为一个热门话题&#xff0c;在无服务器计算领域开辟了全新的历史。 无状态&#xff0c;零维护&#xff0c;按次执行的好东西实际…

java VM argument_java之program arguments与VM arguments

program arguments 中的值作为 args[] 的参数传入的&#xff0c;而 VM Arguments 是设置的虚拟机的属性。program arguments 是要传给你的应用程序的&#xff0c;它通过主函数中的 args 来传值。 VM arguments是系统的属性&#xff0c;要传给 java 虚拟机的。如图&#xff1a;是…

java iterator 嵌套_Java中的集合嵌套

import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;public classDemo06 {public static voidmain(String[] args) {//大 MapHashMap> oraclenew HashMap>();//小MapHashMap java1018 new HashMap();HashMap java1227 new H…