Bản phát hành FreeBSD 13.0

Hai năm rưỡi sau khi hình thành nhánh 12.x, bản phát hành FreeBSD 13.0 đã được trình làng, được chuẩn bị cho các kiến ​​trúc amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv6, armv7, aarch64 và riscv64. Ngoài ra, hình ảnh được tạo 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ững đổi mới chính:

  • Quá trình chuyển đổi sang hệ thống c thống nhất đã hoàn tất. Linux Dự án OpenZFS là phiên bản triển khai hệ thống tệp ZFS. Các tính năng được cung cấp trong FreeBSD sau khi chuyển sang OpenZFS bao gồm: hệ thống hạn ngạch mở rộng, mã hóa tập dữ liệu, lựa chọn lớp phân bổ riêng biệt, sử dụng các lệnh xử lý vectơ để tăng tốc triển khai RAIDZ và tính toán tổng kiểm tra, hỗ trợ thuật toán nén ZSTD, chế độ đa máy chủ (MMP, Multi Modifier Protection), công cụ dòng lệnh được cải tiến và sửa lỗi cho nhiều lỗi xung đột truy cập và lỗi khóa.
  • Cổng dành cho kiến ​​trúc ARM64 (AArch64) đã được chuyển sang cấp hỗ trợ đầu tiên (Cấp 1), được hỗ trợ bởi các nhóm chịu trách nhiệm loại bỏ lỗ hổng bảo mật, chuẩn bị phát hành và duy trì cổng. Mức hỗ trợ đầu tiên liên quan đến việc tạo các tập hợp cài đặt, cập nhật nhị phân và các gói làm sẵn, cũng như cung cấp các đảm bảo để giải quyết các vấn đề cụ thể và duy trì ABI không thay đổi cho môi trường người dùng và kernel (ngoại trừ một số hệ thống con).
  • Kiến trúc i386 đã được chuyển sang cấp độ hỗ trợ nền tảng thứ hai (Cấp 2), tại đó việc hình thành các cụm cài đặt, cập nhật nhị phân và các gói tạo sẵn sẽ tiếp tục, nhưng không đảm bảo giải pháp cho các vấn đề cụ thể. Loại CPU mặc định (CPUTYPE) cho kiến ​​trúc i386 đã được thay đổi từ 486 thành 686 (nếu muốn, các cụm cho i486 và i586 có thể được tạo độc lập).
  • Các thành phần clang, lld, lldb, Compiler-rt, llvm, libunwind và libc++ đã được cập nhật lên phiên bản 11.
  • Quá trình phát triển đã được chuyển từ hệ thống kiểm soát nguồn tập trung Subversion sang hệ thống phi tập trung Git.
  • Hệ thống cơ sở đã được làm sạch các ứng dụng được phân phối theo giấy phép GPL. Binutils 2.17 và gcc 4.2.1 đã bị xóa khỏi cây nguồn và tất cả các kiến ​​trúc được hỗ trợ đã được chuyển sang bộ công cụ LLVM/clang. Bao gồm các phiên bản được cấp phép BSD của các tiện ích grep và dtc (Trình biên dịch cây thiết bị), thay thế các phiên bản được cấp phép GPL. Quá trình gắn kết tự động của AMD đã bị xóa, chức năng của quá trình này hiện được triển khai thông qua autofs. Tiện ích ctm đã bị xóa và thay vào đó nên sử dụng cổng misc/ctm.
  • Ngăn xếp định tuyến đã được viết lại để bao gồm hỗ trợ cho các đối tượng nexthop lưu trữ dữ liệu trạng thái được sử dụng để chuyển tiếp gói đến đích mong muốn. Đã thêm khả năng kết nối các thuật toán tìm kiếm tuyến đường của riêng bạn. Đã thêm các thuật toán tìm kiếm tuyến đường từ librte DPDK (Bộ công cụ phát triển mặt phẳng dữ liệu), cho phép bạn tối ưu hóa công việc với các bảng định tuyến rất lớn. Đối với các yêu cầu proxyarp, giao diện fib được sử dụng. Đã thêm khả năng thay đổi số fib một cách nhanh chóng thông qua sysctl net.fibs. Đã triển khai hỗ trợ cho các tuyến tạm thời cho IPv4 và IPv6 (với thời gian tồn tại đã đặt).
  • Hỗ trợ định tuyến đa đường đã được viết lại và có khả năng mở rộng cao hơn, trong đó thời gian tìm kiếm không phụ thuộc vào kích thước danh sách (O(1)). Việc triển khai Multipath mới hiện được liên kết với tham số kernel ROUTE_MPATH, tham số này đã thay thế RADIX_MPATH và được bật theo mặc định. Để quản lý Multipath, sysctl net.route.multipath được đề xuất.
  • Khung mật mã được triển khai ở cấp hạt nhân đã được thiết kế lại, bổ sung hỗ trợ cho các thuật toán mã hóa hiện đại và đơn giản hóa giao diện để sử dụng mã hóa trong trình điều khiển và các thành phần hạt nhân khác. Đã xóa các thuật toán lỗi thời ARC4, Blowfish, CAST128, DES, DES, MD5-HMAC và Skipjack. IPsec và Kerberos không còn hỗ trợ các thuật toán không được chấp nhận bởi RFC 8221 và RFC 6649/8429, bao gồm cả 3DES. Đã xóa các thuật toán không dùng nữa đã được công bố trước đó trong hệ thống con mã hóa đĩa geli và cryptodev.
  • Hạt nhân GENERIC bao gồm hỗ trợ cho trình điều khiển aesni và armv8crypto để tăng tốc mã hóa ổ đĩa dựa trên geli bằng cách sử dụng hướng dẫn AES-NI cho kiến ​​trúc amd64/i386 và AES-XTS cho ARM64.
  • Đã thêm trình điều khiển qat cho trình tăng tốc mật mã Intel QuickAssist (QAT) và trình điều khiển ossl với việc triển khai các quy trình mã hóa phần mềm được tăng tốc từ OpenSSL, được tối ưu hóa bằng mã hợp ngữ. Trình điều khiển armv8crypto bổ sung hỗ trợ cho AES-XTS và AES-GCM bằng cách sử dụng các hướng dẫn tương ứng cho bộ xử lý ARMv8.
  • Đã thêm triển khai TLS (kTLS) chạy ở cấp hạt nhân FreeBSD, cho phép tăng đáng kể hiệu suất mã hóa cho các ổ cắm TCP. Các phiên bản TLS được hỗ trợ 1.0 đến 1.3. Để mã hóa, trình điều khiển mật mã hạt nhân hỗ trợ AES-CBC hoặc AES-GCM được sử dụng. Việc sử dụng kTLS trong không gian người dùng yêu cầu xây dựng lại OpenSSL bằng tùy chọn WITH_OPENSSL_KTLS.
  • Đã thêm một loại bộ đệm mạng mới, mbuf (bộ đệm dữ liệu mạng), có thể biểu thị nhiều trang bộ nhớ vật lý chưa được ánh xạ trong một bộ đệm, giúp cải thiện hiệu suất của lệnh gọi sendfile(2) bằng cách giảm kích thước danh sách mbuf trong bộ đệm ổ cắm.
  • Ngăn xếp TCP tích hợp hỗ trợ thuật toán giảm cường độ gửi gói theo tỷ lệ (Giảm tỷ lệ tỷ lệ, RFC 6937), cho phép bạn nhanh chóng khôi phục các tham số luồng tối ưu sau các sự cố tạm thời với việc truyền dữ liệu. Để tắt PRR, sysctl net.inet.tcp.do_prr được cung cấp.
  • Các khả năng của hypervisor Bhyve đã được mở rộng: Đã thêm hỗ trợ chia sẻ tập tin bằng VirtIO-9p (VirtFS). Hỗ trợ ảnh chụp nhanh (snapshot) đã được triển khai. máy ảoĐã thêm hỗ trợ cho các thiết bị PCI HDAudio và các cổng nối tiếp bổ sung COM3 và COM4. Loại bỏ các mô hình thiết bị bvmconsole và bvmdebug lỗi thời. Cải thiện độ ổn định với các máy khách VNC, bao gồm... macOS- Ứng dụng chia sẻ màn hình.
  • Trình điều khiển VirtIO đã bổ sung hỗ trợ cho đặc tả VirtIO V1, giúp cải thiện khả năng tương thích của khách FreeBSD với nhiều trình giả lập và trình ảo hóa khác nhau.
  • Đối với các quy trình được gắn vào môi trường tù, việc chuyển đổi các liên kết CPU được cung cấp (cpuset ban đầu được liên kết với quy trình sẽ được thay thế có tính đến cpuset của tù và các giới hạn được đặt ra).
  • Khả năng xây dựng hệ thống cơ bản FreeBSD trong môi trường dựa trên các hệ điều hành khác đã được bổ sung. Nhu cầu xây dựng trên các hệ điều hành khác xuất phát từ mong muốn sử dụng các công cụ tích hợp liên tục để kiểm thử FreeBSD, vốn dựa trên... Linux hoặc macOS.
  • Ngăn xếp MMC/SD mới được đề xuất, dựa trên khung CAM và cho phép bạn kết nối các thiết bị với giao diện SDIO (I/O kỹ thuật số an toàn). Ví dụ: SDIO được sử dụng trong các mô-đun WiFi và Bluetooth cho nhiều bo mạch, chẳng hạn như Raspberry Pi 3. Ngăn xếp mới cũng cho phép sử dụng giao diện CAM để gửi lệnh SD từ các ứng dụng trong không gian người dùng, giúp có thể tạo thiết bị trình điều khiển hoạt động ở cấp độ người dùng.
  • Cải thiện hiệu suất lớp xen kẽ để tương thích với LinuxCác tệp DTS (Device Tree Sources) được đồng bộ hóa với nhân hệ điều hành. Linux 5.8.
  • Đã thêm hỗ trợ cho NFSv4.2 (RFC-7862) và triển khai khả năng vận hành NFS qua kênh liên lạc được mã hóa dựa trên TLS 1.3, thay vì sử dụng Kerberos (chế độ sec=krb5p), chế độ này bị giới hạn chỉ mã hóa các tin nhắn RPC và đã được triển khai chỉ có trong phần mềm.
  • Phiên bản lỗi thời của trình gỡ lỗi GDB, vốn được cài đặt trước đó trong thư mục /usr/libexec và được sử dụng trong tiện ích Crashinfo, đã bị xóa. Thay vì cài đặt sẵn GDB, để có được thông tin chi tiết về nguyên nhân gây ra sự cố, hiện tại, bạn nên cài đặt phiên bản GDB mới nhất từ ​​các cổng hoặc gói. Hỗ trợ gỡ lỗi quy trình thông qua Procfs đã bị ngừng. Trình điều khiển netgdb đã được thêm vào, cho phép truy cập vào trình gỡ lỗi kernel qua mạng.
  • Chức năng không an toàn đã bị xóa khỏi libc (bắt đầu từ tiêu chuẩn C11, chức năng này đã bị loại khỏi đặc tả) và các cổng vẫn sử dụng chức năng này đã được điều chỉnh. Đã xóa các hàm cap_random (nên sử dụng getrandom).
  • Đã thêm lệnh gọi hệ thống copy_file_range mới tương thích với triển khai của nhân hệ điều hành. Linux và cho phép tăng tốc độ sao chép dữ liệu từ tập tin này sang tập tin khác bằng cách thực hiện thao tác chỉ ở phía nhân hệ điều hành mà không cần đọc dữ liệu vào bộ nhớ tiến trình trước. Lệnh gọi hệ thống này cũng được sử dụng trong người phục vụ NFSv4.2 dùng để thực hiện các thao tác sao chép cục bộ trên máy chủ (mà không cần truyền đến máy khách).
  • Công cụ I/O không đồng bộ POSIX AIO giới thiệu hỗ trợ cho các chức năng được vectơ hóa. Đặc biệt, các lệnh gọi hệ thống aio_writev và aio_readv đã được thêm vào, cho phép triển khai các giá trị tương đương được vector hóa của các hàm aio_read và aio_write.
  • Các thành phần không gian người dùng đã ngừng hoạt động để hỗ trợ định dạng tệp thực thi a.out trên hệ thống kiến ​​trúc i386. Tiện ích elf2aout đã bị xóa.
  • Các tiện ích ping và ping6 đã được kết hợp. Khả năng thiết lập các thông số chất lượng dịch vụ (QoS) thông qua IP DSCP và Ethernet PCP đã được thêm vào ping.
  • Tiện ích freebsd-update hiện hiển thị tiến trình tải xuống tệp và thêm các lệnh updateready và showconfig để kiểm tra các bản cập nhật và hiển thị cấu hình.
  • Nhiều công việc đã được thực hiện để cải thiện khả năng hỗ trợ cho hệ thống NUMA (Truy cập bộ nhớ không đồng nhất).
  • Đã cập nhật trình điều khiển đồ họa và các thành phần ngăn xếp đồ họa. Các vấn đề với hoạt động của môi trường dựa trên giao thức Wayland đã được giải quyết.
  • Đã thêm hệ thống con đèn nền để tạo trình điều khiển đèn nền. Đã thêm trình điều khiển đèn nền pwm để điều khiển đèn nền Pinebook và Pinebook Pro.
  • Hỗ trợ cho giao thức SCTP được bao gồm trong một mô-đun sctp.ko riêng biệt, mô-đun này bị tắt theo mặc định trong hạt nhân GENERIC.
  • Đối với các thiết bị đầu vào, trình điều khiển usbhid mới đã được đề xuất sử dụng khung hid để hoạt động với các thiết bị USB HID, thay vì trình điều khiển ukbd, ums và uhid.
  • Trình điều khiển cpufreq hỗ trợ công nghệ Intel Speed ​​Shift.
  • Đã thêm hỗ trợ cho các bo mạch mới dựa trên CPU ARMv64 8-bit, bao gồm SoC Broadcom BCM5871X và NXP LS1046A.
  • Đối với kiến ​​trúc AMD64, hỗ trợ địa chỉ ảo 57-bit (LA57) được triển khai. Đã thêm hỗ trợ cho CPU x86 Hygon Dhyana của Trung Quốc dựa trên công nghệ AMD.
  • Cổng dành cho kiến ​​trúc powerpc64 đã được chuyển sang sử dụng LLVM và ELFv2 ABI (các tệp nhị phân từ các phiên bản trước của FreeBSD sẽ không thể được sử dụng trong FreeBSD 13). Các driver virtio, ixl, mrsas, aacraid, cpld đã được port sang powerpc64.
  • Trình điều khiển cho bộ điều hợp Ethernet cũ đã bị xóa:
    • bm(4) BMAC
    • cs(4) Chất bán dẫn tinh thể CS8900/CS8920
    • de(4) DEC DC21x4x
    • ed(4) NE-2000 và WD-80×3
    • ep(4) 3Com Etherlink III (3c5x9) ISA
    • ex(4) Intel EtherExpress Pro/10 và Pro/10+
    • fe(4) Fujitsu MB86960A/MB86965A
    • hme(4) Sun Vi điện tử STP2002-STQ
    • pcn(4) AMD PCnet
    • sf(4) Starfire
    • sn(4) SMC 91Cxx
    • tl(4) Texas Instruments ThunderLAN
    • tx(4) SMC 83c17x
    • txp(4) 3Com 3XP Typhoon/Sidewinder (3CR990)
    • vx(4) 3Com EtherLink III / Fast EtherLink III (3c59x) PCI
    • wb(4) Winbond W89C840F
    • xe(4) Xircom PCMCIA
  • Đã xóa trình điều khiển ubsec (bộ tăng tốc mật mã Broadcom BCM58xx), ufm (bộ thu sóng FM có giao diện USB), ctau (Cronix Tau), cx (Cronix Sigma) và vpo (SCSI cổng song song).

Nguồn: opennet.ru

Mua dịch vụ lưu trữ đáng tin cậy cho các trang web có bảo vệ DDoS, máy chủ VPS VDS 🔥 Mua dịch vụ hosting website đáng tin cậy với bảo vệ DDoS, máy chủ VPS VDS | ProHoster