前言
由於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自帶的遠端桌面訪問。
詳情可以檢視: