在离线环境中将 CentOS 7.5 原地升级并迁移至 RHEL 7.9

2024-05-01 08:28

本文主要是介绍在离线环境中将 CentOS 7.5 原地升级并迁移至 RHEL 7.9,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《OpenShift / RHEL / DevSecOps 汇总目录》

说明

  1. 本文将说明如何在离线环境中将 CentOS 7.5 升级并迁移至 RHEL 7.9。为了简化准备过程,本文前面将在在线环境中安装用到的各种所需验证软件,而在后面升级迁移的时候再切换到由 ISO 构成的离线 Yum Repo。
  2. 以下所安装的验证软件基本都选择了和 CentOS 7.5 一个时期的较早版本,且都是单机安装配置。
  3. 另外出于方便,以下所有操作都使用的是 root 用户。
    在这里插入图片描述

准备 CentOS 7.5 及其他被验证软件环境

下载 ISO 文件

下载 CentOS-7-x86_64-DVD-1804.iso(CentOS 7.5)、CentOS-7-x86_64-DVD-2009.iso(CentOS 7.9)、rhel-server-7.9-x86_64-dvd.iso 文件。

安装 CentOS 7.5

用 CentOS-7-x86_64-DVD-1804.iso 在一个 VM 中最小化安装 CentOS 7.5 即可,过程略。
需要注意的是由于后文的 Yum Repo 使用了外挂的 ISO,因此请为该 VM 配置 2 个 CDROM 存储控制器,并挂载 2 个 ISO 文件。

配置 docker 18.06.3.ce

安装 docker

  1. 安装 docker 所需 Yum Repo。
$ curl -LO https://download.docker.com/linux/centos/docker-ce.repo
  1. 安装 docker。
$ yum list docker-ce --showduplicates
$ yum install docker-ce-18.06.3.ce-3.el7
  1. 配置开机启动。
$ systemctl enable --now docker
$ systemctl status docker 

验证 docker

  1. 下载 tomcat:7.0.63 镜像。
$ docker pull tomcat:7.0.63
$ docker images
  1. 运行 tomcat 镜像
$ docker run -d -p 8080:8080 --name tomcat-test tomcat:7.0.63
$ docker ps -a
  1. 访问 tomcat
$ curl http://localhost:8080
  1. 删除镜像
$ docker rm tomcat-test

配置 mysql 5.7

安装 mysql

  1. 安装 mysql 安装所需 Yum Repo。
$ curl -LO http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
$ rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
$ yum localinstall mysql57-community-release-el7-8.noarch.rpm
  1. 确认已经有以下 3 个 mysql 的 Yum Repo。
$ yum repolist enabled | grep mysql
mysql-connectors-community/x86_64       MySQL Connectors Community           242
mysql-tools-community/x86_64            MySQL Tools Community                104
mysql57-community/x86_64                MySQL 5.7 Community Server           696
  1. 安装 mysql。
$ yum install -y mysql-community-server
  1. 配置开机启动。
$ systemctl enable --now mysqld
$ systemctl status mysqld

验证 mysql

  1. 使用临时密码登录 mysql。
$ grep 'temporary password' /var/log/mysqld.log
$ mysql -u root -p
  1. 修改密码。
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'P@ssw0rd';
  1. 创建用户。
mysql> CREATE USER 'user1'@'%' IDENTIFIED BY 'P@ssw0rd';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'user1'@'localhost'  WITH GRANT OPTION;
  1. 操作 database 和 table。
mysql> create database crm;
mysql> use crm;
mysql> create table customer(id int,name varchar(20));
mysql> insert into customer values (1,'Jack');
mysql> insert into customer values (2,'Tom');
mysql> insert into customer values (3,'Bob');
mysql> insert into customer values (4,'James');
mysql> insert into customer values (5,'John');
mysql> select * from crm.customer;

配置 redis 5.0.13

安装 redis

  1. 安装 epel 所需 Yum Repo。
$ curl -LO https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
$ yum install epel-release-latest-7.noarch.rpm
  1. 安装 redis 所需 Yum Repo。
$ curl -LO http://rpms.remirepo.net/enterprise/remi-release-7.rpm
$ yum install remi-release-7.rpm
  1. 安装 redis 5.0.13。
$ yum --enablerepo=remi list redis --showduplicates
$ yum --enablerepo=remi install redis-5.0.13-1.el7.remi
  1. 配置开机启动。
$ systemctl enable --now redis
$ systemctl status redis

验证 redis

  1. 进入 redis-cli 环境。
$ redis-cli
  1. 操作redis。
127.0.0.1:6379> SET 1 Jack
127.0.0.1:6379> SET 2 Tom
127.0.0.1:6379> SET 3 Bob
127.0.0.1:6379> SET 4 James
127.0.0.1:6379> SET 5 John
127.0.0.1:6379> GET 4

配置 rabbitmq 3.3.5

安装 rabbitmq

  1. 下载 erlang 和 rabbitmq 的 rpm 安装包。
$ curl -LO https://github.com/rabbitmq/erlang-rpm/releases/download/v23.3.4.11/erlang-23.3.4.11-1.el7.x86_64.rpm
$ curl -LO https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.13/rabbitmq-server-3.9.13-1.el7.noarch.rpm
  1. 安装 erlang 和 rabbitmq。
$ yum localinstall erlang-23.3.4.11-1.el7.x86_64.rpm
$ yum localinstall rabbitmq-server-3.9.13-1.el7.noarch.rpm
  1. 配置开机启动。
$ systemctl enable --now rabbitmq-server
$ systemctl status rabbitmq-server

启动 webconsole

  1. 启动 webconsole
$ rabbitmq-plugins enable rabbitmq_management
  1. 创建用户。
$ rabbitmqctl add_user admin password
$ rabbitmqctl set_user_tags admin administrator

验证 rabbitmq

  1. 关闭防火墙。
$ systemctl stop firewalld
  1. 用浏览器打开 webconsole 地址,例如 http://192.168.x.x:15672
    在这里插入图片描述

配置 mongodb 4.4.2

安装 mongodb

  1. 准备安装 mongodb 用到的 Yum Repo。
$ cat > /etc/yum.repos.d/mongodb.repo << EOF 
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.4/x86_64/
gpgcheck=0
enabled=1
gpgkey=https://pgp.mongodb.com/server-4.4.asc
EOF
  1. 安装 mongodb。
$ yum install mongodb-org-4.4.2 mongodb-org-server-4.4.2 mongodb-org-shell-4.4.2 mongodb-org-mongos-4.4.2 mongodb-org-tools-4.4.2
  1. 配置开机启动。
$ systemctl enable --now mongod
$ systemctl status mongod

验证 mongodb

  1. 进入 mongo。
$ mongo
  1. 操作 dbs 和 collections。
> show dbs
> use crm
> db.crm.insert({"1":"Jack"})
> db.crm.insert({"2":"Tom"})
> db.crm.insert({"3":"Bob"})
> db.crm.insert({"4":"James"})
> db.crm.insert({"5":"John"})
> db.crm.find()

准备 CentOS 7.9 和 RHEL 7.9 的离线 Yum Repo

  1. 将 CentOS-7-x86_64-DVD-2009.iso 和 rhel-server-7.9-x86_64-dvd.iso 挂载到运行 CentOS 7.5 的 VM 上。
    在这里插入图片描述
  2. 将 ISO 挂载到 CentOS 7.5 文件系统。
$ mkdir /mnt/centos79 /mnt/rhel79
$ mount /dev/sr0 /mnt/centos79
$ mount /dev/sr1 /mnt/rhel79
  1. 配置本地 Yum Repo。
$ cat > /etc/yum.repos.d/centos79-local.repo << EOF 
[centos79-local-repo]
name = centos79 local repo
baseurl=file:///mnt/centos79
enabled=1
gpgcheck=0
EOF$ cat > /etc/yum.repos.d/rhel79-local.repo << EOF 
[rhel79-local-repo]
name = rhel79 local repo
baseurl=file:///mnt/rhel79
enabled=1
gpgcheck=0
EOF
  1. 确认 CentOS 7.9 和 RHEL 7.9 的离线 Yum Repo 已经可用。
$ yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id                                 repo name                                      status
centos79-local-repo                     centos79 local repo                            4,070
rhel79-local-repo                       rhel79 local repo                              5,230
repolist: 9,300

将 CentOS 7.5 原地升级至 CentOS 7.9

  1. 查看当前发行版和 kernel 版本。
$ cat /etc/redhat-release
$ uname -r
  1. 升级 CentOS。
$ yum update
  1. 完成后再次查看当前发行版和 kernel 版本。
$ cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
$ uname -r
3.10.0-862.el7.x86_64
  1. 为了生效 kernel,需要重启 Linux。
  2. 重启后再次查看 kernel 版本,确认已更新。
$ uname -r
3.10.0-1160.el7.x86_64

将 CentOS 7.9 原地迁移至 RHEL 7.9

安装 convert2rhel

方法1

  1. 下载安装 convert2rhel 所需 Yum Repo。
$ curl -o /etc/yum.repos.d/convert2rhel.repo https://ftp.redhat.com/redhat/convert2rhel/7/convert2rhel.repo
  1. 修改 /etc/yum.repos.d/convert2rhel.repo 文件,将 gpgcheck 设为 0。
  2. 安装 convert2rhel。
$ yum -y install convert2rhel

方法2

使用 rpm 安装 convert2rhel。

$ curl -LO https://github.com/oamg/convert2rhel/releases/download/v1.7.1/convert2rhel-1.7.1-1.el7.noarch.rpm
$ yum localinstall convert2rhel-1.7.1-1.el7.noarch.rpm

进行转换

  1. 确认当前可用 Yum Repo。
$ yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id                                 repo name                                      status
centos79-local-repo                     centos79 local repo                            4,070
rhel79-local-repo                       rhel79 local repo                              5,230
repolist: 9,300
  1. 执行命令,在迁移前先进行分析。
$ convert2rhel analyze --disable-submgr --enablerepo=rhel79-local-repo
  1. 根据以上返回结果的提示,设置以下环境变量。
$ export CONVERT2RHEL_SKIP_KERNEL_CURRENCY_CHECK=1
$ export CONVERT2RHEL_OUTDATED_PACKAGE_CHECK_SKIP=1
$ export CONVERT2RHEL_ALLOW_UNAVAILABLE_KMODS=1
$ export CONVERT2RHEL_TAINTED_KERNEL_MODULE_CHECK_SKIP=1
  1. 执行迁移
$ convert2rhel --disable-submgr --enablerepo=rhel79-local-repo
  1. 完成后重启 Linux。
  2. 确认当前发行版和 kernel 版本已迁移到 RHEL 7.9 了。
$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.9 (Maipo)
$ uname -r
3.10.0-1160.el7.x86_64

参考

https://www.redhat.com/en/interactive-labs/migrate-red-hat-enterprise-linux-centos-linux
https://www.cnblogs.com/tenghu/p/15887218.html

这篇关于在离线环境中将 CentOS 7.5 原地升级并迁移至 RHEL 7.9的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/951192

相关文章

ESP32 esp-idf esp-adf环境安装及.a库创建与编译

简介 ESP32 功能丰富的 Wi-Fi & 蓝牙 MCU, 适用于多样的物联网应用。使用freertos操作系统。 ESP-IDF 官方物联网开发框架。 ESP-ADF 官方音频开发框架。 文档参照 https://espressif-docs.readthedocs-hosted.com/projects/esp-adf/zh-cn/latest/get-started/index

UnrealScriptIDE调试环境部署

先安装vs2010   再安装VSIsoShell.exe, 下载地址 https://pan.baidu.com/s/10kPNUuDGTbWXbz7Nos-1WA       fd3t   最后安装unside,下载地址 https://archive.codeplex.com/?p=uside  安装中间有一步选择Binary文件夹要选对路径。   安装好以后,启动 UDKDe

【服务器运维】CentOS6 minimal 离线安装MySQL5.7

1.准备安装包(版本因人而异,所以下面的命令中版本省略,实际操作中用Tab自动补全就好了) cloog-ppl-0.15.7-1.2.el6.x86_64.rpmcpp-4.4.7-23.el6.x86_64.rpmgcc-4.4.7-23.el6.x86_64.rpmgcc-c++-4.4.7-23.el6.x86_64.rpmglibc-2.12-1.212.el6.x86_64.r

【服务器运维】CentOS7 minimal 离线安装 gcc perl vmware-tools

0. 本机在有网的情况下,下载CentOS镜像 https://www.centos.org/download/ 1. 取出rpm 有的情况可能不需要net-tools,但是如果出现跟ifconfig相关的错误,就把它安装上。另外如果不想升级内核版本的话,就找对应内核版本的rpm版本安装 perl-Time-Local-1.2300-2.el7.noarch.rpmperl-Tim

Ubuntu20.04离线安装Docker

1.下载3个docker离线安装包,下载网址: https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/ 2.把3个离线安装包拷贝到ubuntu本地执行以下命令 sudo dpkg -i containerd.io_1.4.6-1_amd64.deb sudo dpkg -i docker-ce-c

API-环境对象

学习目标: 掌握环境对象 学习内容: 环境对象作用 环境对象: 指的是函数内部特殊的变量this,它代表着当前函数运行时所处的环境。 作用: 弄清楚this的指向,可以让我们代码更简洁。 函数的调用方式不同,this指代的对象也不同。【谁调用,this就是谁】是判断this指向的粗略规则。直接调用函数,其实相当于是window.函数,所以this指代window。

Pycharm配置conda环境(解决新版本无法识别可执行文件问题)

引言: 很多小伙伴在下载最新版本的pycharm或者更新到最新版本后为项目配置conda环境的时候,发现文件夹目录中无法显示可执行文件(一般为python.exe),以下就是本人遇到该问题后试验和解决该问题的一些方法和思路。 一般遇到该问题的人群有两种,一种是刚入门对pycharm进行conda环境配置的小白(例如我),不熟悉相关环境配置的操作和过程,还有一种是入坑pycharm有段时间的老手

工程文档CAD转换必备!在 Java 中将 DWG 转换为 JPG

Aspose.CAD 是一个独立的类库,以加强Java应用程序处理和渲染CAD图纸,而不需要AutoCAD或任何其他渲染工作流程。该CAD类库允许将DWG, DWT, DWF, DWFX, IFC, PLT, DGN, OBJ, STL, IGES, CFF2文件、布局和图层高质量地转换为PDF和光栅图像格式。 Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格

Redis-在springboot环境下执行lua脚本

文章目录 1、什么lua2、创建SpringBoot工程3、引入相关依赖4、创建LUA脚本5、创建配置类6、创建启动类7、创建测试类 1、什么lua “Lua”的英文全称是“Lightweight Userdata Abstraction Layer”,意思是“轻量级用户数据抽象层”。 2、创建SpringBoot工程 3、引入相关依赖 <?xml version

【文末附gpt升级秘笈】腾讯元宝AI搜索解析能力升级:千万字超长文处理的新里程碑

腾讯元宝AI搜索解析能力升级:千万字超长文处理的新里程碑 一、引言 随着人工智能技术的飞速发展,自然语言处理(NLP)和机器学习(ML)在各行各业的应用日益广泛。其中,AI搜索解析能力作为信息检索和知识抽取的核心技术,受到了广泛的关注和研究。腾讯作为互联网行业的领军企业,其在AI领域的探索和创新一直走在前列。近日,腾讯旗下的AI大模型应用——腾讯元宝,迎来了1.1.7版本的升级,新版本在AI搜