07-软件升级配置
本章节下载 (344.57 KB)
软件升级用于对软件包进行版本升级、增加特定软件特性或是对软件缺陷进行修复。本章简要介绍了软件升级涉及的主要软件包类型、软件升级方式、以及如何从命令行通过Boot-Loader方式对软件进行升级。
软件升级涉及的软件包有:BootWare程序和Comware软件包。
也称为Boot ROM程序,包括基本段和扩展段。基本段用于引导系统启动。扩展段用于硬件初始化并提供系统管理菜单。在设备无法正常启动时,用户可通过这些菜单加载软件和下次启动配置文件,并管理文件。为避免软件适配错误,BootWare程序通常集成到Comware软件的Boot包中。
(1) Boot包:包含Linux内核程序,提供进程管理、内存管理、文件系统管理等功能的.bin文件。
(2) System包:包含Comware内核和基本功能模块的.bin文件,比如设备管理、接口管理、配置管理和路由模块等。
(3) Feature包:包含高级或定制业务的.bin文件。用户可根据需要购买Feature包。
(4) 补丁(Patch)包:用来修复设备软件缺陷的.bin程序文件。补丁包只能修复启动软件包的缺陷,不涉及功能的添加和删除。所以补丁包只有安装而没有升级的说法。补丁包分为叠加补丁包和非叠加补丁包,具体定义如下:
¡ 叠加补丁包:两个版本的叠加补丁包之间所解决的问题可以是包含、不包含或不完全包含的关系。只有当两个版本的叠加补丁包之间所解决的问题为不包含的关系时,设备才可以同时安装这两个补丁包。
¡ 非叠加补丁包:新版本的补丁包包含旧版本的补丁包所解决的所有问题,每个Boot、System和Feature包只能安装一个非叠加补丁。为同一个Boot、System或Feature包安装新版本补丁包的同时,设备会卸载旧版本的补丁包。为Boot、System或Feature包安装的非叠加补丁包可以同时安装在设备上。
叠加补丁包和非叠加补丁包可以同时安装到设备上。
设备必须具有Boot包和System包才能正常运行。
设备上可安装的软件包(包括Boot包、System包、Feature包和补丁包)共为32个,其中Boot包和System包只能安装一个,Feature包和补丁包总共可安装30个。
软件包有如下两种发布形式:
· 以.bin文件的形式独立发布。这种发布形式需要用户关注软件包之间的适配关系。
· 打包为.ipe的IPE(Image Package Envelope,复合软件包套件)文件发布,减少软件包之间的版本适配错误。设备在加载IPE文件时,会自动将它解压缩成多个.bin文件,并使用这些.bin文件来升级设备。
软件包文件的名称采用“设备简称-Comware版本-软件包类型-release号”的形式。在本文档中,Boot包和System包的文件名统一采用boot.bin和system.bin。
表1-1 软件升级方式
升级方式 |
升级对象 |
说明 |
通过命令行的Boot-Loader方式升级 |
· BootWare程序 · Comware软件包(该方式不能升级补丁包) |
该方式需要重启设备,会导致当前业务中断 |
通过install命令方式升级 |
Comware软件包 |
通过该方式可以实现对软件包(包括Boot包、System包、Feature包和Patch包)的安装及升级 |
通过BootWare菜单进行升级 |
· BootWare程序 · Comware软件包 |
该方式用于无法启动Comware系统时进行软件升级和修复 该升级方式需要连接到Console接口,断电重启。启动过程中根据提示按<Ctrl+B>进入BootWare菜单,通过BootWare来重新加载软件包,具体操作请参见产品随软件发布的版本说明书 |
本章仅涉及如何通过命令行的Boot-Loader方式进行软件升级。
在进行软件升级时,用户需要将升级软件包指定为启动软件包,作为设备下次启动时加载的软件包。
在升级时,用户可为设备指定主用启动软件包和备用启动软件包。加载软件包时,系统会优先选择主用软件包。只有当主用软件包不可用时,才会选择备用软件包。
设备加载并初始化BootWare之后,会按如下流程来选择加载的启动软件包,进入Comware系统:
(1) 优先加载主用软件包。
(2) 如果任何指定的主用软件包不存在或不可用,尝试加载备用软件包。
(3) 如果任何指定的备用软件包不可用,查看主用Boot包或者备用Boot包是否可用。
如果主用Boot包或者备用Boot包均不可用,设备加载失败,无法正常启动。
数字签名机制用于保证软件包的合法性和完整性,确保设备安装的软件安全可用。
软件包发布后,在传输、下载、存储、安装这些环节中,存在被替换或组件被篡改的安全隐患。为了解决这个问题,产品在发布软件包时,会对软件进行数字签名,并将生成的数字签名信息打包到软件包中一起发布。以下场景中,设备会对软件包进行数字签名的验证,认证通过之后才认为该软件包是完整的、可信的:
· 设备启动过程中,在加载启动软件包前会对启动软件包进行数字签名校验,如果软件包通过校验则会被加载;如果软件包未通过校验则不会被加载,并返回错误提示信息。
· 通过BootWare菜单进行升级的过程中,系统会在用户指定启动软件包时进行数字签名校验,如果软件包通过校验则指定成功;如果软件包未通过校验则指定失败,并返回错误提示信息。
· 系统将文件系统中的BootWare程序加载到BootWare的Normal区前会对文件系统中包含BootWare程序的文件进行数字签名校验,如果文件通过校验则会被加载;如果文件未通过校验则不会被加载,并返回错误提示信息。
· 通过Boot-Loader方式配置设备下次启动时使用的软件包时,设备在修改启动软件包列表前会对软件包进行数字签名校验,如果软件包通过校验则会替换现有的软件包列表;如果软件包未通过校验则不会替换现有的软件包列表,并返回错误提示信息。
· 配置安全引擎的加载软件包时,系统在将指定软件包备份到所有主控板前会对软件包进行数字签名校验,如果软件包通过校验则会备份到所有主控板;如果软件包未通过校验则不会备份到所有主控板,并返回错误提示信息。
· 激活Feature包或补丁包前,系统会对Feature包或补丁包进行数字签名校验,如果软件包通过校验则激活Feature包或补丁包;如果软件包未通过校验则不激活Feature包或补丁包,并返回错误提示信息。
在当前的升级动作未结束前,不允许再执行其他升级动作。升级动作包括执行install、issu、boot-loader命令。
如果将可插拔存储介质内的软件包指定为设备下次启动时使用的软件包,重启设备时不要将可插拔存储介质从设备上拔出,否则可能导致设备无法正常启动。建议将固定存储介质中的软件包指定为设备下次启动时使用的软件包。
升级设备软件前,请进行如下操作:
(1) 使用display version命令查看设备当前运行的BootWare程序以及启动软件的版本。
(2) 获取新软件的版本发布说明书,了解新软件的版本号、软件大小以及和当前运行的BootWare程序以及Comware软件的兼容性。
(3) 通过版本发布说明书了解将安装的软件包是否需要License。如果需要,查看设备上是否有对应的有效的License。如果没有,请先安装License。否则,会导致软件包安装失败。
(4) 使用dir命令查看存储介质是否有足够的空间存储新的软件。如果存储空间不足,可使用delete命令删除一些暂时不用的文件。关于dir和delete命令的详细描述请参见“基础配置命令参考”中的“文件系统管理”。
(5) 使用FTP、TFTP方式将新软件包下载到任一文件系统的根目录下。FTP、TFTP和文件系统管理的具体配置和介绍请参见“基础配置指导”中的“FTP和TFTP”和“文件系统管理”。
(1) 加载新的BootWare程序。
bootrom update file file [ subslot subslot-number-list ] [ all | part ]
执行本命令后,系统会将文件系统中的BootWare程序加载到BootWare的Normal区。
系统将文件系统中的BootWare程序加载到BootWare的Normal区前会对文件系统中包含BootWare程序的文件进行数字签名校验,如果文件通过校验则会被加载;如果文件未通过校验则不会被加载,并返回错误提示信息。
要使新的BootWare程序生效,需要重启设备。
请在用户视图下执行以下操作。
(1) 指定设备的启动软件包。请选择其中一项进行配置。
¡ boot-loader file ipe-filename { backup | main [ undecompressed ] }
¡ boot-loader file boot filename system filename [ feature filename&<1-30> ] { backup | main }
成功执行本命令后,系统在用命令中指定的软件包替换现有的软件包列表前会对软件包进行数字签名校验,如果软件包通过校验则会替换现有的软件包列表;如果软件包未通过校验则不会替换现有的软件包列表,并返回错误提示信息。
(2) 保存当前配置。
save
(3) 重启设备。
reboot
(4) (可选)可选检查升级后的软件版本。
display version
确认当前的软件版本为升级后的版本。
通过install命令升级配置任务如下:
(1) (可选)通过IPE文件获得软件包
(2) 安装/升级软件包
(3) (可选)卸载软件包
(4) (可选)校验Boot包/System包/Feature包
(5) 确认软件包更改
(6) (可选)删除软件包
(1) (可选)查看该IPE文件中包含的软件包。
display install ipe-info
(2) 解压缩IPE文件。
install add ipe-filename filesystem
该命令在用户视图下执行。
执行install命令可以安装/升级软件包。如果当前系统没有运行相同类型的软件包,则该过程称为安装软件包;如果当前系统有相同类型的软件包在运行,则该过程称为升级软件包。
通常情况下,设备上必定存在一个Boot包和一个System包,所以Boot包和System包通常为升级;而补丁包只能修复启动软件包的缺陷,不涉及功能的添加和删除,所以补丁包只有安装而没有升级的说法。
使用install命令安装/升级软件包分为激活和确认更改两个步骤。
当需要安装/升级两个或两个以上软件包时,请选择以下任意一种方法来安装/升级软件包:
· 使用一条命令激活完一个slot的所有软件包后再激活另一个slot的所有软件包,最后确认激活。
· 先激活完所有slot的某种类型的包(比如Boot包)之后,再激活所有slot的另外一种类型的包(比如System包),最后确认激活。若使用该方法进行安装/升级,则需要查看软件版本说明书,确保升级软件包和设备当前软件包之间版本的兼容性,否则可能导致安装/升级失败。
· 激活软件包以后,软件包仅对设备本次启动生效,设备重启后这些软件包不再有效。用户只有使用install commit命令确认软件包更改后,才能使此次激活的软件包在系统重启后继续生效。
请在用户视图下执行以下操作。
(1) 确定系统处于稳定状态。
display system stable state
使用本命令显示的system state字段为Stable,则表示设备处于稳定状态。安装/升级前使用本命令查看设备的状态,需要等待设备进入稳定状态,才可以进行安装/升级。
(2) 激活Boot包/System包/Feature包。
install activate { boot filename | system filename | feature filename&<1-30> } *
请在用户视图下执行以下操作。
(1) 确定系统处于稳定状态。
display system stable state
使用本命令显示的system state字段为Stable,则表示设备处于稳定状态。安装前使用本命令查看设备的状态,需要等待设备进入稳定状态,才可以进行安装。
(2) 激活补丁包。
install activate patch filename
本命令一次只能激活一个补丁包,但是可以通过多次执行此命令为设备激活多个补丁包。
因为Boot包和System包是设备运行的基础软件,所以Boot包和System包不支持卸载,只能卸载Feature包和补丁包。当Feature包/补丁包被卸载后,该软件包将处于未激活状态,系统也将不再具备该软件包提供的功能。但是软件包仍然存在于存储介质上,可以通过install remove命令将卸载后的软件包从存储介质上彻底删除。
Feature包/补丁包卸载也只在设备本次运行过程中生效。如果用户希望系统重启后,Feature包/补丁包卸载依然生效,请用户使用install commit命令确认软件包的更改。
请在用户视图下执行以下操作。
(1) 确定系统处于稳定状态。
display system stable state
使用本命令显示的system state字段为Stable,则表示设备处于稳定状态。卸载前使用本命令查看设备的状态,需要等待设备进入稳定状态,才可以进行卸载。
(2) 卸载Feature包。
install deactivate feature filename&<1-30>
请在用户视图下执行以下操作。
(1) 确定系统处于稳定状态。
display system stable state
使用本命令显示的system state字段为Stable,则表示设备处于稳定状态。卸载前使用本命令查看设备的状态,需要等待设备进入稳定状态,才可以进行卸载。
(2) 卸载补丁包。
install deactivate patch filename
本命令一次只能卸载一个补丁包,若要卸载多个补丁包,则需要多次执行此命令。
为了保证设备进行install命令升级之后能够正常运行,需要执行本命令对软件包进行如下检验:
· 完整性:检验Boot包、System包和Feature包的完整性。
· 一致性:检验系统内各激活的软件包列表的差异,以方便用户知道系统内各软件包版本是否一致。
· 软件包状态:检查各设备上激活的软件包列表和确认的软件包列表之间的差异,以方便用户知道是否有未确认的软件包。
请在用户视图下执行以下操作。
(1) Boot包/System包/Feature包校验。
install verify
(2) 如发现不一致的软件包,更新激活的软件包列表。
install { activate | deactivate }
install commit
软件包升级成功后,可以通过以下步骤删除旧版本的软件包。
执行删除操作后,软件包会从设备上彻底删除。请确认不需要使用该软件包之后,再执行删除操作。
请在用户视图下执行本命令,删除软件包。
install remove { filename | inactive }
设备上某些固件(包括CPLD、FPGA等)运行的不是Comware系统,这样的固件需要使用特定的软件单独升级。
固件升级后需要对其所在的板卡进行下电后重新上电才能生效,对板卡下电的方式有:切断外部电源、插拔板卡、使用power-supply off和power-supply on命令等方式,请根据板卡的实际支持情况,选择下电方式。
请在用户视图下执行本命令,升级CPLD、FPGA等固件。
firmware update [ subslot subslot-number ] { cpld cpld-number | fpga fpga-number | module module-number } file filename
在完成上述配置后,在任意视图下执行display命令可以显示配置后软件包的运行情况,通过查看显示信息验证配置的效果。
表1-2 软件升级显示和维护
操作 |
命令 |
显示本次启动和下次启动所采用的启动软件包的名称 |
display boot-loader |
显示当前系统中已激活的软件包的相关信息 |
display install active [ verbose ] |
显示设备下次启动时使用的备用软件包的相关信息 |
display install backup [ verbose ] |
显示设备下次启动时使用的主用软件包的相关信息 |
display install committed [ verbose ] |
显示文件系统根目录下、没有被激活的所有软件包的相关信息 |
display install inactive [ verbose ] |
显示IPE文件信息 |
display install ipe-info ipe-filename |
显示系统中正在执行的激活、卸载、回滚三种操作 |
display install job |
显示软件包信息 |
display install package { filename | all } [ verbose ] |
显示一个组件或文件所属的软件包 |
display install which { component name | file filename } |
使用最新软件版本文件startup-a2105.ipe,对设备启动软件包进行升级,使设备使用新的启动软件包运行。
图1-1 通过重启方式升级启动软件包配置举例组网图
· 本举例只给出配置步骤和涉及的命令,关于命令的提示信息,请以设备的实际情况为准。
· 为了保险起见,在配置主用下次启动软件包/IPE文件时,建议将主用下次启动软件包/IPE文件进行备份,再将备份文件设置为备用下次启动软件包/IPE文件。如果缺省文件系统存储空间有限,可以不备份。
# 配置IP地址以及路由,确保Device和TFTP server之间路由可达。配置步骤略。
# 查看设备当前使用的启动软件包的版本。
<Sysname> display version
# 复制设备当前使用的启动软件包。
<Sysname> copy boot.bin boot_backup.bin
<Sysname> copy system.bin system_backup.bin
# 指定设备下次启动时使用的备用软件包为boot_backup.bin/system_backup.bin。
<Sysname> boot-loader file boot flash:/boot_backup.bin system flash:/system_backup.bin backup
# 将待升级的IPE文件startup-a2105.ipe从TFTP server下载到设备Flash的根目录下。
<Sysname> tftp 2.2.2.2 get startup-a2105.ipe
# 指定设备下次启动时使用startup-a2105.ipe作为主用IPE文件。
<Sysname> boot-loader file flash:/startup-a2105.ipe main
# 查看主用、备用下次启动IPE文件是否配置成功。
<Sysname> display boot-loader
# 重启设备,以便运行新的启动软件包完成升级。
<Sysname> reboot
设备重启后,查看设备使用的启动软件包的版本。
<Sysname> display version
将Feature1特性从T0001015版本升级到兼容版本T0001016。
图1-2 Feature1软件包升级组网图
# 从TFTP server下载包含新版本Feature1软件包的IPE文件。
<Sysname> tftp 2.2.2.2 get feature1-t0001016.ipe
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 256 100 256 0 0 764 0 --:--:-- --:--:-- --:--:-- 810
Writing file...Done.
# 解压缩IPE文件。
<Sysname> install add flash:/feature1-t0001016.ipe flash:
Verifying the file flash:/feature1-t0001016.ipe on the device...Done.
Decompressing file feature1-t0001016.bin to flash:/feature1-t0001016.bin.......................Done.
# 查看升级前激活的软件包。
<Sysname> display install active
Active packages on the device:
flash:/boot-t0001015.bin
flash:/system-t0001015.bin
flash:/feature1-t0001015.bin
# 显示Feature1软件包的升级效果。
<Sysname> install activate feature flash:/feature1-t0001016.bin test
Verifying the file flash:/feature1-t0001016.bin on the device...Done.
Upgrade summary according to following table:
flash:/feature1-t0001016.bin
Running Version New Version
Test 0001015 Test 0001016
Upgrade Way: Service Upgrade
Influenced service according to following table on the device:
flash:/feature1-t0001016.bin
Feature1
以上显示信息表明,feature1-t0001016.bin的升级方式是增量升级,升级过程中Feature1模块会重启。
# 激活新版本的Feature1软件包,从而对Feature1特性进行升级。
<Sysname> install activate feature flash:/feature1-t0001016.bin
Verifying the file flash:/feature1-t0001016.bin on the device...Done.
Upgrade summary according to following table:
flash:/feature1-t0001016.bin
Running Version New Version
Test 0001015 Test 0001016
Upgrade Way: Service Upgrade
Upgrading software images to compatible versions. Continue? [Y/N]:y
This operation might take several minutes, please wait...Done.
# 查看升级后激活的软件包。
<Sysname> display install active
Active packages on the device:
flash:/boot-t0001015.bin
flash:/system-t0001015.bin
flash:/feature1-t0001016.bin
# 确认软件包更改。
<Sysname> install commit
This operation will take several minutes, please wait...........................Done.
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!