systemd 系統管理器版本 242

[:zh]

經過兩個月的開發 提出了 系統管理員發布 systemd 242。 在這些創新中,我們可以注意到對L2TP 隧道的支援、透過環境變數控制重啟時systemd-logind 的行為的能力、用於掛載/boot 的擴展XBOOTLDR 引導分區的支援、使用overlayfs 中的根分區進行引導的能力、以及針對不同類型單位的大量新設定。

主要變化:

  • systemd-networkd 提供對 L2TP 隧道的支援;
  • sd-boot 和 bootctl 除了安裝在 /efi 或 /boot/efi 上的 ESP 分割區之外,還支援設計為安裝在 /boot 上的 XBOOTLDR(擴充引導程式)分割區。 現在可以從 ESP 和 XBOOTLDR 分割區啟動核心、設定、initrd 和 EFI 映像。 此變更允許您在更保守的場景中使用 sd-boot 引導程序,此時引導程式本身位於 ESP 中,並且載入的核心和相關元資料放置在單獨的部分中;
  • 新增了使用傳遞到核心的「systemd.volatile=overlay」選項進行引導的功能,該選項允許您將根分區放置在overlayfs中,並在根目錄的唯讀映像之上組織工作,並將變更寫入tmpfs 中的單獨目錄(此配置中的變更在重新啟動後將遺失)。 以此類推,systemd-nspawn 添加了“--volatile=overlay”選項以在容器中使用類似的功能;
  • systemd-nspawn 新增了「--oci-bundle」選項,以允許使用運行時捆綁包來提供符合開放容器計劃 (OCI) 規範的容器的隔離啟動。 為了在命令列和 nspawn 單元中使用,建議支援 OCI 規範中所述的各種選項,例如,「--inaccessible」和「Inaccessible」選項可用於排除檔案系統的某些部分,而「新增了「-- console”選項來配置標準輸出流和“-pipe”;
  • 新增了透過環境變數控制 systemd-logind 行為的功能:$SYSTEMD_REBOOT_ TO_FIRMWARE_SETUP,
    $SYSTEMD_REBOOT_TO_BOOT_LOADER_MENU 和
    $SYSTEMD_REBOOT_ TO_BOOT_LOADER_ENTRY。 使用這些變量,您可以連接自己的重新啟動進程處理程序(/run/systemd/reboot-to-firmware-setup、/run/systemd/reboot-to-boot-loader-menu 和
    /run/systemd/reboot-to-boot-loader-entry)或完全停用它們(如果該值設為 false);

  • 新增了選項“-boot-load-menu =”和
    “—boot-loader-entry=”,讓您在重新啟動後選擇特定的啟動選單項目或啟動模式;

  • 新增了新的沙箱隔離命令“RestrictSUIDSGID=”,該命令使用 seccomp 禁止建立帶有 SUID/SGID 標誌的檔案;
  • 確保在動態使用者 ID 產生模式(啟用「DynamicUser」)的服務中預設套用「NoNewPrivileges」和「RestrictSUIDSGID」限制;
  • .link 檔案中的預設 MACAddressPolicy=persistent 設定已變更以覆蓋更多裝置。 橋接器、隧道(tun、tap)和聚合鏈路(bond)的介面除了透過網路介面的名稱外無法識別自己,因此該名稱現在用作綁定 MAC 和 IPv4 位址的基礎。 此外,還新增了「MACAddressPolicy=random」設置,可用於以隨機順序將MAC和IPv4位址綁定到設備;
  • 透過 systemd-fstab-generator 產生的「.device」單元檔案不再包含對應的「.mount」單元作為「Wants=」部分中的依賴項。 簡單地插入設備不再自動啟動要安裝的單元,但此類單元仍然可以出於其他原因啟動,例如作為 local-fs.target 的一部分或作為對依賴於 local-fs.target 的其他單元的依賴項;
  • 在「networkctl list/status/lldp」命令中新增了對掩碼(「*」等)的支持,以按名稱的一部分過濾掉某些網路介面組;
  • 現在,使用透過「PIDFile=;」參數在服務中配置的絕對路徑來設定 $PIDFILE 環境變數。
  • 如果未明確定義主 DNS,則公共 Cloudflare 伺服器 (1.1.1.1) 已新增至使用的備用 DNS 伺服器的數量。 若要重新定義備份 DNS 伺服器列表,可以使用“-Ddns-servers=”選項;
  • 當偵測到 USB 裝置控制器的存在時,會自動啟動一個新的 usb-gadget.target 處理程序(當系統在 USB 週邊裝置上執行時);
  • 對於單元文件,已經實現了「CPUQuotaPeriodSec=」設置,它確定了相對於測量CPU時間配額的時間段,透過「CPUQuota=」設定來設定;
  • 對於單元文件,已實現“ProtectHostname=”設置,該設置禁止服務更改有關主機名稱的信息,即使它們具有適當的權限;
  • 對於單元文件,已經實現了“NetworkNamespacePath=”設置,它允許您透過在偽 FS /proc 中指定命名空間文件的路徑來將命名空間綁定到服務或套接字單元;
  • 新增了透過在啟動命令前新增「:」字元來停用使用「ExecStart=」設定啟動的進程的環境變數取代的功能;
  • 對於計時器(.timer 單位)新標誌“OnClockChange=”和
    “OnTimezoneChange=”,可控制系統時間或時區改變時本機的呼叫;

  • 新增設定“ConditionMemory=”和“ConditionCPUs=”,根據記憶體大小和CPU核數來決定呼叫單元的條件(例如,只有滿足所需的資源量才能啟動資源密集型服務)記憶體可用);
  • 新增了一個新的 time-set.target 單元,它接受本地設定的系統時間,而無需使用 time-sync.target 單元與外部時間伺服器進行協調。 新單元可供需要不同步本地時鐘精度的服務使用;
  • 「--show-transaction」選項已新增至「systemctl start」和類似的命令中,指定後,會顯示由於要求的操作而新增至佇列中的所有作業的摘要;
  • systemd-networkd 實現了新的「被奴役」狀態的定義,用於取代作為聚合鏈路或網橋一部分的網路介面的「降級」或「載體」。 對於主接口,如果其中一個複合鏈路出現問題,則添加“退化載波”狀態;
  • 在 .network 單元中新增了「IgnoreCarrierLoss=」選項,以在連線遺失時儲存網路設定;
  • 透過 .network 單元中的「RequiredForOnline=」設置,您現在可以設定將網路介面轉換為「線上」所需的最低可接受的連結狀態並觸發 systemd-networkd-wait-online 處理程序;
  • 在 systemd-networkd-wait-online 中新增了「--any」選項,以等待任何指定網路介面(而不是全部)準備就緒,以及「--​​operational-state=」選項來確定網路介面的狀態指示準備就緒的連結;
  • 為.network單元添加了“UseAutonomousPrefix =”和“UseOnLinkPrefix =”設置,可用於在接收時忽略前綴
    來自 IPv6 路由器的通告(RA,路由器通告);

  • 在.network單元中,新增了「MulticastFlood=」、「NeighborSuppression=」和「Learning=」設定來更改網橋的操作參數,以及「TripleSampling=」設定來更改TRIPLE-SAMPLING模式CAN虛擬介面;
  • .netdev 單元中新增了「PrivateKeyFile=」和「PresharedKeyFile=」設置,您可以使用它們為 WireGuard VPN 介面指定私有和共用 (PSK) 金鑰;
  • 在/etc/crypttab中加入了same-cpu-crypt和submit-from-crypt-cpus選項,這些選項控制在CPU核心之間遷移加密相關工作時調度程序的行為;
  • systemd-tmpfiles 在包含臨時檔案的目錄中執行操作之前提供鎖定檔案處理,這允許您在某些操作期間停用清理過時檔案的工作(例如,在/tmp 中解壓縮tar 檔案時,非常舊的檔案可能會被刪除)已開啟且在操作結束前無法刪除的內容);
  • 「systemd-analyze cat-config」指令提供了分析分為多個檔案的設定的能力,例如,使用者和系統預設、tmpfiles.d和sysusers.d的內容、udev規則等。
  • 在「journalctl」中新增了「--cursor-file=」選項,用於指定載入和儲存位置遊標的檔案;
  • 新增了 ACRN 虛擬機器管理程式和 WSL 子系統(Linux 的 Windows 子系統)的定義到 systemd-detect-virt,以便使用條件運算子「ConditionVirtualization」進行後續分支;
  • 在 systemd 安裝期間(執行「ninja install」時),建立到檔案 systemd-networkd.service、systemd-networkd.socket 的符號鏈接,
    systemd-resolved.service、remote-cryptsetup.target、remote-fs.target、
    systemd-networkd-wait-online.service 和 systemd-timesyncd.service。 要建立這些文件,您現在需要執行“systemctlpreset-all”命令。

opennet.ru

[:EN]

經過兩個月的開發 提出了 系統管理員發布 systemd 242。 在這些創新中,我們可以注意到對L2TP 隧道的支援、透過環境變數控制重啟時systemd-logind 的行為的能力、用於掛載/boot 的擴展XBOOTLDR 引導分區的支援、使用overlayfs 中的根分區進行引導的能力、以及針對不同類型單位的大量新設定。

主要變化:

  • systemd-networkd 提供對 L2TP 隧道的支援;
  • sd-boot 和 bootctl 除了安裝在 /efi 或 /boot/efi 上的 ESP 分割區之外,還支援設計為安裝在 /boot 上的 XBOOTLDR(擴充引導程式)分割區。 現在可以從 ESP 和 XBOOTLDR 分割區啟動核心、設定、initrd 和 EFI 映像。 此變更允許您在更保守的場景中使用 sd-boot 引導程序,此時引導程式本身位於 ESP 中,並且載入的核心和相關元資料放置在單獨的部分中;
  • 新增了使用傳遞到核心的「systemd.volatile=overlay」選項進行引導的功能,該選項允許您將根分區放置在overlayfs中,並在根目錄的唯讀映像之上組織工作,並將變更寫入tmpfs 中的單獨目錄(此配置中的變更在重新啟動後將遺失)。 以此類推,systemd-nspawn 添加了“--volatile=overlay”選項以在容器中使用類似的功能;
  • systemd-nspawn 新增了「--oci-bundle」選項,以允許使用運行時捆綁包來提供符合開放容器計劃 (OCI) 規範的容器的隔離啟動。 為了在命令列和 nspawn 單元中使用,建議支援 OCI 規範中所述的各種選項,例如,「--inaccessible」和「Inaccessible」選項可用於排除檔案系統的某些部分,而「新增了「-- console”選項來配置標準輸出流和“-pipe”;
  • 新增了透過環境變數控制 systemd-logind 行為的功能:$SYSTEMD_REBOOT_ TO_FIRMWARE_SETUP,
    $SYSTEMD_REBOOT_TO_BOOT_LOADER_MENU 和
    $SYSTEMD_REBOOT_ TO_BOOT_LOADER_ENTRY。 使用這些變量,您可以連接自己的重新啟動進程處理程序(/run/systemd/reboot-to-firmware-setup、/run/systemd/reboot-to-boot-loader-menu 和
    /run/systemd/reboot-to-boot-loader-entry)或完全停用它們(如果該值設為 false);

  • 新增了選項“-boot-load-menu =”和
    “—boot-loader-entry=”,讓您在重新啟動後選擇特定的啟動選單項目或啟動模式;

  • 新增了新的沙箱隔離命令“RestrictSUIDSGID=”,該命令使用 seccomp 禁止建立帶有 SUID/SGID 標誌的檔案;
  • 確保在動態使用者 ID 產生模式(啟用「DynamicUser」)的服務中預設套用「NoNewPrivileges」和「RestrictSUIDSGID」限制;
  • .link 檔案中的預設 MACAddressPolicy=persistent 設定已變更以覆蓋更多裝置。 橋接器、隧道(tun、tap)和聚合鏈路(bond)的介面除了透過網路介面的名稱外無法識別自己,因此該名稱現在用作綁定 MAC 和 IPv4 位址的基礎。 此外,還新增了「MACAddressPolicy=random」設置,可用於以隨機順序將MAC和IPv4位址綁定到設備;
  • 透過 systemd-fstab-generator 產生的「.device」單元檔案不再包含對應的「.mount」單元作為「Wants=」部分中的依賴項。 簡單地插入設備不再自動啟動要安裝的單元,但此類單元仍然可以出於其他原因啟動,例如作為 local-fs.target 的一部分或作為對依賴於 local-fs.target 的其他單元的依賴項;
  • 在「networkctl list/status/lldp」命令中新增了對掩碼(「*」等)的支持,以按名稱的一部分過濾掉某些網路介面組;
  • 現在,使用透過「PIDFile=;」參數在服務中配置的絕對路徑來設定 $PIDFILE 環境變數。
  • 如果未明確定義主 DNS,則公共 Cloudflare 伺服器 (1.1.1.1) 已新增至使用的備用 DNS 伺服器的數量。 若要重新定義備份 DNS 伺服器列表,可以使用“-Ddns-servers=”選項;
  • 當偵測到 USB 裝置控制器的存在時,會自動啟動一個新的 usb-gadget.target 處理程序(當系統在 USB 週邊裝置上執行時);
  • 對於單元文件,已經實現了「CPUQuotaPeriodSec=」設置,它確定了相對於測量CPU時間配額的時間段,透過「CPUQuota=」設定來設定;
  • 對於單元文件,已實現“ProtectHostname=”設置,該設置禁止服務更改有關主機名稱的信息,即使它們具有適當的權限;
  • 對於單元文件,已經實現了“NetworkNamespacePath=”設置,它允許您透過在偽 FS /proc 中指定命名空間文件的路徑來將命名空間綁定到服務或套接字單元;
  • 新增了透過在啟動命令前新增「:」字元來停用使用「ExecStart=」設定啟動的進程的環境變數取代的功能;
  • 對於計時器(.timer 單位)新標誌“OnClockChange=”和
    “OnTimezoneChange=”,可控制系統時間或時區改變時本機的呼叫;

  • 新增設定“ConditionMemory=”和“ConditionCPUs=”,根據記憶體大小和CPU核數來決定呼叫單元的條件(例如,只有滿足所需的資源量才能啟動資源密集型服務)記憶體可用);
  • 新增了一個新的 time-set.target 單元,它接受本地設定的系統時間,而無需使用 time-sync.target 單元與外部時間伺服器進行協調。 新單元可供需要不同步本地時鐘精度的服務使用;
  • 「--show-transaction」選項已新增至「systemctl start」和類似的命令中,指定後,會顯示由於要求的操作而新增至佇列中的所有作業的摘要;
  • systemd-networkd 實現了新的「被奴役」狀態的定義,用於取代作為聚合鏈路或網橋一部分的網路介面的「降級」或「載體」。 對於主接口,如果其中一個複合鏈路出現問題,則添加“退化載波”狀態;
  • 在 .network 單元中新增了「IgnoreCarrierLoss=」選項,以在連線遺失時儲存網路設定;
  • 透過 .network 單元中的「RequiredForOnline=」設置,您現在可以設定將網路介面轉換為「線上」所需的最低可接受的連結狀態並觸發 systemd-networkd-wait-online 處理程序;
  • 在 systemd-networkd-wait-online 中新增了「--any」選項,以等待任何指定網路介面(而不是全部)準備就緒,以及「--​​operational-state=」選項來確定網路介面的狀態指示準備就緒的連結;
  • 為.network單元添加了“UseAutonomousPrefix =”和“UseOnLinkPrefix =”設置,可用於在接收時忽略前綴
    來自 IPv6 路由器的通告(RA,路由器通告);

  • 在.network單元中,新增了「MulticastFlood=」、「NeighborSuppression=」和「Learning=」設定來更改網橋的操作參數,以及「TripleSampling=」設定來更改TRIPLE-SAMPLING模式CAN虛擬介面;
  • .netdev 單元中新增了「PrivateKeyFile=」和「PresharedKeyFile=」設置,您可以使用它們為 WireGuard VPN 介面指定私有和共用 (PSK) 金鑰;
  • 在/etc/crypttab中加入了same-cpu-crypt和submit-from-crypt-cpus選項,這些選項控制在CPU核心之間遷移加密相關工作時調度程序的行為;
  • systemd-tmpfiles 在包含臨時檔案的目錄中執行操作之前提供鎖定檔案處理,這允許您在某些操作期間停用清理過時檔案的工作(例如,在/tmp 中解壓縮tar 檔案時,非常舊的檔案可能會被刪除)已開啟且在操作結束前無法刪除的內容);
  • 「systemd-analyze cat-config」指令提供了分析分為多個檔案的設定的能力,例如,使用者和系統預設、tmpfiles.d和sysusers.d的內容、udev規則等。
  • 在「journalctl」中新增了「--cursor-file=」選項,用於指定載入和儲存位置遊標的檔案;
  • 新增了 ACRN 虛擬機器管理程式和 WSL 子系統(Linux 的 Windows 子系統)的定義到 systemd-detect-virt,以便使用條件運算子「ConditionVirtualization」進行後續分支;
  • 在 systemd 安裝期間(執行「ninja install」時),建立到檔案 systemd-networkd.service、systemd-networkd.socket 的符號鏈接,
    systemd-resolved.service、remote-cryptsetup.target、remote-fs.target、
    systemd-networkd-wait-online.service 和 systemd-timesyncd.service。 要建立這些文件,您現在需要執行“systemctlpreset-all”命令。

來源: opennet.ru

[:]

添加評論