- Redhat官网下载升级用的rpm包
 - 生成modules.yaml文件
 - 更新repodata
 - 生成补丁包并验证
1.按照以下步骤生成并验证modules.yaml文件可用
 (1)初始升级包存放在/var/www/html/updates/x86_64/packages中
(2)安装python3-libmodulemd和python3-createrepo_c及modulemd-tools三个模块,其中python3-libmodulemd和python3-createrepo_c在系统安装包的AppStream仓库中,modulemd-tools在8.5版本后的安装包中,modulemd-tools的安装依赖于python3-libmodulemd和python3-
 createrepo_c
# rpm -ivh python3-libmodulemd-2.9.4-2.el8.x86_64.rpm
# rpm -ivh python3-createrepo_c-0.16.2-2.el8.x86_64.rpm
# rpm -ivh modulemd-tools-0.7-6.el8.noarch.rpm 
(3)进入目录/var/www/html/updates/x86_64/,使用createrepo_c生成repodata
# cd /var/www/html/updates/x86_64/
# createrepo_c . 
(4)使用repo2module生成modules.yaml文件
# repo2module -s stable ./ modules.yaml 
注意:在RHEL8中,没有这个文件后续升级会报错
2.modules.yaml文件生成后,使用以下步骤在服务器上进行升级来验证文件和升级包可配合使用
 (1)使用 modifyrepo_c来更新已生成的repodata
# modifyrepo_c --mdtype=modules modules.yaml repodata/ 
(2)清除yum环境的历史信息
# yum clean all 
(3)执行yum升级
# yum --disablerepo=* --enablerepo=UPDATES upgrade --allowerasing --skip-broken --nobest 
 3.打包可使用的升级包
 把/var/www/html/updates/x86_64/目录下的packages/和modules.yaml打成tar.gz格式的压缩包
#cd /var/www/html/updates/x86_64/
#tar -zcvf RHEL8_Patch.tar.gz modules.yaml packages/ 
4.使用升级包进行升级
 (1)把升级包上传到要升级的Redhat服务器
 (2)把升级包解压到/var/www/html/updates/x86_64/
 # tar -zxvf RHEL8_Patch.tar.gz -C /var/www/html/updates/x86_64/
 (3)进入/var/www/html/updates/x86_64/并执行createrepo_c生成repodata
 # cd /var/www/html/updates/x86_64/
 # createrepo_c .
 (4)执行yum升级
 # yum --disablerepo=* --enablerepo=UPDATES upgrade --allowerasing --skip-broken --nobest
 5)确认升级操作完成并重启系统
 # reboot










