- Systemd 260 取消了對 System V 腳本的支持,並且需要現代核心才能充分利用其功能。
- 透過改進對 TPM2、PrivateUsers、xaccess 和加密磁碟區完整性檢查的支持,增強安全性和隔離性。
- 透過 mstack、ModemManager 整合和 systemd-networkd 中的新進階選項擴展容器和網路功能。
- 它引入了細粒度的 CPU 和記憶體控制、非特權可移植服務以及針對 AI 輔助貢獻的特定文件。
到來了 systemd 260 標誌著一個轉折點 此次穩定版本引入了一系列變更,這些變更將影響傳統的系統管理以及容器、虛擬化、雲端和企業部署環境,在這些環境中,安全性和效能的重要性日益凸顯。此版本重點關注大多數現代 GNU/Linux 發行版中服務的啟動、管理和隔離方式。
本版整合了醞釀已久的決定,例如徹底廢除舊制度。 系統 V 腳本優於原生 systemd 單元此外,systemd 260 還新增了一些功能,以加強服務隔離(沙箱機制)、改進與 TPM2 等安全硬體的集成,並提供對 CPU、記憶體和網路更精細的控制。所有這些都使得 systemd 260 成為關鍵版本,在生產環境部署之前必須對其進行透徹理解。
告別 System V 腳本:只支援原生磁碟機
最受關注的變化之一是 完全移除對System V服務腳本的支持也稱為 SysV。這項支援多年來一直被標記為過時,但在 systemd 260 中徹底消失,因此系統必須完全依賴原生 systemd 單元來啟動和管理服務。
對於那些仍然依賴 /etc/init.d 中的腳本 或傳統啟動機制訊息很明確:在採用 systemd 260 的發行版中,如果這些服務尚未遷移到單元文件,它們將停止啟動。此外,與此遺留系統相關的內部組件也正在移除,例如: systemd-rc-local-generator, rc-local.service, systemd-sysv-generator y systemd-sysv-install此前,它一直是通往 SysV 世界的橋樑。
在編譯過程中,這些刪減也顯而易見:例如 Meson 的選項 -Drc-local=, -Dsysvinit-path= y -Dsysvrcnd-path= 過時,而其他的,例如 -Dintegration-tests= y -Dcryptolib=它們被直接移除。這進一步體現了該專案致力於簡化程式碼、消除遺留相容性並專注於原生單元模型的承諾。
在具有長期或遺留部署的生產環境中, 值得仔細研究哪些服務仍然依賴 SysV。 y 規劃遷移 隨著時間的推移,在非常保守的歐洲基礎設施中,可能仍然存在依賴這些腳本的關鍵元件,因此忽略這項變更可能會導致更新後服務無法啟動。
更高的核心要求和版本建議
Systemd 260 也提高了核心層級的標準: 目前支援的最低 Linux 版本為 5.10。該項目已放棄對 5.4 分支的支持。此外,該專案建議至少使用 Linux 5.14,並以 6.6 系列作為參考,以便充分利用此版本中引入的所有功能。
需求的增加對以下方面產生了特別的影響: 資料中心和超長週期部署 某些情況下,舊的 LTS 核心仍在運行。雖然大多數主流企業和社群發行版目前都已升級到 5.10 或更高版本,但在更新策略非常嚴格的環境中,升級到 systemd 260 之前,請務必檢查目前使用的核心版本。
實際上,這意味著 新的安全、網路和沙盒功能 它們依賴於舊版本中不可用的核心功能。任何想要充分利用此版本功能的人都應該考慮這一點。 同時更新內核 遷移到現代分支,尤其是在使用容器、深度虛擬化或高效能服務時。
Mstack 和 systemd-mstack:層和容器的新選項
在眾多技術創新中,外觀是… mstack 函數和 systemd-mstack 命令列工具Mstack 允許您從一個名為 OverlayFS 的特殊目錄開始,定義一個基於 OverlayFS 的層系統。 .mstack/遵循特定的結構,該結構規定了不同層是如何組織的。
命令 systemd-mstack 這樣可以更方便地與這些電池進行互動式操作。這使得創建、檢查和管理依賴此功能的疊加層變得更加容易。此功能與以下方面的改進直接相關: systemd-importd這使得 systemd 能夠下載和處理 OCI 鏡像,加強了 systemd 作為容器和沙箱環境中核心組件的功能。
這一系列改變旨在 擴大隔熱和輕量化部署方案 直接從 systemd 集成,無需過度依賴外部工具。在雲端服務供應商和託管平台中,尤其是在容器和臨時服務普遍存在的歐洲,這種整合方式提供了更大的靈活性。
TPM2、udev 和 PrivateUsers 沙箱技術的進步
systemd 260 的另一項重要工作是加強對以下方面的支援: TPM2(可信任平台模組 2.0),許多帶有UEFI韌體的主機板上都存在安全晶片或模組, 安全啟動此硬體的用途之一是在啟動過程中協助解密加密磁碟或分割區,從而在不影響使用者體驗的前提下提高系統安全性。
在這個版本中,udev 整合了一個 新綜合司令部 tpm2_id該工具可在偵測到 TPM2 裝置時自動擷取其型號和廠商識別碼。這簡化了受監管環境(例如政府機構或受嚴格資料保護法規約束的公司)中安全硬體的管理。
與此同時,systemd 仍在不斷完善其隔離機制。 PrivateUsers 透過 PrivateUsers=full 它已更新,可以映射所有用戶標識符(UID)。由於此變化,先前基於 257 版本之前版本的 systemd 實例進行正確檢測的折衷解決方案已被取消。
對於不熟悉這個概念的人來說,PrivateUsers 是一項功能, 建立一個獨立的使用者 ID 空間 對於特定單元而言,這透過使進程看到不同的用戶映射來改進沙箱機制,從而更好地將它們與系統的其他部分隔離。它是 systemd 服務加固策略的關鍵組成部分。
作業系統版本中的 FANCY_NAME 和一些小的可用性附加功能
在檔案中 /etc/os-release出現了一個新字段,用於標識系統發行版和版本,名為 FANCY_NAME=這個領域與已知的領域類似 PRETTY_NAME但是,它支援 ANSI 序列和更複雜的 Unicode 字符,從而可以創建更醒目或更獨特的名稱。
的價值 FANCY_NAME 可以透過 systemd 管理器顯示。的 systemd-hostnamed 以及該命令 hostnamectl這為發行版設計更具吸引力或表現力的圖形環境和管理工具識別碼打開了大門。雖然這看似微不足道,但在擁有眾多機器的企業環境中,它有助於更好地區分版本、變體或特定用途。
systemd-networkd:與 ModemManager 整合以及新的網路選項
在網路領域, systemd-networkd 與 ModemManager 集成 通過協議 簡單連接這種組合使得直接從 networkd 設定檔管理數據機和行動連線變得非常容易,這在連接依賴 4G/5G 網路的部署中非常有用,例如農村地區或備用鏈路。
為此,新增了一個章節。 在設定檔中它接受諸如以下參數: APN=, AllowedAuthenticationMechanisms=, User=, Password=, IPFamily=, AllowRoaming=, PIN=, OperatorId=, RouteMetric= y UseGateway=這些設定可讓您精確定義如何在每個介面上建立和管理行動連線。
此外,文件 .link systemd-networkd 團隊新增了一些選項,用於微調乙太網路裝置的行為。其中包括: ScatterGather=, ScatterGatherFragmentList=, TCPECNSegmentationOffload=, TCPMangleIdSegmentationOffload=, GenericReceiveOffloadList= y GenericReceiveOffloadUDPForwarding=這些指令可讓您調整進階卸載和通用接收功能,從而直接影響網路協定堆疊的效能。
systemd-networkd 的 Varlink 和 JSON 介面也得到了改進,以便: 請以人類可讀的字串格式報告 IP 位址。 對於人類使用者而言,這不僅保留了先前以整數數組形式呈現的資料結構,也便於與各類組織中使用的監控工具、儀表板和管理腳本整合。
安全性、磁碟區完整性和裝置存取權限委派
Systemd 260 包含重要的安全性改進。例如, systemd-repart 它增加了基本的完整性檢查 對於加密卷,這在處理受加密技術保護的分割區時提供了額外的信任層。
為別人, systemd-logind y systemd-udevd 他們引入了「xaccess」的概念。這種邏輯允許將特定設備的使用權委派給具有特殊標記會話的用戶,是對現有「uaccess」方案的補充,該方案向具有前台會話的用戶授予設備訪問權限。
主要用例 xaccess 授予對 GPU 渲染設備的受控存取權限 遠端使用者(不在工作站旁)的本機圖形會話與之關聯。配置透過環境變數完成。 PAM XDG_SESSION_EXTRA_DEVICE_ACCESS=這可以在 PAM 認證協定堆疊中使用,以微調哪些硬體對哪些使用者開放。
在監管合規和資料保護要求嚴格的環境中,例如歐盟, 能夠如此精細地委派對敏感硬體的存取權限 它非常符合審計和控制需求。同時,它也避免了向整個系統授予過多的設備權限。
針對非特權使用者的可攜式服務和臨時機器
在服務可移植性方面, systemd-portabled 它獲得了作為用戶級服務運行的能力。這意味著,只要內核支持,非特權帳戶就可以在自己的空間內啟動可移植服務,而無需訴諸於… sudo 也不增加權限。
另外, systemd-portabled 可以產生策略並將關聯的鏡像綁定到可移植服務。這樣一來,未經重新附加的影像就無法被修改。這項細節增強了安全性和可複現性,防止因影像被悄悄修改而造成意外情況。
就其本身而言, systemd-vmspawn 它與…的集成度更高 systemd-machined 在使用者會話中這使得在 systemd 生態系統中更一致地管理虛擬機器變得更加容易。也可以選擇包含 --ephemeral 為 創造短暫的機器 這些設備在使用完畢後會自動銷毀,這對於實驗室、CI/CD 環境或教室等經常需要建造和丟棄環境的場所來說尤其有吸引力。
這些改進符合以下趨勢: 將部分服務管理權下放給使用者。減少對帳戶的依賴 root 並提高環境間的隔離度。對於開發人員和測試團隊而言,這提供了一種便捷的實驗方式,而不會影響主系統。
微調 CPU 和記憶體控制:每個服務的 SCHED_EXT 和 THP
Systemd 260 擴展了可用於管理效能的策略集。該選項 CPUSchedulingPolicy= 現在接受這個值 ext這樣就可以啟動 SCHED_EXT 調度器。該調度器目前仍處於實驗階段,它為 Linux 中常見的調度策略之外的其他調度策略打開了大門,專為高級應用場景而設計。
這種整合使得以下情況成為可能: 具體服務是根據專門的規劃政策實施的。對於需要高度可預測行為的關鍵負載,或在研發環境中進行評估的負載來說,這很有意義。
在記憶體方面,引入了該指令。 MemoryTHP= 控制每個服務對透明大頁面 (THP) 的使用現在,您無需全域啟用或停用 THP,而是可以根據驅動器的記憶體存取模式,精確地決定哪些驅動器受益於此功能,哪些驅動器不受益。
這種細粒度在以下方面尤其有價值: 金融、保險或公共管理應用需要兼顧性能、延遲和資源消耗,從而尋求微妙的平衡。逐一服務調整 THP 有助於避免在處理大型頁面不佳的進程中產生不必要的副作用。
Varlink、systemctl 中的新實用程式和改進
本計畫繼續推廣使用 Varlink 作為組件間的通訊機制Systemd 260 持續將此協定擴展到生態系統的不同部分,從而形成更連貫的架構,並更容易與希望以結構化方式與 systemd 互動的外部工具整合。
在行政領域,眾所周知的命令 systemctl 它包含了一種名為「新秩序」的命令 enqueue-marked此操作會在內部呼叫 D-Bus 方法。 EnqueueMarkedJobs(), 這使得 管理預選作業佇列 並可在大型伺服器叢集中實現更複雜的編排工作流程。
儘管這些改進可能不會被最終用戶注意到, 對於管理數百上千台機器的維運團隊而言 它們在自動化部署、受控重新啟動和維護任務方面提供了重要幫助。
人工智慧代理和輔助貢獻的具體文檔
這條開發路線的驚喜之一是它被納入了以下儲存庫: 專門設計的文檔 人工智慧代理已新增文件 AGENTS.md 它描述了 systemd 的內部架構、開發流程、程式設計風格和貢獻指南,所有這些都是為了幫助 AI 工具更好地理解專案。
本文檔提供 有關如何運行命令、執行整合測試和查看變更的說明此舉旨在提升程式設計和自動化程式碼審查助理的準確性和實用性。這清楚地表明 systemd 認為人工智慧將成為未來軟體開發生命週期中不可或缺的一部分。
該文件旁邊出現 CLAUDE.md直接引用了 AGENTS.md 作為 Claude Code 工具(最受歡迎的基於 AI 的開發助手之一)的輔助材料,該儲存庫中還包含一個設定檔。 claude-review.yml,其中描述如何使用 Claude Code 來幫助審查拉取請求。
這套設備與…相得益彰 對於使用人工智慧的貢獻,有明確的揭露要求。例如使用標籤 Co-developed-by 在補丁中。這樣,該計畫致力於以負責任的方式將人工智慧整合到其工作流程中,同時又不丟失每次更改的干預者(或乾預機制)的可追溯性。
將所有這些部分加在一起, systemd 260 正在確立其作為清理舊相容性版本的定位。它透過 TPM2、沙箱和完整性檢查來增強安全性,擴展了網路和容器功能,並朝著建立一個自動化、輕量級虛擬化和與 AI 工具協作融入日常運維的生態系統邁出了明確的步伐。對於管理員和開發人員而言,挑戰在於審查其基礎架構、驗證核心、調整配置,並決定在每種情況下應該利用哪些新功能。
對字節世界和一般技術充滿熱情的作家。我喜歡透過寫作分享我的知識,這就是我在這個部落格中要做的,向您展示有關小工具、軟體、硬體、技術趨勢等的所有最有趣的事情。我的目標是幫助您以簡單有趣的方式暢遊數位世界。
