Sau hơn ba tháng phát triển, sự ra mắt của phiên bản mới của hệ thốngd 259. Bản cập nhật này giới thiệu những thay đổi về kiến trúc hệ thống, nhấn mạnh tính mở đối với các thư viện tiêu chuẩn thay thế, quản lý quyền hạn chặt chẽ hơn và các yêu cầu kỹ thuật khắt khe hơn cho các phiên bản tương lai.
Một trong những xu hướng được bàn luận nhiều nhất trong chu kỳ này là sự chuyển đổi sang tính mô-đun cao hơn và loại bỏ các phụ thuộc cũ, mở đường cho một hệ sinh thái Linux chắc chắn đang dần rời xa các tiêu chuẩn của những thập kỷ trước.
Các tính năng mới chính của systemd 259
Phiên bản systemd mới 259 nổi bật nhờ những tính năng vượt trội. Phiên bản đầu tiên bổ sung khả năng tương thích một phần với Musl., thư viện chuẩn C phổ biến trong các bản phân phối nhẹ và môi trường nhúng. Sự tích hợp này Việc này được quản lý thông qua tùy chọn libc trong hệ thống biên dịch Meson. Tuy nhiên, do Musl không triển khai chức năng NSS (Name Service Switch), nên một số thành phần systemd vẫn bị vô hiệu hóa trong cấu hình này.
Trong số đónhững sự vắng mặt đáng chú ý khi biên soạn với Musl họ là nss-systemd, nss-resolve, systemd-homed, systemd-userdbd và tham số DynamicUserHơn nữa, không thể chạy systemd-nspawn mà không có quyền quản trị dưới thư viện này. Các nhà phát triển đã cảnh báo rằng việc duy trì hỗ trợ này trong các phiên bản tương lai sẽ phụ thuộc vào nhu cầu của cộng đồng và tính ổn định của bất kỳ lớp tương thích bổ sung nào được phát triển.
Một tính năng mới khác của phiên bản mới là trong tiện ích run0Được thiết kế như một giải pháp thay thế hiện đại và an toàn cho sudo, vốn đã nhận được Lựa chọn mới – trao quyền. Chức năng này Nó cho phép bạn đăng nhập với quyền quản trị cao hơn. mà không cần phải thay đổi mã định danh người dùng (UID) thành root.
Bên cạnh đó, thay vì giao toàn quyền kiểm soát Thông qua việc chuyển đổi người dùng, –empower sử dụng các chỉ báo quyền hạn của nhân hệ điều hành, chẳng hạn như CAP_SYS_ADMIN, để cấp các giấy phép cần thiết. để thực hiện các lệnh gọi hệ thống có đặc quyền. Ngoài ra, các tiến trình kết quả được tích hợp vào một nhóm cụ thể cấp cho chúng quyền truy cập vào các hành động của Polkit, duy trì sự phân tách đặc quyền mạnh mẽ hơn so với mô hình sudo truyền thống.
Kết thúc một kỷ nguyên: Tạm biệt System V và những yêu cầu mới.
systemd 259 đánh dấu sự khởi đầu của giai đoạn kết thúc. khả năng tương thích với Các tập lệnh dịch vụ System VĐã có thông báo rằng trong phiên bản tiếp theo, các thành phần cũ như systemd-sysv-generator, systemd-rc-local-generator và systemd-sysv-install sẽ bị loại bỏ vĩnh viễn.
Cùng với việc dọn dẹp mã nguồn cũ, các yêu cầu phần mềm tối thiểu đối với hệ sinh thái systemd đã được nâng cao đáng kể:
- Nhân Linux: Phiên bản tối thiểu 5.10.
- Glibc: 2.34.
- OpenSSL: 3.0.0.
- Util-linux: 2.37.
- Khác: Python 3.9.0, cryptsetup 2.4.0 và libseccomp 2.4.0.
Tính mô đun và tải động trong libsystemd
Como một phần của sáng kiến nhằm giảm sự phụ thuộc. trực tiếp khi khởi động, libsystemd hiện sử dụng phương thức tải động thông qua dlopen(). Đối với các thư viện như libacl, libblkid, libseccomp, libselinux và libmount, hệ thống sẽ chỉ tải các thư viện này vào bộ nhớ khi các chức năng cụ thể của chúng được yêu cầu bởi một tiến trình, tối ưu hóa việc sử dụng tài nguyên. Ngoài ra, chức năng của libcap đã được tích hợp trực tiếp vào libsystemd, đơn giản hóa chuỗi phụ thuộc.
El Cấu hình mặc định của việc xử lý nhật ký đã thay đổi: chế độ lưu trữ nhật ký (Bài viết) thay đổi từ "tự động" sang "liên tục", bất kể thư mục /var/log/journal trước đó có tồn tại hay không.
Trong lĩnh vực mạng và ảo hóa:
- systemd-networkd và systemd-nspawn: Việc hỗ trợ các quy tắc NAT sử dụng iptables đã bị loại bỏ, chỉ còn nftables là tùy chọn tương thích duy nhất.
- systemd-resolved: Giờ đây, nó cho phép sử dụng các hook cục bộ (hooks) trong /run/systemd/resolve.hook/ để can thiệp vào các yêu cầu phân giải tên.
- systemd-importd: Logic để làm việc với các tệp TAR đã được tích hợp sẵn. Hơn nữa, cả `importd` và `machined` giờ đây đều có thể được chạy ở cấp người dùng, cho phép quản lý hình ảnh trong thư mục cục bộ của người dùng (`~/.local/state/machines/`).
Những đổi mới khác
API dựa trên giao thức Varlink đã được nâng cấp để cho phép truy cập vào cài đặt dịch vụ và thực hiện các cuộc gọi IPC. Chẳng hạn như Reload() và Reexecute(). Đối với các quản trị viên hệ thống, việc đưa thuộc tính OOMKills vào các dịch vụ sẽ rất hữu ích, vì nó cho phép họ theo dõi số lần một tiến trình bị chấm dứt do thiếu bộ nhớ trực tiếp từ các công cụ systemd.
Cuối cùng, quy trình khởi động hệ thống trở nên hiện đại hơn với việc loại bỏ hỗ trợ TPM 1.2 trong systemd-boot, tập trung mọi nỗ lực bảo mật vào tiêu chuẩn TPM 2.0.
Nếu bạn muốn biết thêm về nó, bạn có thể tham khảo chi tiết trong liên kết sau.