phát hành trình quản lý hệ thống systemd 246

Sau năm tháng phát triển trình bày phát hành quản lý hệ thống systemd 246. Bản phát hành mới bao gồm hỗ trợ cho các đơn vị đóng băng, khả năng xác minh hình ảnh đĩa gốc bằng chữ ký số, hỗ trợ nén nhật ký và kết xuất lõi bằng thuật toán ZSTD, khả năng mở khóa các thư mục chính di động bằng mã thông báo FIDO2, hỗ trợ mở khóa Microsoft BitLocker phân vùng qua /etc/crypttab, BlackList đã được đổi tên thành DenyList.

Chính thay đổi:

  • Đã thêm hỗ trợ cho bộ điều khiển tài nguyên tủ đông dựa trên cgroups v2, nhờ đó bạn có thể dừng các quy trình và tạm thời giải phóng một số tài nguyên (CPU, I/O và thậm chí cả bộ nhớ) để thực hiện các tác vụ khác. Việc đóng băng và rã đông các thiết bị được điều khiển bằng lệnh “systemctlfreeze” mới hoặc thông qua D-Bus.
  • Đã thêm hỗ trợ để xác minh hình ảnh đĩa gốc bằng chữ ký số. Việc xác minh được thực hiện bằng cách sử dụng cài đặt mới trong đơn vị dịch vụ: RootHash (băm gốc để xác minh ảnh đĩa được chỉ định thông qua tùy chọn RootImage) và RootHashSignature (chữ ký số ở định dạng PKCS#7 cho hàm băm gốc).
  • Trình xử lý PID 1 triển khai khả năng tự động tải các quy tắc AppArmor được biên dịch sẵn (/etc/apparmor/earlypolicy) ở giai đoạn khởi động ban đầu.
  • Cài đặt tệp đơn vị mới đã được thêm: ConditionPathIsEncrypted và AssertPathIsEncrypted để kiểm tra vị trí của đường dẫn được chỉ định trên thiết bị khối sử dụng mã hóa (dm-crypt/LUKS), ConditionEnvironment và AssertEnvironment để kiểm tra các biến môi trường (ví dụ: các biến được đặt bởi PAM hoặc khi thiết lập vùng chứa).
  • Đối với các đơn vị *.mount, cài đặt ReadWriteOnly đã được triển khai, cài đặt này cấm gắn phân vùng ở chế độ chỉ đọc nếu không thể gắn phân vùng đó để đọc và ghi. Trong /etc/fstab chế độ này được định cấu hình bằng tùy chọn “x-systemd.rw-only”.
  • Đối với các đơn vị *.socket, cài đặt PassPacketInfo đã được thêm vào, cho phép hạt nhân thêm siêu dữ liệu bổ sung cho mỗi gói được đọc từ ổ cắm (bật các chế độ IP_PKTINFO, IPV6_RECVPKTINFO và NETLINK_PKTINFO cho ổ cắm).
  • Đối với các dịch vụ (đơn vị * .service), cài đặt CoredumpFilter được đề xuất (xác định các phần bộ nhớ cần được đưa vào các kết xuất lõi) và
    TimeoutStartFailureMode/TimeoutStopFailureMode (xác định hành vi (SIGTERM, SIGABRT hoặc SIGKILL) khi xảy ra thời gian chờ khi bắt đầu hoặc dừng dịch vụ).

  • Hầu hết các tùy chọn hiện đều hỗ trợ các giá trị thập lục phân được chỉ định bằng tiền tố "0x".
  • Trong các tham số dòng lệnh và tệp cấu hình khác nhau liên quan đến thiết lập khóa hoặc chứng chỉ, có thể chỉ định đường dẫn đến ổ cắm unix (AF_UNIX) để truyền khóa và chứng chỉ thông qua các cuộc gọi đến dịch vụ IPC khi không muốn đặt chứng chỉ trên đĩa không được mã hóa kho.
  • Đã thêm hỗ trợ cho sáu công cụ xác định mới có thể được sử dụng trong các đơn vị, tmpfiles.d/, sysusers.d/ và các tệp cấu hình khác: %a để thay thế kiến ​​trúc hiện tại, %o/%w/%B/%W để thay thế các trường bằng số nhận dạng từ /etc/os-release và %l để thay thế tên máy chủ ngắn.
  • Các tệp đơn vị không còn hỗ trợ cú pháp “.include”, cú pháp này đã không được dùng nữa cách đây 6 năm.
  • Cài đặt StandardError và StandardOutput không còn hỗ trợ các giá trị “syslog” và “syslog-console”, các giá trị này sẽ tự động được chuyển đổi thành “journal” và “journal+console”.
  • Đối với các điểm gắn kết dựa trên tmpfs được tạo tự động (/tmp, /run, /dev/shm, v.v.), các giới hạn về kích thước và số lượng nút được cung cấp, tương ứng với 50% kích thước RAM cho /tmp và /dev/ shm và 10% RAM cho những người khác.
  • Đã thêm tùy chọn dòng lệnh kernel mới: systemd.hostname để đặt tên máy chủ ở giai đoạn khởi động ban đầu, udev.blockdev_read_only để giới hạn tất cả các thiết bị khối được liên kết với ổ đĩa vật lý ở chế độ chỉ đọc (bạn có thể sử dụng lệnh "blockdev --setrw" để hủy có chọn lọc), systemd .swap để tắt kích hoạt tự động phân vùng trao đổi, systemd.clock-usec để đặt đồng hồ hệ thống tính bằng micro giây, systemd.condition-needs-update và systemd.condition-first-boot để ghi đè ConditionNeedsUpdate và ConditionFirstBoot Séc.
  • Theo mặc định, sysctl fs.suid_dumpable được đặt thành 2 (“suidsafe”), cho phép lưu các kết xuất lõi cho các quy trình có cờ suid.
  • Tệp /usr/lib/udev/hwdb.d/60-autosuspend.hwdb đã được mượn vào cơ sở dữ liệu phần cứng từ ChromeOS, bao gồm thông tin về các thiết bị PCI và USB hỗ trợ chế độ ngủ tự động.
  • Cài đặt ManaForeignRoutes đã được thêm vào networkd.conf, khi được bật, systemd-networkd sẽ bắt đầu quản lý tất cả các tuyến được định cấu hình bởi các tiện ích khác.
  • Phần “[SR-IOV]” đã được thêm vào tệp .network để định cấu hình các thiết bị mạng hỗ trợ SR-IOV (Ảo hóa I/O gốc đơn).
  • Trong systemd-networkd, cài đặt IPv4AcceptLocal đã được thêm vào phần “[Mạng]” để cho phép nhận các gói đến có địa chỉ nguồn cục bộ trên giao diện mạng.
  • systemd-networkd đã thêm khả năng định cấu hình các nguyên tắc ưu tiên lưu lượng truy cập HTB thông qua [HierarchyTokenBucket] và
    [HierarchyTokenBucketClass], "pfifo" qua [PFIFO], "GRED" qua [GenericRandomEarlyDetection], "SFB" qua [StochasticFairBlue], "cake"
    qua [CAKE], "PIE" qua [PIE], "DRR" qua [DeficitRoundRobinScheduler] và
    [DeficitRoundRobinSchedulerClass], "BFIFO" qua [BFIFO],
    "PFIFOHeadDrop" qua [PFIFOHeadDrop], "PFIFOFast" qua [PFIFOFast], "HHF"
    thông qua [HeavyHitterFilter], "ETS" thông qua [EnhancedTransmissionSelection],
    "QFQ" qua [QuickFairQueueing] và [QuickFairQueueingClass].

  • Trong systemd-networkd, cài đặt UseGateway đã được thêm vào phần [DHCPv4] để vô hiệu hóa việc sử dụng thông tin cổng thu được qua DHCP.
  • Trong systemd-networkd, trong phần [DHCPv4] và [DHCPServer], cài đặt SendVendorOption đã được thêm để cài đặt và xử lý các tùy chọn bổ sung của nhà cung cấp.
  • systemd-networkd triển khai một bộ tùy chọn EmitPOP3/POP3, EmitSMTP/SMTP và EmitLPR/LPR mới trong phần [DHCPServer] để thêm thông tin về máy chủ POP3, SMTP và LPR.
  • Trong systemd-networkd, trong các tệp .netdev ở phần [Bridge], cài đặt VLANProtocol đã được thêm vào để chọn giao thức VLAN sẽ sử dụng.
  • Trong systemd-networkd, trong các tệp .network trong phần [Liên kết], cài đặt Nhóm được triển khai để quản lý một nhóm liên kết.
  • Cài đặt BlackList đã được đổi tên thành DenyList (giữ nguyên việc xử lý tên cũ để tương thích ngược).
  • Systemd-networkd đã bổ sung một phần lớn cài đặt liên quan đến IPv6 và DHCPv6.
  • Đã thêm lệnh “forcerenew” vào networkctl để buộc tất cả các ràng buộc địa chỉ phải được cập nhật (cho thuê).
  • Trong độ phân giải systemd, trong cấu hình DNS, có thể chỉ định số cổng và tên máy chủ để xác minh chứng chỉ DNS-over-TLS. Việc triển khai DNS-over-TLS đã bổ sung hỗ trợ cho việc kiểm tra SNI.
  • Hiện tại, Systemd-resolved có khả năng định cấu hình chuyển hướng tên DNS một nhãn (nhãn đơn, từ một tên máy chủ).
  • systemd-journald cung cấp hỗ trợ sử dụng thuật toán zstd để nén các trường lớn trong tạp chí. Công việc đã được thực hiện để bảo vệ khỏi xung đột trong bảng băm được sử dụng trong các tạp chí.
  • Các URL có thể nhấp có liên kết đến tài liệu đã được thêm vào tạp chí khi hiển thị thông báo tường trình.
  • Đã thêm cài đặt Kiểm tra vào tạp chí.conf để kiểm soát xem việc kiểm tra có được bật trong quá trình khởi tạo nhật ký hệ thống hay không.
  • Systemd-coredump hiện có khả năng nén các kết xuất lõi bằng thuật toán zstd.
  • Đã thêm cài đặt UUID vào systemd-repart để gán UUID cho phân vùng đã tạo.
  • Dịch vụ systemd-homed, cung cấp khả năng quản lý các thư mục chính di động, đã bổ sung khả năng mở khóa các thư mục chính bằng cách sử dụng mã thông báo FIDO2. Phần phụ trợ mã hóa phân vùng LUKS đã thêm hỗ trợ để tự động trả về các khối hệ thống tệp trống khi phiên kết thúc. Đã thêm tính năng bảo vệ chống mã hóa kép dữ liệu nếu xác định rằng phân vùng /home trên hệ thống đã được mã hóa.
  • Đã thêm cài đặt vào /etc/crypttab: “keyfile-erase” để xóa khóa sau khi sử dụng và “try-empty-password” để thử mở khóa phân vùng bằng mật khẩu trống trước khi nhắc người dùng nhập mật khẩu (hữu ích khi cài đặt hình ảnh được mã hóa với mật khẩu được chỉ định sau lần khởi động đầu tiên, không phải trong khi cài đặt).
  • systemd-cryptsetup bổ sung hỗ trợ mở khóa phân vùng Microsoft BitLocker khi khởi động bằng cách sử dụng /etc/crypttab. Ngoài ra còn thêm khả năng đọc
    các phím để tự động mở khóa phân vùng từ các tệp /etc/cryptsetup-keys.d/ .key và /run/cryptsetup-keys.d/ .chìa khóa.

  • Đã thêm systemd-xdg-autostart-generator để tạo các tệp đơn vị từ các tệp tự khởi động .desktop.
  • Đã thêm lệnh "reboot-to-firmware" vào "bootctl".
  • Đã thêm tùy chọn vào systemd-firstboot: "--image" để chỉ định ảnh đĩa cần khởi động, "--kernel-command-line" để khởi tạo tệp /etc/kernel/cmdline, "--root-password-hash" vào chỉ định hàm băm mật khẩu gốc và "--delete-root-password" để xóa mật khẩu gốc.

Nguồn: opennet.ru

Thêm một lời nhận xét