Sau hai năm rưỡi kể từ khi xuất bản nhánh 13.0, bản phát hành FreeBSD 14.0 đã được hình thành. Hình ảnh cài đặt được chuẩn bị cho các kiến trúc amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv7, aarch64 và riscv64. Ngoài ra, các tập hợp đã được chuẩn bị cho các hệ thống ảo hóa (QCOW2, VHD, VMDK, raw) và môi trường đám mây Amazon EC2, Google Computer Engine và Vagrant. Nhánh FreeBSD 14 sẽ là nhánh cuối cùng hỗ trợ nền tảng 32 bit. FreeBSD 15 sẽ chỉ hỗ trợ hệ thống 64 bit nhưng vẫn giữ khả năng xây dựng chương trình 32 bit và sử dụng chế độ COMPAT_FREEBSD32 để chạy các tệp thực thi 32 bit trong môi trường 64 bit.
Sự thay đổi chính:
- Shell mặc định cho người dùng root là /bin/sh.
- Đối với thiết bị NVME, trình điều khiển nda được bật theo mặc định trên tất cả các nền tảng. Để trả lại trình điều khiển nvd cũ, cài đặt “hw.nvme.use_nvd=1” được cung cấp trong Loader.conf.
- Một tiện ích mới "fwget" đã được thêm vào để xác định phần cứng yêu cầu chương trình cơ sở và cài đặt các gói chương trình cơ sở thích hợp. Hiện tại chỉ hỗ trợ các thiết bị PCI và chương trình cơ sở cho GPU Intel và AMD.
- Đã thêm tiện ích base64 mới để mã hóa và giải mã dữ liệu base64.
- Đã thêm tiện ích tcpsso, cho phép bạn đặt các tùy chọn ổ cắm cho các kết nối TCP hiện có (ví dụ: bạn có thể thay đổi mô-đun kiểm soát tắc nghẽn hoặc ngăn xếp TCP).
- Tác nhân gửi thư mặc định là dma (Tác nhân thư DragonFly) thay vì sendmail. Sendmail vẫn được giữ nguyên trong gói cơ bản và cập nhật lên phiên bản 8.17.1.
- KTLS, triển khai hạt nhân FreeBSD của giao thức TLS, bổ sung hỗ trợ tăng tốc phần cứng TLS 1.3 ở phía nhận. Khả năng tăng tốc được đảm bảo bằng cách chuyển một số thao tác liên quan đến việc xử lý các gói được mã hóa sang phía card mạng.
- Lệnh “.include” đã được thêm vào tệp cấu hình jail.conf, cho phép bạn bao gồm các tệp bổ sung khi tải cấu hình, các đường dẫn cho phép sử dụng mặt nạ. Tham số sysctl security.bsd.see_jail_proc đã được mở rộng, với sự trợ giúp của nó, giờ đây những người dùng trái phép trong môi trường tù riêng biệt có thể bị cấm buộc chấm dứt, thay đổi mức độ ưu tiên và các quy trình gỡ lỗi.
- Các chương trình pw và bsdinstall bây giờ tạo người dùng trong thư mục /home theo mặc định thay vì /usr/home. Liên kết tượng trưng cho "/home" trỏ tới "/usr/home" không còn được tạo nữa.
- Theo mặc định, cài đặt bản dựng HỒ SƠ bị tắt - các phiên bản được định hình của thư viện hệ thống không còn được cung cấp nữa, thay vào đó nên sử dụng các công cụ định hình phần cứng (hwpmc).
- Cho phép xây dựng các tệp thực thi cho kiến trúc 64 bit ở chế độ PIE (Có thể thực thi độc lập với vị trí).
- Khả năng chuyển tiếp quyền truy cập vào TPM (Mô-đun nền tảng đáng tin cậy) và GPU (trong môi trường ảo cho chip AMD và Intel) đã được thêm vào bộ ảo hóa Bhyve.
- Việc triển khai hệ thống tệp ZFS đã được cập nhật lên bản phát hành OpenZFS 2.2. Tiện ích makefs đã thêm hỗ trợ cho hệ thống tệp ZFS. Cung cấp khả năng tạo nhóm ZFS được liên kết với một đĩa ảo vdev.
- Số lượng lõi CPU được hỗ trợ (tham số MAXCPU) trong các hệ thống dựa trên kiến trúc amd256 và arm1024 đã tăng từ 64 lên 64.
- Trong UFS, đối với các cấu hình có bật tính năng ghi nhật ký (cập nhật phần mềm), việc kiểm tra lý lịch của hệ thống tệp được phép sử dụng ảnh chụp nhanh UFS. Kiểm tra băm bổ sung đã được thêm vào siêu khối, bản đồ nhóm trụ và nút để phát hiện tham nhũng.
- Đã thêm hệ thống tệp tarfs, có thể được sử dụng với kho lưu trữ tar được nén bằng zstd.
- Đã thêm bộ công cụ boottrace để theo dõi các sự kiện xảy ra trong quá trình khởi động và tắt hệ thống.
- Đã thêm tùy chọn cấu hình kernel FIRECRACKER để cho phép FreeBSD chạy trên hệ thống ảo hóa Firecracker, hệ thống này được thiết kế để chạy các máy ảo với chi phí tối thiểu. Thời gian khởi động hạt nhân FreeBSD 14 chạy Firecracker đã tăng lên 25 mili giây, cho phép bạn khởi chạy môi trường FreeBSD khi cần để triển khai cơ sở hạ tầng máy tính không có máy chủ.
- Trình tải, được viết bằng Lua, trong môi trường hộp cát đặc biệt, hỗ trợ thực thi các tệp lua nằm trong thư mục Loader_conf_files.
- Hỗ trợ NFS đã được mở rộng. Đã thêm tùy chọn gắn kết mới "syskrb5" để hỗ trợ Kerberos trong NFSv 4.1/4.2 và thêm hỗ trợ cho hoạt động ExchangeID. Đã triển khai khả năng chạy nfsd, nfsuserd, mountd, gssd và rpc.tlsservd trong môi trường mạng vnet bị cô lập.
- Tập lệnh Growfs triển khai khả năng đặt phân vùng trao đổi ở cuối vùng có thể mở rộng trên đĩa.
- Một nhà cung cấp DTrace kinst mới (dtrace_kinst) đã được thêm vào, cho phép theo dõi cấu trúc hạt nhân.
- Hỗ trợ cho thuật toán mã hóa XChaCha20-Poly1035 AEAD đã được thêm vào hệ thống con mật mã hạt nhân và một API đã được thêm để sử dụng đường cong elip Curve25519 (dành cho WireGuard).
- Giảm thời gian khởi động lại. Đã thêm tham số sysctl kern.reboot_wait_time, qua đó bạn có thể thay đổi độ trễ trước khi khởi động lại thực tế sau khi tất cả các thông báo chẩn đoán được xuất ra bảng điều khiển. Theo mặc định, độ trễ sẽ bị loại bỏ.
- Hệ thống con timerfd đã được thêm vào kernel, giúp việc chuyển các chương trình từ Linux trở nên dễ dàng hơn.
- Đã thêm sysctl machdep.mitigations.zenbleed.enable để chặn lỗ hổng Zenbleed trên bộ xử lý AMD Zen2.
- Hỗ trợ Wi-Fi 6 đã được thêm vào wpa_supplicant và Hostapd. Trình điều khiển iwlwifi hỗ trợ các chip Intel hỗ trợ Wi-Fi 6E AX411/AX211/AX210.
- Nhân trên hệ thống amd64 cung cấp hỗ trợ cho các công cụ addressSanitizer và MemorySanitizer từ dự án LLVM.
- Các tập lệnh rc.d cho phép sử dụng phương thức trạng thái, ngay cả khi tên chương trình (procname) và tệp PID không được xác định trong tập lệnh.
- Tốc độ truyền của cổng nối tiếp kernel, bootloader và không gian người dùng mặc định đã được tăng từ 9600 bps lên 115200 bps. Âm bíp mặc định được đặt thành 800Hz. Tích hợp với devd được cung cấp để phát ra tiếng bíp thông qua card âm thanh. Đối với bảng điều khiển vt, tiếng bíp bị tắt theo mặc định (để bật nó, bạn cần chạy các lệnh “sysctl kern.vt.enable_bell=1” và “kbdcontrol -b normal”).
- Cải thiện hỗ trợ cho kiến trúc tăng tốc phần cứng mạng NXP DPAA2 (Data Path Acceleration Architecture Gen2).
- Đã thêm trình điều khiển igc cho bộ điều khiển Ethernet Intel I225, hỗ trợ tốc độ 2.5 Gbps.
- Theo mặc định, cài đặt net.inet.tcp.nolocaltimewait được bật, cài đặt này sẽ vô hiệu hóa việc tạo bản ghi thời gian chờ cho các kết nối TCP bị chấm dứt ở phía hệ thống cục bộ.
- Hỗ trợ cho giao thức truyền thông Netlink (RFC 3549), được sử dụng trong Linux để tổ chức tương tác giữa kernel với các tiến trình trong không gian người dùng, đã được mở rộng và bật theo mặc định. Một số tiện ích mạng đã được chuyển đổi để sử dụng Netlink.
- Bộ lọc gói pf cung cấp khả năng tương thích với cú pháp và hành vi của các hoạt động chuẩn hóa gói (chà rửa) của phiên bản OpenBSD của pf. pfsync triển khai khả năng sử dụng truyền tải IPv6. Định dạng gói pfsync đã được mở rộng để hỗ trợ hàng đợi, chuẩn hóa gói và quy tắc định tuyến.
- Đã được thêm vào giao diện mạng if_stf (IPv6 qua IPv4). Hỗ trợ IPv6 Triển khai nhanh (RFC 5969). Chế độ nodeinfo IPv6 (RFC 4620) bị tắt theo mặc định.
- Tham số net.inet.tcp.nolocaltimewait sysctl được bật theo mặc định, vô hiệu hóa việc tạo các mục nhập trạng thái timewait cho các kết nối TCP bị chấm dứt cục bộ.
- Theo mặc định, TCP sử dụng cơ chế kiểm soát tắc nghẽn mạng CUBIC thay vì NewReno, cho phép sử dụng băng thông sẵn có nhiều hơn.
- IPv4 vô hiệu hóa việc gửi các gói quảng bá đến địa chỉ mạng con 0 trừ khi địa chỉ đó được khai báo rõ ràng là địa chỉ quảng bá. Thay đổi cho phép máy chủ sử dụng địa chỉ kết thúc bằng ".XNUMX".
- Cài đặt OpenSSH đã được thay đổi: trong scp, giao thức SFTP được bật theo mặc định thay vì scp/rcp, hỗ trợ cho chữ ký RSA/SHA-1 bị tắt, các tham số VerifyHostKeyDNS và X11Forwarding được đặt thành “no”, lệnh VersionAddendum bị xóa, hỗ trợ cho cài đặt HPN bị loại bỏ.
- Đã thêm tùy chọn "-z" vào tiện ích ngày để chuyển đổi múi giờ.
- Tùy chọn “--color” đã được thêm vào tiện ích khác biệt để trực quan hóa các thay đổi màu sắc.
- Tiện ích giấc ngủ hiện hỗ trợ các đơn vị không phải giây (ví dụ: bạn có thể chỉ định “ngủ 1h 30 phút”).
- Hỗ trợ cho các tùy chọn “-q” và “-h” đã được thêm vào các tiện ích đầu và đuôi, đồng thời triển khai khả năng chỉ định các giá trị có hậu tố trong hệ thống đơn vị SI quốc tế. Trong phần đầu, giới hạn số dòng tối đa là 2^31 đã bị xóa.
- Đã thêm lệnh "iolat" vào tiện ích sysat để hiển thị thông tin về độ trễ I/O được tính toán bởi bộ lập lịch CAM.
- Thư viện libncursesw được chia thành hai thư viện, libtinfow và libncursesw. Đã thêm hỗ trợ cho việc sử dụng cơ sở dữ liệu terminfo trong ncurses chứ không chỉ termcap.
- Đối với kiến trúc aarch64 (arm64), tùy chọn xây dựng COMPAT_LIB32 đã được triển khai và bật theo mặc định, cung cấp tập hợp các thư viện 32-bit cho hệ thống ARM64 cho phép chạy các tệp thực thi được biên dịch cho nền tảng armv7.
- Cải thiện hỗ trợ cho các hệ thống đám mây. Các bản dựng thử nghiệm với hệ thống tệp gốc ZFS và cloud-init đã được thêm vào AWS EC2. Đối với Azure, hình ảnh được cung cấp cho kiến trúc arm64 và amd64, với lựa chọn UFS hoặc ZFS. Đã thêm trình điều khiển cho card mạng ảo gve (Google Virtual NIC).
- Hệ thống ACPI đã bổ sung hỗ trợ cho giá trị ngưỡng _CR3, cho phép bạn đặt nhiệt độ khi đạt đến nhiệt độ mà hệ thống sẽ chuyển sang chế độ ngủ (S3).
- Các phiên bản cập nhật của ứng dụng và thư viện bên thứ ba có trong hệ thống cơ sở: OpenSSH 9.5p1, OpenSSL 3.0.12 (nhánh 1.1.1 trước đây đã được sử dụng), awk 2021072, bc 6.6.0, libbsdxml 2.4.7, libfido2 1.13.0 , tcpdump 4.99.4 , libpcap 1.10.4, xz 5.4.3, zlib 1.3, zstd 1.5.2. Việc triển khai tiện ích objdump đã được thay thế bằng llvm-objump. Trình biên dịch Clang đã được cập nhật lên nhánh 16.
- Hệ thống lỗi thời đã được làm sạch:
- Hỗ trợ mật khẩu một lần OPIE đã bị xóa khỏi hệ thống cơ sở (cổng bảo mật/opie có thể được đặt để tiếp tục sử dụng).
- Trình điều khiển cho card âm thanh có giao diện ISA đã bị xóa.
- Các tiện ích fmtree và minigzip đã bị xóa.
- Đã xóa các thành phần ATM trong netgraph (NgATM).
- Quá trình nền telnetd đã bị xóa (bạn có thể sử dụng cổng net/freebsd-telnetd).
- Đã xóa lớp VINUM trong geom.
- Đã xóa các trình điều khiển amr, iscsi_initiator, iir, mn, mly, nlmrsa và twa đã lỗi thời.
- Tham số VESA đã bị xóa khỏi lõi GENERIC và MINIMAL.
- Hỗ trợ cho các hoạt động mã hóa bất đối xứng đã bị xóa khỏi khung mật mã cấp hạt nhân OCF (Khung mã hóa mở).
- Tiện ích mergemaster không còn được dùng nữa và cần được thay thế bằng etcupdate.
- Tiện íchportsnap đã bị xóa (bạn nên sử dụng "git clone https://git.FreeBSD.org/ports.git /usr/ports" để trích xuất cổng).
- Việc tạo các tổ hợp cho kiến trúc armv6 đã bị dừng lại.
- Đã xóa hỗ trợ cho kiến trúc MIPS.
Nguồn: opennet.ru
