
# 使用dnf或yum命令升级和回退
本节介绍HCE 1.1从低版本向高版本的升级和回退操作。dnf和yum命令的使用方法相同，本节以dnf命令为例。
![](https://support.huaweicloud.com/usermanual-hce/public_sys-resources/note_3.0-zh-cn.png)
- HCE 2.0及以上版本支持yum和dnf命令。
- HCE 1.1版本仅支持yum命令。
 
#### 背景信息
DNF (Dandified YUM) 和YUM (Yellowdog Updater Modified) 都是基于RPM的包管理工具，用于安装、更新和删除软件包。YUM是较早的工具，而DNF是YUM的继任者，旨在提供更好的性能和更多的功能，如模块化支持和并行下载。HCE为保证更好的兼容性，同时提供yum命令和dnf命令。
#### 升级步骤
此升级步骤以HCE2.0为例。
1. 检查待更新的RPM包。
   - 执行**dnf list updates** 命令查看所有待更新的RPM包列表。
     ```
     [root@localhost bin]# dnf list updates 
     Last metadata expiration check: 6:49:11 ago on Tue 28 Jun 2022 01:55:35 PM CST.  
     hce-config.x86_64                           3.0-66.hce2                
     hce-latest-release.x86_64                   2.0-1656179342.2.0.2206.B032.hce2 
     irqbalance.x86_64                           3:1.8.0-7.h9.hce2  
     kernel.x86_64                               5.10.0-60.18.0.50.h316_1.hce2
     kernel-tools.x86_64                         5.10.0-60.18.0.50.h316_1.hce2 
     kernel-tools-libs.x86_64                    5.10.0-60.18.0.50.h316_1.hce2
     kexec-tools.x86_64                          2.0.23-4.h8.hce2 
     libcurl.x86_64                              7.79.1-2.h4.hce2 
     libssh.x86_64                               0.9.6-2.h3.hce2 
     libstdc++.x86_64                            10.3.1-10.h10.hce2 
     libxml2.x86_64                              2.9.12-5.h5.hce2  
     openssh.x86_64                              8.8p1-2.h12.hce2 
     openssh-clients.x86_64                      8.8p1-2.h12.hce2 
     openssh-server.x86_64                       8.8p1-2.h12.hce2  
     Obsoleting Packages 
     dnf-data.noarch                             4.10.0-3.h6.hce2      
     dnf.noarch                                  4.10.0-3.h5.hce2  
     dnf-data.noarch                             4.10.0-3.h6.hce2    
     dnf-data.noarch                             4.10.0-3.h5.hce2
     ```
     
   
   - 执行**dnf list updates --security** 命令，仅查看安全更新涉及的RPM包。
     ```
     [root@localhost bin]# dnf list updates --security 
     Last metadata expiration check: 0:00:03 ago on Fri 08 Jul 2022 04:45:56 PM CST. 
     No security updates needed, but 2 updates available
     ```
     
    
2. 升级待更新的RPM包。
   - 执行**dnf update** 命令升级所有待更新的RPM包，包括安全更新涉及的RPM包和漏洞修复。执行命令输出信息中会显示组件的目标版本信息（Version列）。
     ```
     [root@localhost bin]# dnf update 
     Last metadata expiration check: 7:12:18 ago on Tue 28 Jun 2022 01:55:35 PM CST. 
     Dependencies resolved. 
     ================================================================================================  
      Package                        Arch      Version                                 Repo     Size ================================================================================================ 
     Installing:  
      kernel                         x86_64    5.10.0-60.18.0.50.h316_1.hce2           hce2     47 M 
     Upgrading:  
      hce-config                     x86_64    3.0-66.hce2                             hce2     13 k 
      hce-latest-release             x86_64    2.0-1656179342.2.0.2206.B032.hce2       hce2    5.2 k 
      kernel-tools                   x86_64    5.10.0-60.18.0.50.h316_1.hce2           hce2    230 k 
      kernel-tools-libs              x86_64    5.10.0-60.18.0.50.h316_1.hce2           hce2     62 k 
      kexec-tools                    x86_64    2.0.23-4.h8.hce2                        hce2    400 k 
      libcurl                        x86_64    7.79.1-2.h4.hce2                        hce2    284 k 
      libssh                         x86_64    0.9.6-2.h3.hce2                         hce2    194 k 
      libstdc++                      x86_64    10.3.1-10.h10.hce2                      hce2    535 k 
      libxml2                        x86_64    2.9.12-5.h5.hce2                        hce2    659 k  
      logrotate                      x86_64    3.18.1-1.h2.hce2                        hce2     60 k 
      mdadm                          x86_64    4.1-5.h2.hce2                           hce2    331 k 
      nftables                       x86_64    1:1.0.0-1.h3.hce2                       hce2    303 k 
      perl                           x86_64    4:5.34.0-3.h5.hce2                      hce2    3.2 M 
      perl-libs                      x86_64    4:5.34.0-3.h5.hce2                      hce2    1.8 M 
     Installing dependencies: 
      grub2-tools-efi                x86_64    1:2.06-3.h5.hce2                        hce2    472 k 
      Transaction Summary 
     ================================================================================================ 
     Install   2 Packages 
     Upgrade  72 Packages  
     Total download size: 105 M 
     Is this ok [y/N]:
     ```
     
   
   - 执行**dnf update --security** 命令，仅升级安全更新涉及的RPM包。
     ```
     [root@localhost bin]# dnf update --security 
     Last metadata expiration check: 7:15:16 ago on Tue 28 Jun 2022 01:55:35 PM CST. 
     No security updates needed, but 73 updates available Dependencies resolved. 
     Nothing to do. 
     Complete!
     ```
     
    
3. 升级成功后，请及时确认业务运行情况。
 
 #### 回退步骤
1. 执行**dnf history** 命令，查询需要回退的历史操作ID号。
   图1查询需要回退的历史操作ID号   
   ![](https://support.huaweicloud.com/usermanual-hce/zh-cn_image_0000002479929054.png "点击放大") 
2. 执行**dnf history undo \<** ID号**\>** 命令回退此条历史操作**。**
 
