从0到1一步一步玩转openEuler--16 openEuler使用DNF(YUM)管理软件包组

时间:2023-02-16 22:56:04

从0到1一步一步玩转openEuler--16 openEuler使用DNF(YUM)管理软件包组

DNF是一款Linux软件包管理工具,用于管理RPM软件包。DNF可以查询软件包信息,从指定软件库获取软件包,自动处理依赖关系以安装或卸载软件包,以及更新系统到最新可用版本。

从0到1一步一步玩转openEuler--16 openEuler使用DNF(YUM)管理软件包组说明:

  • DNF与YUM完全兼容,提供了YUM兼容的命令行以及为扩展和插件提供的API。
  • 使用DNF需要管理员权限,本章所有命令需要在管理员权限下执行。

软件包集合是服务于一个共同的目的一组软件包,例如系统工具集等。使用dnf可以对软件包组进行安装/删除等操作,使相关操作更高效。

16.1 列出软件包组清单

使用summary参数,可以列出系统中所有已安装软件包组、可用的组,可用的环境组的数量,命令如下:

# dnf groups summary

例如示例命令如下:

[root@superman-21 ~]# dnf groups summary
Last metadata expiration check: 0:07:23 ago on 2022年12月08日 星期四 20时26分18秒.
Installed Groups: 2
Available Groups: 7
[root@superman-21 ~]# 

要列出所有软件包组和它们的组ID ,命令如下:

# dnf group list

使用示例如下:

[root@superman-21 ~]# dnf groups summary
Last metadata expiration check: 0:07:23 ago on 2022年12月08日 星期四 20时26分18秒.
Installed Groups: 2
Available Groups: 7
[root@superman-21 ~]# 
[root@superman-21 ~]# 
[root@superman-21 ~]# dnf group list
Last metadata expiration check: 0:07:59 ago on 2022年12月08日 星期四 20时26分18秒.
Available Environment Groups:
   最小安装
   虚拟化主机
Installed Environment Groups:
   服务器
Installed Groups:
   容器管理
   无图形终端系统管理工具
Available Groups:
   开发工具
   传统 UNIX 兼容性
   网络服务器
   科学记数法支持
   安全性工具
   系统工具
   智能卡支持
[root@superman-21 ~]# 

16.2 显示软件包组信息

要列出包含在一个软件包组中必须安装的包和可选包,使用命令如下:

# dnf group info glob_expression...

例如显示Development Tools信息,示例如下:

[root@superman-21 ~]# dnf group info "Development Tools"
Last metadata expiration check: 0:09:11 ago on 2022年12月08日 星期四 20时26分18秒.
Group: 开发工具
 Description: 基本开发环境。
 Mandatory Packages:
   autoconf
   automake
   binutils
   bison
   flex
   gcc
   gcc-c++
   gdb
   gettext
   glibc-devel
   libtool
   make
   openEuler-rpm-config
   patch
   pkgconf
   rpm
   rpm-build
 Default Packages:
   asciidoc
   byacc
   ctags
   diffstat
   elfutils
   gcc-gfortran
   git
   intltool
   ltrace
   patchutils
   perl-Fedora-VSP
   perl-generators
   pesign
   source-highlight
   subversion
   systemtap
   valgrind
   valgrind-devel
 Optional Packages:
   babel
   chrpath
   cmake
   expect
   gcc-objc
   gcc-objc++
   mercurial
   mod_dav_svn
   rpmdevtools
   rpmlint
   systemtap-sdt-devel
   systemtap-server
[root@superman-21 ~]# 

16.3 安装软件包组

每一个软件包组都有自己的名称以及相应的ID(groupid),您可以使用软件包组名称或它的ID进行安装。

要安装一个软件包组,请在root权限下执行如下命令:

# dnf group install group_name
# dnf group install groupid

例如安装Development Tools相应的软件包组,命令如下:

[root@superman-21 ~]# dnf group install "Development Tools"
Last metadata expiration check: 0:10:21 ago on 2022年12月08日 星期四 20时26分18秒.
Dependencies resolved.
=============================================================================================================================
 Package                                         Architecture      Version                           Repository         Size
=============================================================================================================================
Upgrading:
 cpp                                             x86_64            10.3.1-11.oe2203                  update            8.9 M
 elfutils                                        x86_64            0.185-13.oe2203                   update            598 k
 gcc                                             x86_64            10.3.1-11.oe2203                  update             29 M
 glibc                                           x86_64            2.34-79.oe2203                    update            3.0 M
 glibc-common                                    x86_64            2.34-79.oe2203                    update            3.6 M
 glibc-devel                                     x86_64            2.34-79.oe2203         .
.
.
  noarch            7.5-24.oe2203                     OS                 15 M
Installing weak dependencies:
 elfutils-extra                                  x86_64            0.185-13.oe2203                   update            227 k
 gcc-gdb-plugin                                  x86_64            10.3.1-11.oe2203                  update            101 k
Installing Groups:
 Development Tools                                                                                                          

Transaction Summary
=============================================================================================================================
Install  82 Packages
Upgrade  13 Packages

Total download size: 136 M
Is this ok [y/N]: y
.
.
.
  urw-base35-z003-fonts-20200910-1.oe2203.noarch            utf8proc-2.6.1-3.oe2203.x86_64                                  
  valgrind-1:3.16.0-3.oe2203.x86_64                         valgrind-devel-1:3.16.0-3.oe2203.x86_64                         
  xorg-x11-font-utils-1:7.5-43.oe2203.x86_64                xorg-x11-fonts-7.5-24.oe2203.noarch                             

Complete!
[root@superman-21 ~]# 
[root@superman-21 ~]# dnf group install development
Last metadata expiration check: 0:15:19 ago on 2022年12月08日 星期四 20时26分18秒.
Dependencies resolved.
=============================================================================================================================
 Package                                         Architecture      Version                           Repository         Size
=============================================================================================================================
Installing group/module packages:
 asciidoc                                        noarch            9.0.4-1.oe2203                    OS                246 k
 autoconf                                        noarch            2.71-2.oe2203                     OS                663 k
 automake                                        noarch            1.16.5-3.oe2203                   OS                460 k
 byacc                                           x86_64            2.0.20210808-1.oe2203             OS                 62 k
 ctags                                           x86_64            5.8-28.oe2203                     OS                121 k
 diffstat                                        x86_64            1.63-1.oe2203                     OS                 36 k
 gcc-c++                                         x86_64            10.3.1-11.oe2203        .
.
.
 OS                 63 k
 xorg-x11-font-utils                             x86_64            1:7.5-43.oe2203                   OS                 85 k
 xorg-x11-fonts                                  noarch            7.5-24.oe2203                     OS                 15 M
Installing weak dependencies:
 gcc-gdb-plugin                                  x86_64            10.3.1-11.oe2203                  update            101 k
Installing Groups:
 Development Tools                                                                                                          

Transaction Summary
=============================================================================================================================
Install  70 Packages

Total download size: 79 M
Installed size: 259 M
Is this ok [y/N]: y
Downloading Packages:
(1/70): adobe-mappings-cmap-20190730-3.oe2203.noarch.rpm                                     102 kB/s |  15 kB     00:00    
(2/70): apr-1.7.0-4.oe2203.x86_64.rpm                                                        779 kB/s | 110 kB     00:00    
(3/70): apr-util-1.6.1-12.oe2203.x86_64.rpm                                                  830 kB/s | 110 kB     00:00    
(4/70): adobe-mappings-pdf-20190401-2.oe2203.noarch.rpm                                      1.5 MB/s | 755 kB     00:00    
.
.
.
  rpm-build-4.17.0-14.oe2203.x86_64                                   source-highlight-3.1.9-2.oe2203.x86_64                 
  subversion-1.14.1-2.oe2203.x86_64                                   urw-base35-fonts-20200910-1.oe2203.noarch              
  urw-base35-standard-symbols-ps-fonts-20200910-1.oe2203.noarch       utf8proc-2.6.1-3.oe2203.x86_64                         
  valgrind-1:3.16.0-3.oe2203.x86_64                                   valgrind-devel-1:3.16.0-3.oe2203.x86_64                
  xorg-x11-font-utils-1:7.5-43.oe2203.x86_64                          xorg-x11-fonts-7.5-24.oe2203.noarch                    

Complete!
[root@superman-21 ~]# 

16.4 删除软件包组

要卸载软件包组,您可以使用软件包组名称或它的ID,在root权限下执行如下命令:

# dnf group remove group_name
# dnf group remove groupid

例如删除Development Tools相应的软件包组,命令如下:

[root@superman-21 ~]# dnf group remove "Development Tools"
Dependencies resolved.
=============================================================================================================================
 Package                                         Architecture      Version                          Repository          Size
=============================================================================================================================
Removing:
 asciidoc                                        noarch            9.0.4-1.oe2203                   @OS                958 k
 autoconf                                        noarch            2.71-2.oe2203                    @OS                3.1 M
 automake                                        noarch            1.16.5-3.oe2203                  @OS                1.4 M
 byacc                                           x86_64            2.0.20210808-1.oe2203            @OS                132 k
 ctags                                           x86_64            5.8-28.oe2203                    @OS                316 k
.
.
.
 xorg-x11-font-utils                             x86_64            1:7.5-43.oe2203                  @OS                355 k
 xorg-x11-fonts                                  noarch            7.5-24.oe2203                    @OS                 16 M
Removing Groups:
 Development Tools                                                                                                          

Transaction Summary
=============================================================================================================================
Remove  70 Packages

Freed space: 259 M
Is this ok [y/N]: y
.
.
.                         
  rpm-build-4.17.0-14.oe2203.x86_64                                   source-highlight-3.1.9-2.oe2203.x86_64                 
  subversion-1.14.1-2.oe2203.x86_64                                   urw-base35-fonts-20200910-1.oe2203.noarch              
  urw-base35-standard-symbols-ps-fonts-20200910-1.oe2203.noarch       utf8proc-2.6.1-3.oe2203.x86_64                         
  valgrind-1:3.16.0-3.oe2203.x86_64                                   valgrind-devel-1:3.16.0-3.oe2203.x86_64                
  xorg-x11-font-utils-1:7.5-43.oe2203.x86_64                          xorg-x11-fonts-7.5-24.oe2203.noarch                    

Complete!
[root@superman-21 ~]# 
[root@superman-21 ~]# dnf group remove development 
Dependencies resolved.
=============================================================================================================================
 Package                                         Architecture      Version                          Repository          Size
=============================================================================================================================
Removing:
 asciidoc                                        noarch            9.0.4-1.oe2203                   @OS                958 k
 autoconf                                        noarch            2.71-2.oe2203                    @OS                3.1 M
 automake                                        noarch            1.16.5-3.oe2203                  @OS                1.4 M
 byacc                                           x86_64            2.0.20210808-1.oe2203            @OS                132 k
 ctags                                           x86_64            5.8-28.oe2203                    @OS                316 k
.
.
.
x86_64            2.6.1-3.oe2203                   @OS                339 k
 xorg-x11-font-utils                             x86_64            1:7.5-43.oe2203                  @OS                355 k
 xorg-x11-fonts                                  noarch            7.5-24.oe2203                    @OS                 16 M
Removing Groups:
 Development Tools                                                                                                          

Transaction Summary
=============================================================================================================================
Remove  70 Packages

Freed space: 259 M
Is this ok [y/N]: y
Running transaction check
.
.
.
  Verifying        : valgrind-1:3.16.0-3.oe2203.x86_64                                                                 67/70 
  Verifying        : valgrind-devel-1:3.16.0-3.oe2203.x86_64                                                           68/70 
  Verifying        : xorg-x11-font-utils-1:7.5-43.oe2203.x86_64                                                        69/70 
  Verifying        : xorg-x11-fonts-7.5-24.oe2203.noarch                                                               70/70 

Removed:
  adobe-mappings-cmap-20190730-3.oe2203.noarch                        adobe-mappings-cmap-lang-20190730-3.oe2203.noarch      
  adobe-mappings-pdf-20190401-2.oe2203.noarch                         apr-1.7.0-4.oe2203.x86_64                              
  apr-util-1.6.1-12.oe2203.x86_64                                     asciidoc-9.0.4-1.oe2203.noarch                         
  autoconf-2.71-2.oe2203.noarch                                       automake-1.16.5-3.oe2203.noarch                        
  boost-regex-1.78.0-11.oe2203.x86_64                                 byacc-2.0.20210808-1.oe2203.x86_64                     
.
.
.
  rpm-build-4.17.0-14.oe2203.x86_64                                   source-highlight-3.1.9-2.oe2203.x86_64                 
  subversion-1.14.1-2.oe2203.x86_64                                   urw-base35-fonts-20200910-1.oe2203.noarch              
  urw-base35-standard-symbols-ps-fonts-20200910-1.oe2203.noarch       utf8proc-2.6.1-3.oe2203.x86_64                         
  valgrind-1:3.16.0-3.oe2203.x86_64                                   valgrind-devel-1:3.16.0-3.oe2203.x86_64                
  xorg-x11-font-utils-1:7.5-43.oe2203.x86_64                          xorg-x11-fonts-7.5-24.oe2203.noarch                    

Complete!
[root@superman-21 ~]# 

从0到1一步一步玩转openEuler--16 openEuler使用DNF(YUM)管理软件包组