Phát hành bộ tiện ích hệ thống tối giản BusyBox 1.32

giới thiệu phát hành gói BusyBox 1.32 với việc triển khai một bộ tiện ích UNIX tiêu chuẩn, được thiết kế dưới dạng một tệp thực thi duy nhất và được tối ưu hóa để tiêu thụ tối thiểu tài nguyên hệ thống với kích thước bộ dưới 1 MB. Bản phát hành đầu tiên của nhánh mới 1.32 được coi là không ổn định, tính năng ổn định hoàn toàn sẽ được cung cấp trong phiên bản 1.32.1, dự kiến ​​​​trong khoảng một tháng. Mã dự án được phân phối theo giấy phép GPLv2.

Bản chất mô-đun của BusyBox cho phép tạo một tệp thực thi thống nhất chứa một bộ tiện ích tùy ý được triển khai trong gói (mỗi tiện ích có sẵn ở dạng liên kết tượng trưng đến tệp này). Kích thước, thành phần và chức năng của bộ sưu tập các tiện ích có thể khác nhau tùy thuộc vào nhu cầu và khả năng của nền tảng nhúng mà quá trình lắp ráp đang được tiến hành. Gói này khép kín; khi được xây dựng tĩnh bằng uclibc, để tạo một hệ thống hoạt động trên nhân Linux, bạn chỉ cần tạo một số tệp thiết bị trong thư mục /dev và chuẩn bị các tệp cấu hình. So với bản phát hành 1.31 trước đó, mức tiêu thụ RAM của cụm BusyBox 1.32 điển hình đã tăng thêm 3590 byte (từ 1011750 lên 1015340 byte).

BusyBox là công cụ chính trong cuộc chiến chống vi phạm GPL trong phần sụn. Tổ chức Bảo vệ Tự do Phần mềm (SFC) và Trung tâm Luật Tự do Phần mềm (SFLC) thay mặt cho các nhà phát triển BusyBox, cả hai đều thông qua tòa án, và theo cách này kết luận các thỏa thuận ngoài tòa án đã nhiều lần gây ảnh hưởng thành công đến các công ty không cung cấp quyền truy cập vào mã nguồn của các chương trình GPL. Đồng thời, tác giả của BusyBox cố gắng hết sức để các đối tượng chống lại sự bảo vệ đó - tin rằng nó sẽ hủy hoại công việc kinh doanh của anh ta.

Những thay đổi sau được đánh dấu trong BusyBox 1.32:

  • Lệnh mới được thêm vào tôi để chạy các Skippt từ một Mimfile nhất định (phần nào gợi nhớ đến một tiện ích tạo đơn giản);
  • Tiện ích find đã thêm tùy chọn “-empty” để kiểm tra các tập tin trống;
  • Trong tiện ích wget, giới hạn số lượng chuyển hướng đã được mở rộng và hỗ trợ kiểm tra chứng chỉ TLS với ENABLE_FEATURE_WGET_OPENSSL đã được triển khai;
  • Đã thêm hỗ trợ chính xác cho danh sách các mẫu (pattern_list) vào grep và thêm tùy chọn “-R” (xử lý đệ quy nội dung thư mục);
  • Đã giải quyết các vấn đề xảy ra khi xây dựng trong Clang 9 và loại bỏ các cảnh báo của trình biên dịch;
  • Một số lượng lớn các bản sửa lỗi đã được đề xuất cho các shell lệnh tro và im lặng, nhằm cải thiện khả năng tương thích với các shell khác. Khả năng tự động hoàn thành các lệnh tích hợp bằng tab đã được thêm vào tro và im lặng. Các lệnh tích hợp mới đã được ổn định trong tro.
  • Tiện ích fdisk hiện hỗ trợ các phân vùng HFS và HFS+;
  • init đã cải thiện khả năng xử lý các điều kiện tương tranh khi nhận được tín hiệu;
  • Tiện ích giám sát trực quan các thông số hệ thống nmet đã thêm định dạng đầu ra "%NT" (thời gian được căn chỉnh bằng số không);
  • Khả năng xử lý và hiển thị danh sách CPU đã được thêm vào tasket (tùy chọn “-c”);
  • Trong tar, hành vi của tùy chọn "-a" đã được thay đổi, thay vì bật tính năng nén "lzma", giờ đây nó được liên kết với tính năng tự động phát hiện bằng phần mở rộng tệp;
  • Udhcpc6 đã thêm hỗ trợ cho "không quốc tịch» đối với DHCPv6 (máy chủ chỉ gửi các tham số mạng mà không gán địa chỉ);
  • nslookup hiện hỗ trợ xử lý các phản hồi không có bản ghi RR và thêm hỗ trợ cho bản ghi SRV;
  • Các lệnh mới "showmacs" và "showstp" đã được thêm vào brctl;
  • Đã thêm hỗ trợ cho tham số "máy chủ chuyển tiếp" cho dhcpc;
  • Đã thêm cài đặt vào syslogd để hiển thị thời gian với độ chính xác đến mili giây;
  • Trong httpd, khi chạy ở chế độ NOMMU, được phép đặt một thư mục chính khác và tùy chọn '-h' hoạt động khi chạy một tiến trình nền;
  • xargs đã cải thiện việc xử lý các đối số được đặt trong dấu ngoặc kép và đảm bảo hoạt động chính xác của tùy chọn “-n”;
  • Đã sửa lỗi trong các tiện ích grep, top, dc, gzip, awk, bc, ntpd, pidof, stat, telnet, tftp, whois, unzip, chgrp, httpd, vi, Route.

Ngoài ra, tháng trước đã diễn ra giải phóng Hộp đồ chơi 0.8.3, một dạng tương tự của BusyBox, được phát triển bởi người bảo trì BusyBox trước đây và phân phối theo giấy phép BSD. Mục đích chính của Toybox là cung cấp cho các nhà sản xuất khả năng sử dụng một bộ tiện ích tiêu chuẩn tối giản mà không cần mở mã nguồn của các thành phần đã sửa đổi. Theo khả năng của Toybox cho đến nay tụt hậu từ BusyBox, nhưng 272 lệnh cơ bản đã được triển khai (204 lệnh hoàn chỉnh và 68 lệnh một phần) trong tổng số 343 lệnh được lên kế hoạch.

Trong số những đổi mới của Toybox 0.8.3, chúng ta có thể lưu ý:

  • Đã thêm các lệnh mới rtcwake, blkdiscard, getopt và readelf;
  • “make root” cung cấp khả năng tạo môi trường khởi động hoạt động chỉ dựa trên nhân Linux và các tiện ích Toybox, có thể được tải bằng tập lệnh init của chính nó;
  • Đã thêm hỗ trợ ban đầu cho các mô-đun có triển khai các tiện ích riêng biệt không có trong ToyBox chính;
  • Trình thông dịch lệnh Toysh đã sẵn sàng 80% (chưa có hỗ trợ cho các chức năng, lịch sử, quản lý thiết bị đầu cuối, công việc, $((math)), mẫu);
  • Đã thêm hỗ trợ cho các tùy chọn bổ sung cho các tiện ích khác nhau, bao gồm patch, cal, cp, mv, lsattr, chattr, ls, id, netcat và setsid.

Nguồn: opennet.ru

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