การเปิดตัวชุดยูทิลิตี้ระบบที่เรียบง่าย BusyBox 1.32

แนะนำ การเปิดตัวแพ็คเกจ BusyBox 1.32 ด้วยการใช้งานชุดยูทิลิตี้ UNIX มาตรฐานซึ่งออกแบบเป็นไฟล์ปฏิบัติการเดียวและปรับให้เหมาะสมสำหรับการใช้ทรัพยากรระบบน้อยที่สุดโดยมีขนาดที่ตั้งไว้น้อยกว่า 1 MB การเปิดตัวครั้งแรกของสาขาใหม่ 1.32 อยู่ในตำแหน่งที่ไม่เสถียร และจะมีความเสถียรเต็มรูปแบบในเวอร์ชัน 1.32.1 ซึ่งคาดว่าจะใช้เวลาประมาณหนึ่งเดือน รหัสโครงการได้รับการเผยแพร่ภายใต้ใบอนุญาต GPLv2

ลักษณะโมดูลาร์ของ BusyBox ทำให้สามารถสร้างไฟล์ปฏิบัติการแบบรวมหนึ่งไฟล์ที่มีชุดยูทิลิตี้ตามอำเภอใจที่ใช้งานในแพ็คเกจ (แต่ละยูทิลิตี้มีอยู่ในรูปแบบของลิงก์สัญลักษณ์ไปยังไฟล์นี้) ขนาด องค์ประกอบ และฟังก์ชันการทำงานของคอลเลกชันยูทิลิตี้อาจแตกต่างกันไป ขึ้นอยู่กับความต้องการและความสามารถของแพลตฟอร์มฝังตัวที่กำลังดำเนินการประกอบ แพ็คเกจนี้มีอยู่ในตัวเอง เมื่อสร้างแบบคงที่ด้วย uclibc เพื่อสร้างระบบการทำงานบนเคอร์เนล Linux คุณจะต้องสร้างไฟล์อุปกรณ์หลายไฟล์ในไดเร็กทอรี /dev และเตรียมไฟล์การกำหนดค่า เมื่อเปรียบเทียบกับรุ่นก่อนหน้า 1.31 ปริมาณการใช้ RAM ของแอสเซมบลี BusyBox 1.32 ทั่วไปเพิ่มขึ้น 3590 ไบต์ (จาก 1011750 เป็น 1015340 ไบต์)

BusyBox เป็นเครื่องมือหลักในการต่อสู้กับการละเมิด GPL ในเฟิร์มแวร์ Software Freedom Conservancy (SFC) และ Software Freedom Law Center (SFLC) ในนามของนักพัฒนา BusyBox ทั้งผ่านทาง ศาลและทางนี้ ข้อสรุป ข้อตกลงนอกศาลมีอิทธิพลต่อบริษัทที่ไม่สามารถเข้าถึงซอร์สโค้ดของโปรแกรม GPL ได้สำเร็จหลายครั้ง ในขณะเดียวกัน ผู้เขียน BusyBox ก็พยายามอย่างเต็มที่ วัตถุ ต่อต้านการคุ้มครองดังกล่าว - เชื่อว่าเป็นการทำลายธุรกิจของเขา

การเปลี่ยนแปลงต่อไปนี้ถูกเน้นใน BusyBox 1.32:

  • เพิ่มคำสั่งใหม่แล้ว ฉัน เพื่อเรียกใช้ skipts จาก Mimfile ที่กำหนด (ค่อนข้างชวนให้นึกถึงยูทิลิตี้ make ที่แยกออกมา);
  • ยูทิลิตี้ค้นหาได้เพิ่มตัวเลือก "-empty" เพื่อตรวจสอบไฟล์ว่าง
  • ในยูทิลิตี้ wget ได้มีการขยายขีดจำกัดจำนวนการเปลี่ยนเส้นทาง และรองรับการตรวจสอบใบรับรอง TLS ด้วย ENABLE_FEATURE_WGET_OPENSSL แล้ว
  • เพิ่มการสนับสนุนที่ถูกต้องสำหรับรายการรูปแบบ (pattern_list) เพื่อ grep และเพิ่มตัวเลือก "-R" (การประมวลผลเนื้อหาไดเร็กทอรีแบบเรียกซ้ำ)
  • แก้ไขปัญหาที่เกิดขึ้นเมื่อสร้างใน Clang 9 และกำจัดคำเตือนของคอมไพเลอร์
  • มีการนำเสนอการแก้ไขจำนวนมากสำหรับเชลล์คำสั่ง ash และ hush โดยมีจุดมุ่งหมายเพื่อปรับปรุงความเข้ากันได้กับเชลล์อื่นๆ เพิ่มความสามารถในการเติมคำสั่งในตัวอัตโนมัติด้วยแท็บลงใน Ash และ Hush คำสั่งในตัวใหม่ได้รับความเสถียรในเถ้าถ่าน
  • ยูทิลิตี้ fdisk รองรับพาร์ติชัน HFS และ HFS+ แล้ว
  • init ได้ปรับปรุงการจัดการสภาพการแข่งขันเมื่อได้รับสัญญาณ
  • ไปยังยูทิลิตี้สำหรับการตรวจสอบพารามิเตอร์ระบบด้วยภาพ นาโนเมตร เพิ่มรูปแบบเอาต์พุต "%NT" (เวลาสอดคล้องกับศูนย์)
  • เพิ่มความสามารถในการประมวลผลและแสดงรายการ CPU ในชุดงานแล้ว (ตัวเลือก "-c");
  • ใน tar ลักษณะการทำงานของตัวเลือก "-a" มีการเปลี่ยนแปลง ซึ่งแทนที่จะเปิดใช้งานการบีบอัด "lzma" ตอนนี้เชื่อมโยงกับการตรวจจับอัตโนมัติด้วยนามสกุลไฟล์
  • Udhcpc6 เพิ่มการรองรับสำหรับ "ไร้สัญชาติ» สำหรับ DHCPv6 (เซิร์ฟเวอร์ส่งเฉพาะพารามิเตอร์เครือข่ายโดยไม่ต้องกำหนดที่อยู่)
  • ขณะนี้ nslookup รองรับการประมวลผลการตอบสนองโดยไม่มีบันทึก RR และเพิ่มการรองรับบันทึก SRV
  • มีการเพิ่มคำสั่งใหม่ "showmacs" และ "showstp" ใน brctl;
  • เพิ่มการรองรับพารามิเตอร์ "เซิร์ฟเวอร์รีเลย์" ให้กับ dhcpc
  • เพิ่มการตั้งค่าให้กับ syslogd เพื่อแสดงเวลาด้วยความแม่นยำระดับมิลลิวินาที
  • ใน httpd เมื่อทำงานในโหมด NOMMU อนุญาตให้ตั้งค่าโฮมไดเร็กตอรี่อื่นได้ และตัวเลือก '-h' จะทำงานเมื่อรันกระบวนการเบื้องหลัง
  • xargs ได้ปรับปรุงการจัดการข้อโต้แย้งที่อยู่ในเครื่องหมายคำพูดและรับรองการทำงานที่ถูกต้องของตัวเลือก “-n”
  • แก้ไขข้อบกพร่องใน grep, top, dc, gzip, awk, bc, ntpd, pidof, stat, telnet, tftp, whois, unzip, chgrp, httpd, vi, ยูทิลิตี้เส้นทาง

เดือนที่แล้วด้วย ไปยังสถานที่ ปล่อย กล่องของเล่น 0.8.3ซึ่งเป็นอะนาล็อกของ BusyBox พัฒนาโดยอดีตผู้ดูแล BusyBox และ กระจาย ภายใต้ใบอนุญาต BSD วัตถุประสงค์หลักของ Toybox คือเพื่อให้ผู้ผลิตสามารถใช้ชุดยูทิลิตี้มาตรฐานที่เรียบง่ายโดยไม่ต้องเปิดซอร์สโค้ดของส่วนประกอบที่แก้ไข ตามความสามารถของ Toybox จนถึงตอนนี้ ล้าหลัง จาก BusyBox แต่มีการนำคำสั่งพื้นฐาน 272 คำสั่งไปใช้แล้ว (204 คำสั่งทั้งหมดและ 68 คำสั่งบางส่วน) จาก 343 คำสั่งที่วางแผนไว้

ในบรรดานวัตกรรมของ Toybox 0.8.3 เราสามารถสังเกตได้:

  • เพิ่มคำสั่งใหม่ rtcwake, blkdiscard, getopt และ readelf;
  • “ make root” มอบความสามารถในการสร้างสภาพแวดล้อมการบูตที่ใช้งานได้โดยใช้เคอร์เนล Linux และยูทิลิตี้ Toybox เท่านั้น ซึ่งสามารถโหลดได้โดยใช้สคริปต์เริ่มต้นของตัวเอง
  • เพิ่มการรองรับเบื้องต้นสำหรับโมดูลที่มีการใช้งานยูทิลิตี้แยกกันซึ่งไม่รวมอยู่ใน ToyBox หลัก
  • ล่ามคำสั่ง toysh พร้อมแล้ว 80% (ยังไม่มีการรองรับฟังก์ชัน ประวัติ การจัดการเทอร์มินัล งาน $((คณิตศาสตร์)) เทมเพลต);
  • เพิ่มการรองรับตัวเลือกเพิ่มเติมสำหรับยูทิลิตี้ต่างๆ รวมถึง patch, cal, cp, mv, lsattr, chattr, ls, id, netcat และ setsid

ที่มา: opennet.ru

เพิ่มความคิดเห็น