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

Sau bốn tháng phát triển, bản phát hành của trình quản lý hệ thống systemd 248. Bản phát hành mới cung cấp hỗ trợ hình ảnh để mở rộng thư mục hệ thống, tệp cấu hình /etc/veritytab, tiện ích systemd-cryptenroll, mở khóa LUKS2 bằng chip TPM2 và FIDO2 mã thông báo, các đơn vị đang chạy trong không gian định danh IPC biệt lập, giao thức BATMAN cho mạng lưới, phần phụ trợ nftables cho systemd-nspawn. Systemd-oomd đã được ổn định.

Sự thay đổi chính:

  • Khái niệm về hình ảnh Tiện ích mở rộng Hệ thống đã được triển khai, có thể được sử dụng để mở rộng thứ bậc của các thư mục /usr/ và /opt/, đồng thời thêm các tệp bổ sung khi chạy, ngay cả khi các thư mục được chỉ định được gắn ở chế độ chỉ đọc. Khi hình ảnh tiện ích mở rộng hệ thống được gắn kết, nội dung của nó sẽ được phủ lên hệ phân cấp /usr/ và /opt/ bằng OverlayFS.

    Một tiện ích mới, systemd-sysext, đã được đề xuất để kết nối, ngắt kết nối, xem và cập nhật hình ảnh của các phần mở rộng hệ thống. Để tự động kết nối các image đã được cài đặt trong khi khởi động, dịch vụ systemd-sysext.service đã được thêm vào. Đã thêm tham số "SYSEXT_LEVEL=" vào tệp os-release để xác định mức độ mở rộng hệ thống được hỗ trợ.

  • Đối với các đơn vị, cài đặt ExtensionImages đã được triển khai, cài đặt này có thể được sử dụng để liên kết các hình ảnh tiện ích mở rộng hệ thống với hệ thống phân cấp không gian tên FS của các dịch vụ riêng lẻ.
  • Đã thêm tệp cấu hình /etc/veritytab để định cấu hình xác minh dữ liệu ở cấp khối bằng mô-đun dm-verity. Định dạng tệp tương tự như /etc/crypttab - “section_name device_for_data device_for_hashes check_hash_root tùy chọn.” Đã thêm tùy chọn dòng lệnh kernel systemd.verity.root_options để định cấu hình hành vi dm-verity cho thiết bị gốc.
  • systemd-cryptsetup bổ sung khả năng trích xuất URI mã thông báo PKCS#11 và khóa được mã hóa từ tiêu đề siêu dữ liệu LUKS2 ở định dạng JSON, cho phép tích hợp thông tin về việc mở thiết bị được mã hóa vào chính thiết bị đó mà không liên quan đến các tệp bên ngoài.
  • systemd-cryptsetup cung cấp hỗ trợ mở khóa các phân vùng được mã hóa LUKS2 bằng chip TPM2 và mã thông báo FIDO2, ngoài các mã thông báo PKCS#11 được hỗ trợ trước đó. Việc tải libfido2 được thực hiện thông qua dlopen(), tức là tính khả dụng được kiểm tra nhanh chóng chứ không phải là một sự phụ thuộc có dây cứng.
  • Các tùy chọn mới "no-write-workqueue" và "no-read-workqueue" đã được thêm vào /etc/crypttab cho systemd-cryptsetup để cho phép xử lý đồng bộ I/O liên quan đến mã hóa và giải mã.
  • Tiện ích systemd-repart đã bổ sung khả năng kích hoạt các phân vùng được mã hóa bằng chip TPM2, chẳng hạn như để tạo phân vùng /var được mã hóa trong lần khởi động đầu tiên.
  • Tiện ích systemd-cryptenroll đã được thêm vào để liên kết các mã thông báo TPM2, FIDO2 và PKCS#11 với các phân vùng LUKS, cũng như bỏ ghim và xem mã thông báo, liên kết các khóa dự phòng và đặt mật khẩu để truy cập.
  • Đã thêm tham số PrivateIPC, cho phép bạn định cấu hình tệp đơn vị để chạy các quy trình trong không gian IPC bị cô lập với mã nhận dạng và hàng đợi tin nhắn riêng. Để kết nối một thiết bị với không gian định danh IPC đã được tạo, tùy chọn IPCNamespacePath được đề xuất.
  • Đã thêm cài đặt ExecPaths và NoExecPaths để cho phép áp dụng cờ noexec cho các phần cụ thể của hệ thống tệp.
  • systemd-networkd bổ sung hỗ trợ cho giao thức lưới BATMAN (Phương pháp tiếp cận tốt hơn với mạng Adhoc di động), cho phép tạo các mạng phi tập trung trong đó mỗi nút được kết nối thông qua các nút lân cận. Đối với cấu hình, phần [BatmanAdvanced] trong .netdev, tham số BatmanAdvanced trong tệp .network và loại thiết bị mới “batadv” được đề xuất.
  • Việc triển khai cơ chế phản hồi sớm đối với bộ nhớ thấp trong hệ thống systemd-oomd đã được ổn định. Đã thêm tùy chọn DefaultMemoryPressureDurationSec để định cấu hình thời gian chờ tài nguyên được giải phóng trước khi ảnh hưởng đến một đơn vị. Systemd-oomd sử dụng hệ thống con hạt nhân PSI (Thông tin về trạng thái ngừng áp suất) và cho phép bạn phát hiện sự khởi đầu của sự chậm trễ do thiếu tài nguyên và chấm dứt có chọn lọc các quy trình sử dụng nhiều tài nguyên ở giai đoạn khi hệ thống chưa ở trạng thái quan trọng và không bắt đầu cắt xén mạnh bộ nhớ đệm và chuyển dữ liệu vào phân vùng trao đổi.
  • Đã thêm tham số dòng lệnh kernel “root=tmpfs”, cho phép bạn gắn phân vùng gốc vào bộ lưu trữ tạm thời nằm trong RAM bằng Tmpfs.
  • Tham số /etc/crypttab chỉ định tệp khóa hiện có thể trỏ đến các loại ổ cắm AF_UNIX và SOCK_STREAM. Trong trường hợp này, khóa phải được cung cấp khi kết nối với ổ cắm, chẳng hạn, khóa này có thể được sử dụng để tạo các dịch vụ cấp khóa động.
  • Tên máy chủ dự phòng để người quản lý hệ thống và systemd-hostnamed sử dụng hiện có thể được đặt theo hai cách: thông qua tham số DEFAULT_HOSTNAME trong bản phát hành os và thông qua biến môi trường $SYSTEMD_DEFAULT_HOSTNAME. systemd-hostnamed cũng xử lý "localhost" trong tên máy chủ và thêm khả năng xuất tên máy chủ cũng như các thuộc tính "HardwareVendor" và "HardwareModel" thông qua DBus.
  • Giờ đây, khối có các biến môi trường được hiển thị có thể được cấu hình thông qua tùy chọn ManagerEnvironment mới trong system.conf hoặc user.conf, chứ không chỉ thông qua dòng lệnh kernel và cài đặt tệp đơn vị.
  • Tại thời điểm biên dịch, có thể sử dụng lệnh gọi hệ thống fexecve() để bắt đầu các tiến trình thay vì execve() để giảm độ trễ giữa việc kiểm tra bối cảnh bảo mật và áp dụng nó.
  • Đối với các tệp đơn vị, các hoạt động có điều kiện mới ConditionSecurity=tpm2 và ConditionCPUFeature đã được thêm vào để kiểm tra sự hiện diện của các thiết bị TPM2 và khả năng của từng CPU (ví dụ: ConditionCPUFeature=rdrand có thể được sử dụng để kiểm tra xem bộ xử lý có hỗ trợ hoạt động RDRAND hay không).
  • Đối với các hạt nhân có sẵn, việc tạo bảng gọi hệ thống tự động cho các bộ lọc seccomp đã được triển khai.
  • Đã thêm khả năng thay thế các liên kết gắn kết mới vào không gian tên gắn kết hiện có của dịch vụ mà không cần khởi động lại dịch vụ. Việc thay thế được thực hiện bằng lệnh 'systemctl bind ...' và 'hình ảnh gắn kết systemctl …'.
  • Đã thêm hỗ trợ để chỉ định đường dẫn trong cài đặt StandardOutput và StandardError ở dạng “cắt ngắn: » để vệ sinh trước khi sử dụng.
  • Đã thêm khả năng thiết lập kết nối tới phiên của người dùng được chỉ định trong vùng chứa cục bộ vào sd-bus. Ví dụ: "systemctl -user -M lennart@ start quux".
  • Các tham số sau được triển khai trong tệp systemd.link trong phần [Liên kết]:
    • Lăng nhăng - cho phép bạn chuyển thiết bị sang chế độ "lăng nhăng" để xử lý tất cả các gói mạng, bao gồm cả những gói không được gửi đến hệ thống hiện tại;
    • TransmitQueues và AcceptQueues để cài đặt số lượng hàng đợi TX và RX;
    • TransmitQueueLength để đặt kích thước hàng đợi TX; GenericSegmentOffloadMaxBytes và GenericSegmentOffloadMaxSegment để đặt giới hạn cho việc sử dụng công nghệ GRO (Giảm tải nhận chung).
  • Cài đặt mới đã được thêm vào tệp systemd.network:
    • [Network] RouteTable để chọn bảng định tuyến;
    • [RoutingPolicyRule] Loại cho loại định tuyến ("lỗ đen, "không thể truy cập", "cấm");
    • [IPv6AcceptRA] RouteDenyList và RouteAllowList để biết danh sách các quảng cáo tuyến đường được phép và bị từ chối;
    • [DHCPv6] UseAddres để bỏ qua địa chỉ do DHCP cấp;
    • [DHCPv6PrefixDelegation] Quản lý địa chỉ tạm thời;
    • ActivationPolicy để xác định chính sách liên quan đến hoạt động giao diện (luôn duy trì trạng thái LÊN hoặc XUỐNG hoặc cho phép người dùng thay đổi trạng thái bằng lệnh “ip link set dev”).
  • Đã thêm các tùy chọn [VLAN] Protocol, IngressQOSMaps, EgressQOSMaps và [MACVLAN] BroadcastMulticastQueueLength vào các tệp systemd.netdev để định cấu hình xử lý gói Vlan.
  • Đã dừng gắn thư mục /dev/ ở chế độ noexec vì nó gây ra xung đột khi sử dụng cờ thực thi với các tệp /dev/sgx. Để trả về hành vi cũ, bạn có thể sử dụng cài đặt NoExecPaths=/dev.
  • Quyền của tệp /dev/vsock đã được thay đổi thành 0o666 và các tệp /dev/vhost-vsock và /dev/vhost-net đã được chuyển sang nhóm kvm.
  • Cơ sở dữ liệu ID phần cứng đã được mở rộng với đầu đọc dấu vân tay USB hỗ trợ chính xác chế độ ngủ.
  • hỗ trợ bổ sung được giải quyết bởi systemd để đưa ra phản hồi cho các truy vấn DNSSEC thông qua trình phân giải sơ khai. Các máy khách cục bộ có thể tự thực hiện xác thực DNSSEC, trong khi các máy khách bên ngoài được ủy quyền không thay đổi cho máy chủ DNS gốc.
  • Đã thêm tùy chọn CacheFromLocalhost vào Resolve.conf, khi được đặt, systemd-resolved sẽ sử dụng bộ nhớ đệm ngay cả đối với các cuộc gọi đến máy chủ DNS tại 127.0.0.1 (theo mặc định, bộ nhớ đệm của các yêu cầu đó bị tắt để tránh bộ nhớ đệm kép).
  • systemd-resolved bổ sung hỗ trợ cho NSID RFC-5001 trong trình phân giải DNS cục bộ, cho phép khách hàng phân biệt giữa các tương tác với trình phân giải cục bộ và máy chủ DNS khác.
  • Tiện ích Resolvectl triển khai khả năng hiển thị thông tin về nguồn dữ liệu (bộ đệm cục bộ, yêu cầu mạng, phản hồi của bộ xử lý cục bộ) và việc sử dụng mã hóa khi truyền dữ liệu. Các tùy chọn --cache, --synthesize, --network, --zone, --trust-anchor và --validate được cung cấp để kiểm soát quá trình xác định tên.
  • systemd-nspawn bổ sung hỗ trợ định cấu hình tường lửa bằng nftables bên cạnh hỗ trợ iptables hiện có. Thiết lập IPMasquerade trong systemd-networkd đã bổ sung khả năng sử dụng chương trình phụ trợ dựa trên nftables.
  • systemd-localed đã thêm hỗ trợ để gọi locale-gen để tạo các ngôn ngữ bị thiếu.
  • Các tùy chọn --pager/-no-pager/-json= đã được thêm vào nhiều tiện ích khác nhau để bật/tắt chế độ phân trang và xuất ra ở định dạng JSON. Đã thêm khả năng đặt số lượng màu được sử dụng trong thiết bị đầu cuối thông qua biến môi trường SYSTEMD_COLORS (“16” hoặc “256”).
  • Bản dựng có hệ thống phân cấp thư mục riêng biệt (split / và /usr) và hỗ trợ cgroup v1 đã không còn được dùng nữa.
  • Nhánh chính trong Git đã được đổi tên từ 'master' thành 'main'.

Nguồn: opennet.ru

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