前言
由于CentOS 8的支持已经到期了,.NET 6也不支持了,然后也无法升级,导致使用起来已经非常不便,无奈只有迁移服务器这个选项了。
选择发行版本一直是一个比较头疼的问题,首先我不是专门运维的,最好使用的人比较多的版本,然后.NET要官方支持的版本才行,最好是具有中国区的镜像服务。虽然Fedora、OpenSUSE、Debian也算用的人多,但是比起Ubuntu
和CentOS
还是稍微少一点,因此首选是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自带的远程桌面访问。
详情可以查看: