1、bclinux-sysmt工具提供Redhat/CentOS/BCLinux 7.x 版本原地升级到BCLinux 8.2 的功能。
2、在原Redhat/CentOS/BCLinux 7.x 版本操作系统中安装bclinux-sysmt 工具。
3、bclinux-sysmt工具相关软件包发布到BC-Linux 7.8 updates 软件源。
4、在原Redhat/CentOS/BCLinux 7.x版本系统中,安装bclinux-sysmt工具,需要首先配置BC-Linux 7.8的软件源,然后再执行安装命令。
原操作系统版本:BCLinux-7.6
1、配置BC-Linux 7.8的软件源
#备份原repo文件
mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
#新增BC-Linux 7.8的软件源repo文件,如下:
vi /etc/yum.repos.d/bclinux7.8.repo
[base]
name=BC-Linux - Base
baseurl=http://mirrors.bclinux.org/bclinux/el7.8/os/$basearch/
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-BCLinux-7
enabled=1
[updates]
name=BC-Linux - Updates
baseurl=http://mirrors.bclinux.org/bclinux/el7.8/updates/$basearch/
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-BCLinux-7
enabled=1
[extras]
name=BC-Linux - extras
baseurl=http://mirrors.bclinux.org/bclinux/el7.8/extras/$basearch/
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-BCLinux-7
enabled=1
:wq! #保存退出
#更新yum源仓库
yum clean all
yum makecache
2、安装bclinux-sysmt工具
yum install -y bclinux-sysmt
#验证bclinux-sysmt工具是否安装成功
leapp --version
显示版本:leapp version 0.12.0说明安装成功
3、使用bclinux-sysmt评估当前操作系统是否满足升级条件
LANG=en_US.UTF-8 LEAPP_NO_RHSM=1 LEAPP_VERBOSE=1 leapp preupgrade
#leapp preupgrade命令收集本机系统中,是否存在7和8版本不兼容的配置项(也称评估项),并评估不兼容的配置项的严重等级,输出文本格式的评估报告,该命令在设置了必要的环境变量后,执行leapp 评估过程。评估过程依次检测、评估本机系统的配置。
#如上图有3个问题需要解决
UPGRADE INHIBITED
问题1. Inhibitor: Newest installed kernel not in use
#解决方法
#查看系统当前使用的内核
uname -a
[root@localhost yum.repos.d]# uname -a
Linux localhost.localdomain 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
#查看系统内核
rpm -qa | grep kernel
#删除无用的内核,仅保留系统当前使用的内核kernel-3.10.0-957.el7.x86_64
yum remove -y kernel-tools-3.10.0-957.el7.x86_64
yum remove -y kernel-bek-modules-4.19.25-200.el7.bclinux.x86_64
yum remove -y kernel-bek-4.19.25-200.el7.bclinux.x86_64
yum remove -y kernel-tools-libs-3.10.0-957.el7.x86_64
yum remove -y kernel-bek-core-4.19.25-200.el7.bclinux.x86_64
问题2. Inhibitor: Possible problems with remote login using root account
#解决方法,允许root远程登录
sed -i 's/^#PermitRootLogin yes/PermitRootLogin yes/g' /etc/ssh/sshd_config
问题3. Inhibitor: Missing required answers in the answer file
#解决方法
leapp answer --section remove_pam_pkcs11_module_check.confirm=True
或者
vi /var/log/bclinux-sysmt/answerfile #修改编辑最后一行
# Available choices: True/False
confirm = True
:wq! #保存退出
#再次检查
LANG=en_US.UTF-8 LEAPP_NO_RHSM=1 LEAPP_VERBOSE=1 leapp preupgrade
#无UPGRADE INHIBITED,已经满足升级条件
4、使用bclinux-sysmt进行升级操作
#Leapp preupgrade操作评估通过后,就可以执行leapp upgrade升级操作,开始升级系统,操作命令为:
LANG=en_US.UTF-8 LEAPP_NO_RHSM=1 LEAPP_VERBOSE=1 leapp upgrade
升级完成,提示重启系统,输入reboot重新系统后自动进入升级过程,执行替换rpm软件包,系统配置等操作,需要等一段时间,中间可能需要自动重启数次。
升级完成之后,输入之前的账号密码登录系统
#升级结果验证,已经是BCLinux-8.2系统了
uname -a
cat /etc/*release
5、清理环境
yum remove -y bclinux-sysmt bclinux-sysmt-repository python2-bclinux-sysmt leapp-repository-deps-el8 leapp-deps-el8
rm -fr /var/log/bclinux-sysmt/ /var/lib/bclinux-sysmt/ /etc/bclinux-sysmt/ /etc/yum.repos.d/bclinux.repo
另外,对于bclinux-sysmt 工具在升级前后,在7系列系统和BCLinux 8.2系统,卸载bclinux-sysmt 工具依赖包的命令是不同的,应选择下面一种情况执行。
A.)在升级前,卸载bclinux-sysmt 工具依赖包:
yum remove -y bclinux-sysmt-repository-deps bclinux-sysmt-deps
B.)在升级后的BCLinux 8.2系统中,卸载bclinux-sysmt 工具依赖包:
yum remove -y leapp-repository-deps-el8 leapp-deps-el8
6、禁用yum源认证
如果在使用yum时提示:
*** INFO ***Your authentication fails. This system is not registered to BigCloud Enterprise Linux(BC-Linux)
vi /etc/yum/pluginconf.d/license-manager.conf #编辑
enabled=0 #把1修改为0
:wq! #保存退出
#或者卸载认证模块
rpm -qa | grep license
rpm -e --nodeps bclinux-license-manager-2.0-3.el7.bclinux.x86_64 --noscripts
至此,BCLinux-7.6迁移到BCLinux-8.2升级完成。