前言

由于CentOS 8的支持已经到期了,.NET 6也不支持了,然后也无法升级,导致使用起来已经非常不便,无奈只有迁移服务器这个选项了。

选择发行版本一直是一个比较头疼的问题,首先我不是专门运维的,最好使用的人比较多的版本,然后.NET要官方支持的版本才行,最好是具有中国区的镜像服务。虽然Fedora、OpenSUSE、Debian也算用的人多,但是比起UbuntuCentOS还是稍微少一点,因此首选是Ubuntu。当然这里很多人觉得Ubuntu其实并不适合做服务器系统,我觉得应该差不多,毕竟支持周期来看,Ubuntu的标准声明周期也挺长的,而且如果一直用,一直升级的话,其实也无所谓。

迁移CentOS 8到Ubuntu,找了很多资料都没找到可以比较简单实现迁移的方法,最简单的使用DVD或者U盘进行全新安装,这个对于一个已经在运行的系统来说,迁移的成本有点太高了。无奈只能继续寻找CentOS的替代。发现一个Rocky Linux好像还行,是CentOS的原作者主导开发的,而且渐渐的很多地方都开始支持并提供了国内的镜像,最重要的是,他直接提供了升级的工具:migrate2rocky

从CentOS 8升级

使用比较简单,直接执行命令:

curl https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh -o migrate2rocky.sh

chmod u+x migrate2rocky.sh

./migrate2rocky.sh -r

三个命令下去就开始检查了,我正式执行更新的时候,出现了问题:

Error: Check discovered 9 problem(s)
libnsl-2.28-164.el8_5.3.i686 has missing requires of glibc(x86-32) = 2.28-164.el8_5.3
libnsl-2.28-164.el8_5.3.i686 has missing requires of libc.so.6
libnsl-2.28-164.el8_5.3.i686 has missing requires of libc.so.6(GLIBC_2.0)
libnsl-2.28-164.el8_5.3.i686 has missing requires of libc.so.6(GLIBC_2.1)
libnsl-2.28-164.el8_5.3.i686 has missing requires of libc.so.6(GLIBC_2.1.3)
libnsl-2.28-164.el8_5.3.i686 has missing requires of libc.so.6(GLIBC_2.2)
libnsl-2.28-164.el8_5.3.i686 has missing requires of libc.so.6(GLIBC_2.2.3)
libnsl-2.28-164.el8_5.3.i686 has missing requires of libc.so.6(GLIBC_2.28)
libnsl-2.28-164.el8_5.3.i686 has missing requires of libc.so.6(GLIBC_2.4)

我以为是缺少这个包,使用yum install libnsl安装了一下,继续执行:

libnsl-2.28-164.el8.x86_64 is a duplicate with libnsl-2.28-164.el8_5.3.i686
libnsl-2.28-164.el8_5.3.i686 has missing requires of glibc(x86-32) = 2.28-164.el8_5.3
libnsl-2.28-164.el8_5.3.i686 has missing requires of libc.so.6
libnsl-2.28-164.el8_5.3.i686 has missing requires of libc.so.6(GLIBC_2.0)
libnsl-2.28-164.el8_5.3.i686 has missing requires of libc.so.6(GLIBC_2.1)
libnsl-2.28-164.el8_5.3.i686 has missing requires of libc.so.6(GLIBC_2.1.3)
libnsl-2.28-164.el8_5.3.i686 has missing requires of libc.so.6(GLIBC_2.2)
libnsl-2.28-164.el8_5.3.i686 has missing requires of libc.so.6(GLIBC_2.2.3)
libnsl-2.28-164.el8_5.3.i686 has missing requires of libc.so.6(GLIBC_2.28)
libnsl-2.28-164.el8_5.3.i686 has missing requires of libc.so.6(GLIBC_2.4)

好家伙,又多了一个,仔细检查,好像是64位程序和32位程序混装了,直接yum remove libnsl卸载,然后继续执行,会在这个界面上卡非常久,需要耐心等待。

Running dnf update before we attempt the migration.
Last metadata expiration check: 0:00:31 ago on Fri Apr 29 12:58:47 2022. Dependencies resolved.
Nothing to do.
Complete!
Added rockyappstream repo from https://dl.rockylinux.org/pub/rocky/8/AppStream/x86_64/os/
Added rockybaseos repo from https://dl.rockylinux.org/pub/rocky/8/BaseOS/x86_64/os/

我这边升级大概花费了不到半个小时吧,当提示出现以下信息,就成功了。

Done, please reboot your system.
A log of this installation can be found at /var/log/migrate2rocky.log

最后reboot一下,使用hostnamectl命令检查是否更新成功,当看见下面的提示,就成功了。

Operating System: Rocky Linux 8.5 (Green Obsidian)

安装GUI界面

说实在话,使用SSH进行命令行操作我觉得还是差点意思,自己使用起来还是有GUI比较顺手一点,为了远程访问比较简单,可以使用带界面的版本,并配置使用windows自带的远程桌面访问。

详情可以查看:

  1. centos7安装xfce桌面及xrdp远程桌面服务
  2. centos8安装xfce图形界面

CentOS 8迁移Rocky Linux 8手记的更多相关文章

  1. CentOS 并没有死,Rocky Linux 让其重生

    点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 近日,CentOS 官方发文称CentOS Stream ...

  2. CentOS 8 已经不再支持,Rocky Linux 才是未来

    2020年12月8日,红帽公司宣布,他们将停止开发CentOS,而在此之前CentOS一直作为红帽企业Linux的生产型分支及下游版本,此后他们将转而开发该操作系统的一个更新的上游开发变种,即 &qu ...

  3. jira从windows迁移到linux

    说明:迁移的就是 jira安装路径/atlassian/jira/atlassian-jira/WEB-INF/classes/jira-application.properties文件中的jira_ ...

  4. VMware 虚拟机图文安装和配置 Rocky Linux 8.5 教程

    前言 2020 年,CentOS 宣布:计划未来将重心从 CentOS Linux 转移到 CentOS Stream.CentOS 8 的生命周期已于 2021 年 12 月 31 日终止,而 Ce ...

  5. 如何利用mono把.net windows service程序迁移到linux上

    How to migrate a .NET Windows Service application to Linux using mono? 写在最前:之所以用要把windows程序迁移到Linux上 ...

  6. 把 SQL Server 迁移到 Linux?不如换成 MySQL

    最近几年,数量庞大的个人和组织放弃 Windows 平台选择 Linux 平台,而且随着人们体验到更多 Linux 的发展,这个数字将会继续增长.在很长的一段时间内, Linux 是网络服务器的领导者 ...

  7. Install MongoDB on Red Hat Enterprise, CentOS, Fedora, or Amazon Linux

    Install MongoDB on Red Hat Enterprise, CentOS, Fedora, or Amazon Linux¶ Overview Use this tutorial t ...

  8. SpringNote02.Blog系统迁移到Linux下

    基于SpringMVC-Hibernate的博客系统还在继续开发中 . 项目地址:https://github.com/defshine/SpringBlog 整个项目迁移到linux下开发,安装in ...

  9. ubuntu下lamp环境配置及将window代码迁移至linux系统

    因为最近要用需要去实现项目中的一个功能,比较好的做法就是在http://i.cnblogs.com/EditPosts.aspx?opt=1linux中实现.所以最近就将自己的代码全部迁移到linux ...

随机推荐

  1. Java如何跳出当前的多重嵌套循环?

    在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break 语句,即可跳出外层循环.例如, outer: for(int i=0;i<1 ...

  2. Integer与int的区别?

    int是java提供的8种原始数据类型之一.Java为每个原始类型提供了封装类,Integer是java为int提供的封装类.int的默认值为0,而Integer的默认值为null,即Integer可 ...

  3. @Param注解和@Mapper注解

    @Param 1.如果dao方法中只有一个参数,入参可以为#{0}或者#{任意单词},也可以使用@Param指定参数名称,sql中就只能#{指定名称}获取参数 public List<Regio ...

  4. ACM - 动态规划 - P1282 多米诺骨牌

    多米诺骨牌由上下 \(2\) 个方块组成,每个方块中有 \(1 \sim 6\) 个点.现有排成行的上方块中点数之和记为 \(S_1\),下方块中点数之和记为 \(S_2\),它们的差为 \(\lef ...

  5. 显示调用C++中构造函数和析构函数(有什么弊端)

    1.C++中, 构造函数和析构函数可以被显示调用. 显示调用默认构造函数的语法: a.A::A();(不能写成a.A();) , 显示调用非默认构造函数的语法: a.A::A(7);(不能写成a.A( ...

  6. 通过HTML5的getUserMedia实现拍照功能

    参考HTML5Rocks的这篇文章实现的一个简单的例子. 思路如下: 1. 把冰箱门打开 2. 把大象放进冰箱里 3. 把冰箱门关上 好了不开玩笑了,其实思路是: 1. 通过getUserMedia调 ...

  7. 关于CDN那些事

    对于前端性能优化我们不得不了解的几个知识点:CDN.HTTP header信息 今天我就来谈谈我对cdn的理解 1.CDN是什么:CDN全称是Content Delivery Network,即内容分 ...

  8. canvas动画—圆形扩散、运动轨迹

    介绍 在ECharts中看到过这种圆形扩散效果,类似css3,刚好项目中想把它用上,but我又不想引入整个echart.js文件,更重要的是想弄明白它的原理,所以自己动手.在这篇文章中我们就来分析实现 ...

  9. 在TypeScript项目中进行BDD测试

    在TypeScript项目中进行BDD测试 什么是BDD? BDD(Behavior-Driven Design)是软件团队的一种工作方式,通过以下方式缩小业务人员和技术人员之间的差距: 鼓励跨角色协 ...

  10. Java List转为Object组

    代码: private Object[] ListToObject(List<String> list){ Object [] tem = new Object[]{}; int size ...