RHEL8已出,CentOS8為何遲遲不發布?獨家揭秘CentOS新版開發流程

2019-07-26     Linux學習教程

請關注本頭條號,每天堅持更新原創乾貨技術文章。

如需學習視頻,請在微信搜索公眾號「智傳網優」直接開始自助視頻學習

1. 前言

RHEL8 ( Red Hat Enterprise Linux 8 ) 於2019-05-07發布,很多人都在等待CentOS8推出的時間。 本文主要講解CentOS如何構建一個新的版本以及新系統開發流程。

CentOS的主要版本需要進行大量的規劃和工具更改,因為它基於最新的Fedora版本。這意味著從安裝程序、軟體包、打包到構建系統的所有內容都需要進行重大的修改才能適用於新的作業系統。這意味著總是有一個上升階段,這取決於重新構建工作所需的更改。RHEL 8和RHEL 7之間的差異也不例外,因為內核發生了巨大的變化,軟體倉庫格式增加了「模塊」,rpm增加了許多RHEL7和以前沒有的特性。在RHEL7和RHEL8之間唯一沒有發生巨大變化的是init系統,它仍然是systemd。這是第一次升級到新系統而沒有變化的組件,因為EL5有SysV, EL6有Upstart, EL7有Systemd,他們全都進行了升級。

CentOS8什麼時候發布

2. CentOS新版本開發流程

CentOS新版本開發流程

進行CentOS重建所需的步驟通常遵循以下步驟:

  1. Red Hat提供原始碼
  • 以前是通過src.rpms完成的,但從RHEL7開始改為git repos
  • 在RHEL8時代,CentOS與Fedora的合作更緊密,並將與Fedora系統共享git repo。
  • 紅帽的推送時間從2019-05-07至2019-05-08
  1. CentOS需要查看原始碼並確定構建這些軟體包所需的內容
  • rpm格式添加了建議等項,這些項更改了一些工具要求
  • 打包格式已經從yum更新到dnf4/yum4,這增加了模塊性。模塊是一個額外的障礙和工作量,因為它們允許軟體的並行可用版本,但不允許並行安裝(也就是說,您可以構建Perl-5.24和Perl-5.26,所有Perl模塊都需要針對這兩個集合進行編譯)。模塊流版本與特定的時間戳相關聯,這意味著您不能重新構建RHEL或Fedora並獲得完全相同的版本名稱。
  • 總有一些軟體包需要解決死循環。您需要golang-(X-1)來構建golang-(x),但是golang-(X-1)還不存在。如何構建一個版本並打破這個死循環?
  1. CentOS需要建立一個可以允許這些更改的構建系統。
  • 雖然CentOS可以使用Fedora系統作為模板,但其中有些項目對CentOS沒有意義。
  • RHEL8測試版很有用,但仍有重大變化需要重新考慮
  1. CentOS需要查看原始碼,並找出所有需要取消紅帽品牌的地方。
  • 不僅僅是執行查找和替換代碼("sed s'/Red Hat/CentOS/'),總有人建議使用這樣的代碼,然而,並沒有什麼卵用。
  • 有些地方需要替換,而有些地方不需要
  1. 構建可以通過系統開始
  • 在開始構建時,這通常需要一個多循環
  • 然後開始重建核心
  • 然後添加更多,可能重複1-2次。
  • 然後,您可以開始構建其餘的包
  1. 安裝程序通常需要一定工作量的才能把軟體包打包在一起。
  • 有些東西需要添加補丁
  • 有些東西只需要排序正確
  • 有些東西,比如用於安全引導的shim簽名,可以通過簽名權限進行外部審查
  1. 開始質量保證工作
  • 測試軟體包或從包中構建
  • 使用安裝程序測試來進行質量測試
  1. 完成某些候選版的工作
  2. 發布正式版

  1. 完成所有工作即可發布CentOS8正式版

本文已同步至博客站,尊重原創,轉載時請在正文中附帶以下連結:

https://www.linuxrumen.com/rmxx/1250.html

點擊了解更多,快速查看更多的技術文章列表。

文章來源: https://twgreatdaily.com/zh-sg/lA7vX2wBUcHTFCnfgyx7.html