systemd 系統管理器版本 246

經過五個月的開發 提出了 系統管理員發布 systemd 246。 新版本包括對凍結單元的支援、使用數位簽章驗證根磁碟映像的能力、使用 ZSTD 演算法的日誌壓縮和核心轉儲的支援、使用 FIDO2 令牌解鎖便攜式主目錄的能力、支援解鎖 Microsoft BitLocker通過/etc /crypttab 進行分區,BlackList 已重新命名為DenyList。

主要的 變化:

  • 新增了對基於 cgroups v2 的冷凍機資源控制器的支持,您可以使用它停止進程並暫時釋放一些資源(CPU、I/O,甚至可能是記憶體)來執行其他任務。 使用新的“systemctl freeze”命令或透過 D-Bus 控制設備的冷凍和除霜。
  • 新增了對使用數位簽章驗證根磁碟映像的支援。 使用服務單元中的新設定執行驗證:RootHash(用於驗證透過 RootImage 選項指定的磁碟映像的根雜湊)和 RootHashSignature(根哈希的 PKCS#7 格式的數位簽章)。
  • PID 1 處理程序實現了在初始啟動階段自動載入預編譯的 AppArmor 規則 (/etc/apparmor/earlypolicy) 的功能。
  • 新增了新的單元檔案設定:ConditionPathIsEncrypted 和AssertPathIsEncrypted 用於檢查指定路徑在使用加密(dm-crypt/LUKS) 的區塊裝置上的位置,ConditionEnvironment 和AssertEnvironment 用於檢查環境變數(例如,由PAM 或PAM 設定的變數)設定容器時)。
  • 對於 *.mount 單元,已實現 ReadWriteOnly 設置,如果無法掛載分區進行讀寫,則禁止以唯讀模式掛載該分區。 在 /etc/fstab 中,使用「x-systemd.rw-only」選項來配置此模式。
  • 對於 *.socket 單元,添加了 PassPacketInfo 設定,這使得核心能夠為從套接字讀取的每個資料包添加額外的元資料(為套接字啟用 IP_PKTINFO、IPV6_RECVPKTINFO 和 NETLINK_PKTINFO 模式)。
  • 對於服務(*.service 單元),建議 CoredumpFilter 設定(定義應包含在核心轉儲中的記憶體部分)和
    TimeoutStartFailureMode/TimeoutStopFailureMode(定義啟動或停止服務時發生逾時時的行為(SIGTERM、SIGABRT 或 SIGKILL))。

  • 大多數選項現在支援使用“0x”前綴指定的十六進位值。
  • 在與設定金鑰或憑證相關的各種命令列參數和設定檔中,當不希望將憑證放置在未加密的磁碟上時,可以指定unix 套接字(AF_UNIX) 的路徑,以便透過呼叫IPC 服務來傳輸金鑰和憑證貯存。
  • 新增了對可在單位、tmpfiles.d/、sysusers.d/ 和其他設定檔中使用的六個新說明符的支援:%a 用於替換目前架構,%o/%w/%B/%W用於替換欄位來自 /etc/os-release 的識別碼和用於短主機名稱替換的 %l。
  • 單元檔案不再支援「.include」語法,該語法在 6 年前已被棄用。
  • StandardError和StandardOutput設定不再支援值“syslog”和“syslog-console”,它們將自動轉換為“journal”和“journal+console”。
  • 對於自動建立的基於 tmpfs 的掛載點(/tmp、/run、/dev/shm 等),提供了 inode 大小和數量的限制,對應於 /tmp 和 /dev/ 的 RAM 大小的 50% shm,以及其他人10% 的RAM。
  • 新增了新的核心命令列選項:systemd.hostname 用於在初始引導階段設定主機名,udev.blockdev_read_only 用於將與實體磁碟機關聯的所有區塊裝置限制為唯讀模式(您可以使用「blockdev --setrw 」指令選擇性取消),systemd.swap 禁用交換分區的自動激活,systemd.clock-usec 以微秒設定係統時鐘,systemd.condition-needs-update 和 systemd.condition-first-boot 覆蓋 ConditionNeedsUpdate 和 ConditionFirstBoot檢查。
  • 預設情況下,sysctl fs.suid_dumpable 設定為 2(“suidsafe”),這允許使用 suid 標誌保存進程的核心轉儲。
  • 檔案 /usr/lib/udev/hwdb.d/60-autosuspend.hwdb 是從 ChromiumOS 借用到硬體資料庫中的,其中包含有關支援自動睡眠模式的 PCI 和 USB 裝置的資訊。
  • ManageForeignRoutes 設定已新增至 networkd.conf 中,啟用後,systemd-networkd 將開始管理其他公用程式設定的所有路由。
  • .network 檔案中新增了「[SR-IOV]」部分,用於設定支援 SR-IOV(單一 I/O 虛擬化)的網路設備。
  • 在 systemd-networkd 中,IPv4AcceptLocal 設定已新增至「[Network]」部分,以允許在網路介面上接收具有本機來源位址的封包。
  • systemd-networkd 增加了透過 [HierarchyTokenBucket] 設定 HTB 流量優先權規則的功能,
    [HierarchyTokenBucketClass]、“pfifo”透過 [PFIFO]、“GRED”透過 [GenericRandomEarlyDetection]、“SFB”透過 [StochasticFairBlue]、“蛋糕”
    透過 [CAKE]、「PIE」透過 [PIE]、「DRR」透過 [DeficitRoundRobinScheduler] 和
    [DeficitRoundRobinSchedulerClass],透過 [BFIFO] 的“BFIFO”,
    透過 [PFIFOHeadDrop] 的“PFIFOHeadDrop”、透過 [PFIFOFast] 的“PFIFOFast”、“HHF”
    透過 [HeavyHitterFilter]、「ETS」透過 [EnhancedTransmissionSelection]、
    透過 [QuickFairQueueing] 和 [QuickFairQueueingClass] 進行「QFQ」。

  • 在 systemd-networkd 中,UseGateway 設定已新增至 [DHCPv4] 部分,以停用透過 DHCP 取得的網關資訊。
  • 在 systemd-networkd 的 [DHCPv4] 和 [DHCPServer] 部分中,新增了 SendVendorOption 設置,用於安裝和處理其他供應商選項。
  • systemd-networkd 在 [DHCPServer] 部分實作了一組新的 EmitPOP3/POP3、EmitSMTP/SMTP 和 EmitLPR/LPR 選項,以新增有關 POP3、SMTP 和 LPR 伺服器的資訊。
  • 在 systemd-networkd 的 [Bridge] 部分的 .netdev 檔案中,新增了 VLANProtocol 設定以選擇要使用的 VLAN 協定。
  • 在 systemd-networkd 中,在 [Link] 部分的 .network 檔案中,實作 Group 設定來管理一組連結。
  • 黑名單設定已重新命名為 DenyList(保留舊名稱處理以實現向後相容性)。
  • Systemd-networkd 增加了大量與 IPv6 和 DHCPv6 相關的設定。
  • 在 networkctl 新增了「forcerenew」指令,以強制更新(租用)所有位址綁定。
  • 在 systemd-resolved 中,在 DNS 配置中,可以指定用於 DNS-over-TLS 憑證驗證的連接埠號碼和主機名稱。 DNS-over-TLS 實作新增了對 SNI 檢查的支援。
  • Systemd-resolved 現在能夠設定單標籤 DNS 名稱的重新導向(單標籤,來自一個主機名稱)。
  • systemd-journald 支援使用 zstd 演算法壓縮日誌中的大字段。 已經做了一些工作來防止期刊中使用的哈希表發生衝突。
  • 顯示日誌訊息時,帶有文件連結的可點擊 URL 已新增至 journalctl 中。
  • 在journald.conf中加入了審核設置,以控制在systemd-journald初始化期間是否啟用審核。
  • Systemd-coredump 現在能夠使用 zstd 演算法壓縮核心轉儲。
  • 向 systemd-repart 新增了 UUID 設置,以將 UUID 指派給已建立的分割區。
  • systemd-homed 服務提供可移植主目錄的管理,並增加了使用 FIDO2 令牌解鎖主目錄的功能。 LUKS 分割區加密後端新增了對會話結束時自動傳回空檔案系統區塊的支援。 如果確定係統上的 /home 分割區已加密,則新增了對資料雙重加密的保護。
  • 為/etc/crypttab 新增了設定:「keyfile-erase」用於在使用後刪除金鑰,「try-empty-password」用於在提示使用者輸入密碼之前嘗試使用空密碼解鎖分割區(對於安裝加密映像很有用)在首次啟動後分配密碼,而不是在安裝過程中)。
  • systemd-cryptsetup 新增了在啟動時使用 /etc/crypttab 解鎖 Microsoft BitLocker 分區的支援。 也增加了閱讀的能力
    用於從檔案 /etc/cryptsetup-keys.d/ 自動解鎖分區的金鑰.key 和 /run/cryptsetup-keys.d/ 。鑰匙。

  • 新增了 systemd-xdg-autostart-generator 以從 .desktop 自動啟動檔案建立單元檔案。
  • 在“bootctl”中新增了“rebo​​ot-to-firmware”命令。
  • 向systemd-firstboot 新增了選項:「--image」用於指定要啟動的磁碟映像,「--kernel-command-line」用於初始化/etc/kernel/cmdline 文件,「--root-password-hashed 」用於初始化指定 root 密碼哈希,並使用「--delete-root-password」刪除 root 密碼。

來源: opennet.ru

添加評論