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

giới thiệu phát hành gói BusyBox 1.31 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.31 đượ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.31.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.30 trước đó, mức tiêu thụ RAM của cụm BusyBox 1.31 điển hình đã giảm 86 byte (từ 1008478 xuống 1008392 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.31:

  • Đã thêm các lệnh mới: ts (triển khai máy khách và máy chủ cho giao thức TSP (Giao thức tem thời gian)) và i2ctransfer (tạo và gửi tin nhắn I2C);
  • Đã thêm hỗ trợ cho các tùy chọn DHCP vào udhcp 100 (thông tin múi giờ) và 101 (tên múi giờ trong cơ sở dữ liệu TZ) cho IPv6;
  • Đã thêm hỗ trợ cho các liên kết tên máy chủ tĩnh cho máy khách trong udhcpd;
  • Vỏ tro và vỏ im lặng triển khai các chữ số "BASE#nnnn". Việc triển khai lệnh ulimit đã được làm cho tương thích với bash, bao gồm các tùy chọn “-i RLIMIT_SIGPENDING” và “-q RLIMIT_MSGQUEUE”. Đã thêm hỗ trợ cho "chờ -n". Đã thêm các biến EPOCH tương thích với bash;
  • Shell im lặng triển khai biến "$-" liệt kê các tùy chọn shell được bật theo mặc định;
  • Mã để truyền giá trị bằng tham chiếu đã được chuyển sang bc từ thượng nguồn, hỗ trợ cho các hàm void đã được thêm và khả năng hoạt động với các giá trị ibase lên đến 36;
  • Trong brctl, tất cả các lệnh đã được chuyển đổi để hoạt động bằng cách sử dụng pseudo-FS /sys;
  • Mã của tiện ích fsync và sync đã được hợp nhất;
  • Việc triển khai httpd đã được cải thiện. Cải thiện việc xử lý các tiêu đề HTTP và hoạt động ở chế độ proxy. Danh sách các loại MIME bao gồm SVG và JavaScript;
  • Tùy chọn “-c” đã được thêm vào losttup (bắt buộc kiểm tra kỹ kích thước tệp được liên kết với thiết bị lặp), cũng như tùy chọn quét phân vùng. mount và losttup cung cấp hỗ trợ để làm việc bằng cách sử dụng /dev/loop-control;
  • Trong ntpd, giá trị SLEW_THRESHOLD đã tăng từ 0.125 lên 0.5;
  • Đã thêm hỗ trợ gán giá trị null cho sysctl;
  • Đã thêm hỗ trợ cho các giá trị phân số trong tùy chọn “-n SEC” để xem;
  • Đã thêm khả năng chạy mdev làm quy trình nền;
  • Tiện ích wget triển khai cờ “-o” để chỉ định tệp cần ghi nhật ký. Đã thêm thông báo về việc bắt đầu và hoàn thành tải xuống;
  • Đã thêm hỗ trợ cho lệnh AYT IAC vào telnetd;
  • Đã thêm lệnh 'dG' vào vi (xóa nội dung từ dòng hiện tại đến cuối tệp);
  • Đã thêm tùy chọn 'oflag=append' vào lệnh dd;
  • Cờ '-H' đã được thêm vào tiện ích hàng đầu để cho phép quét từng luồng riêng lẻ.

Ngoài ra, hai tuần trước đã diễn ra giải phóng Hộp đồ chơi 0.8.1, 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 188 lệnh cơ bản trong số 220 lệnh được lên kế hoạch đã được triển khai.

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

  • Đã đạt được mức độ chức năng đủ để xây dựng Android trong môi trường dựa trên các tiện ích Toybox.
  • Các lệnh mcookie và devmem mới được bao gồm, đồng thời các lệnh tar, gunzip và zcat được viết lại sẽ được chuyển khỏi nhánh thử nghiệm.
  • Một triển khai mới của vi đã được đề xuất để thử nghiệm.
  • Lệnh find hiện hỗ trợ tùy chọn "-wholename/-iwholename".
    "-printf" và "-context";

  • Đã thêm tùy chọn "--exclude-dir" vào grep;
  • Echo hiện hỗ trợ tùy chọn "-E".
  • Đã thêm hỗ trợ "UUID" để gắn kết.
  • Lệnh ngày bây giờ tính đến múi giờ được chỉ định trong biến môi trường TZ.
  • Đã thêm hỗ trợ cho phạm vi tương đối (+N) cho sed.
  • Cải thiện khả năng đọc của đầu ra ps, top và iotop.

Nguồn: opennet.ru

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