Fedora 29 Server 升級 Fedora 30 Server 全紀錄

每6到12個月就會更新的Fedora:

Fedora 從 Fedora Core 1 開始就如此頻繁的更新發行版,每個發行板之間都會有軟體庫小幅度的更新或加入功能,要說值得期待些什麼... 個人是沒有十分大的感受。

Fedora 30 Server 新增了什麼 ?:

多也沒有多到很多,但也不能說少,列一些與Server 較為相關的[2]:
  • DNF (Fedora 套件管理程式) 處理速度的改善
  • Linux Kernel 5.0[1]
    • Intel VT-d Scalable Mode (Scalable I/O Virtualization)
    • 對於一些新的SoC晶片的支援
  • Bash Shell 5.0[3]
    • 變數與時間控制的精細程度
  • GCC 9.0.1 and GNU C Library 2.29[4][5]
    • 發生錯誤時擁有更清楚與仔細的解析。
    • 修復錯誤與支援新型處理 (OpenRISC, GCN等等)
  • PHP 7.3[6]
  • Python 3.7.3
  • OpenJDK 12[7]
    • 一個更簡單的方式來表示switch 語法
    • Shenandoah 垃圾搜集器 (一個輕量速度更快的垃圾收集器)
    • 統一ARM 64架構的JVM 虛擬機

無論怎麼樣的作業系統,升級都有風險:

雖然目前常見的作業系統都會有向下相容保證,但要注意的是,升級是比重新安裝還要更為複雜的工程,新版的作業系統中可能有部分的函式庫被移除或不能再使用,或是軟體的更新導致在上面執行的程式不能再正常運作。
若您選擇Fedora 做為您的伺服器作業系統,升級前請務必進行備份,或進行Snapshot。

Upgrade Path:

Upgrade Path (升級路徑) 也就是一個作業系統可以從哪幾個版本升級上來,雖然Fedora 官方是沒有特別提及這件事情,但建議是從前一版(Fedora 29)開始升級,盡量不要有大跳版 (27/28 到30)。本例是以Fedora 29 Server 升級到Fedora 30。

升級的考量:

有以下幾種情況就不建議升級,或必須在沙箱中做完測試後才能升級:
  • Mission Critical 或有特殊任務。
  • 執行中的軟體沒有提及能夠在Fedora 30 (或BETA)上執行。
  • 執行中的軟體有硬性規定一定要「特定版本」的函式庫,更新或太舊都不行。
  • 執行中的軟體與Linux Kernel 有密切關係 (特殊的驅動程式等)。

讓系統在升級前達到發行版的最新狀態:

# dnf upgrade --refresh

安裝升級工具 system-upgrade:

# dnf install dnf-plugin-system-upgrade

下載新系統(Fedora 30) 的各項升級軟體套件:

# dnf system-upgrade download --releasever=30
由於Sevrer 版缺少了GUI與許多介面工具,大約300~400M左右,相較於Workstation 輕盈了不少。

讓系統重新開機開始進行更新:

# dnf system-upgrade reboot

去泡咖啡吧:


升級完成了!:



[1], It's FOSS, "Linux Kernel 5.0 Released! Check Out The New Features," https://itsfoss.com/linux-kernel-5/
[2], It's FOSS, "The Awesome Fedora 30 is Here! Check Out the New Features," https://itsfoss.com/fedora-30/
[3], Natasha Mathur, "Bash 5.0 is here with new features and improvements," https://hub.packtpub.com/gnu-bash-5-0-is-here-with-new-features-and-improvements/
[4], David Malcolm, "Usability Improvements in GCC 9," https://developers.redhat.com/blog/2019/03/08/usability-improvements-in-gcc-9/
[5], GNU, "GCC 9 Release Series: Changes, New Features, and Fixes," https://gcc.gnu.org/gcc-9/changes.html
[6], Cloudways, "What's New in PHP 7.3," https://www.cloudways.com/blog/whats-new-in-php-7-3/
[7], Jazmine Llaguno, "Java 12: New Features and Enhancements Developers Should Know," https://stackify.com/java-12-new-features-and-enhancements-developers-should-know/

留言

熱門文章