انتشار مجموعه مینیمالیستی از ابزارهای سیستمی BusyBox 1.32

ارسال شده توسط انتشار بسته BusyBox 1.32 با پیاده سازی مجموعه ای از ابزارهای استاندارد یونیکس، طراحی شده به صورت یک فایل اجرایی و بهینه سازی شده برای حداقل مصرف منابع سیستم با حجم مجموعه ای کمتر از 1 مگابایت. اولین نسخه از شاخه جدید 1.32 به عنوان ناپایدار است، تثبیت کامل در نسخه 1.32.1 ارائه می شود که حدود یک ماه دیگر انتظار می رود. کد پروژه تحت مجوز GPLv2 توزیع شده است.

ماهیت ماژولار BusyBox امکان تشکیل یک فایل اجرایی یکپارچه حاوی مجموعه دلخواه از ابزارهای پیاده سازی شده در بسته را فراهم می کند (هر ابزار به عنوان یک پیوند نمادین به این فایل در دسترس است). اندازه، ترکیب و عملکرد مجموعه ابزارها می تواند بسته به نیازها و قابلیت های پلت فرم تعبیه شده ای که مونتاژ برای آن انجام می شود، متفاوت باشد. بسته مستقل است، هنگامی که به صورت ایستا با uclibc ساخته می شود، برای ایجاد یک سیستم کار در بالای هسته لینوکس، فقط باید چند فایل دستگاه را در دایرکتوری dev ایجاد کنید و فایل های پیکربندی را آماده کنید. در مقایسه با نسخه قبلی 1.31، مصرف رم BusyBox 1.32 3590 بایت افزایش یافته است (از 1011750 به 1015340 بایت).

BusyBox ابزار اصلی در مبارزه با نقض GPL در سیستم عامل است. Software Freedom Conservancy (SFC) و Software Freedom Law Center (SFLC) به نمایندگی از توسعه دهندگان BusyBox، هر دو از طریق دادگاه، و از این طریق نتیجه گیری قراردادهای خارج از دادگاه به طور مکرر بر شرکت هایی که دسترسی به کد منبع برنامه های GPL را فراهم نمی کنند، با موفقیت تأثیر گذاشته است. در همان زمان، نویسنده BusyBox تمام تلاش خود را می کند اشیاء در برابر چنین محافظتی - با این باور که کسب و کار او را خراب می کند.

BusyBox 1.32 تغییرات زیر را برجسته می کند:

  • دستور جدید اضافه شد MIM برای اجرای skippts از یک Mimfile معین (تا حدودی یادآور یک ابزار ساخت حذف شده) است.
  • ابزار Find گزینه "-empty" را برای بررسی فایل های خالی اضافه کرده است.
  • در ابزار wget، محدودیت تعداد تغییر مسیرها افزایش یافته است و پشتیبانی برای بررسی گواهی های TLS با ENABLE_FEATURE_WGET_OPENSSL اجرا شده است.
  • پشتیبانی صحیح از لیست الگوها (pattern_list) را به grep اضافه کرد و گزینه "-R" را اضافه کرد (پردازش بازگشتی محتویات دایرکتوری).
  • حل مشکلاتی که هنگام ساختن در Clang 9 رخ داد و هشدارهای کامپایلر را حذف کرد.
  • تعداد زیادی اصلاحات برای پوسته های فرمان خاکستر و هوس با هدف بهبود سازگاری با پوسته های دیگر پیشنهاد شده است. قابلیت تکمیل خودکار دستورات داخلی با زبانه ها به ash and hush اضافه شده است. دستورات داخلی جدید در خاکستر تثبیت شده اند.
  • ابزار fdisk اکنون از پارتیشن های HFS و HFS+ پشتیبانی می کند.
  • init مدیریت شرایط مسابقه را هنگام دریافت سیگنال بهبود بخشیده است.
  • به ابزار برای نظارت بصری پارامترهای سیستم n متر فرمت خروجی اضافه شده "%NT" (زمان تراز شده با صفر).
  • قابلیت پردازش و نمایش لیستی از CPUها به مجموعه وظایف اضافه شده است (گزینه "-c").
  • در tar، رفتار گزینه "-a" تغییر کرده است، که به جای فعال کردن فشرده سازی "lzma"، اکنون با پسوند فایل با تشخیص خودکار همراه است.
  • Udhcpc6 پشتیبانی از " را اضافه کردبی تابعیت» برای DHCPv6 (سرور فقط پارامترهای شبکه را بدون اختصاص آدرس ارسال می کند).
  • nslookup اکنون از پردازش پاسخ‌ها بدون سوابق RR پشتیبانی می‌کند و پشتیبانی از رکوردهای SRV را اضافه می‌کند.
  • دستورات جدید "showmacs" و "showstp" به brctl اضافه شده است.
  • پشتیبانی از پارامتر "relay server" به dhcpc اضافه شد.
  • اضافه شدن تنظیمات به syslogd برای نمایش زمان با دقت میلی ثانیه.
  • در httpd، هنگام اجرا در حالت NOMMU، تنظیم یک فهرست اصلی دیگر مجاز است و گزینه '-h' هنگام اجرای فرآیند پس‌زمینه کار می‌کند.
  • xargs مدیریت آرگومان های محصور شده در نقل قول را بهبود بخشیده و از رفتار صحیح گزینه "-n" اطمینان حاصل کرده است.
  • رفع اشکالات grep، top، dc، gzip، awk، bc، ntpd، pidof، stat، telnet، tftp، whois، unzip، chgrp، httpd، vi، ابزارهای مسیر.

همچنین ماه گذشته صورت گرفت رهایی Toybox 0.8.3، آنالوگ BusyBox که توسط نگهدارنده سابق BusyBox و توزیع شده است تحت مجوز BSD هدف اصلی Toybox این است که به تولید کنندگان توانایی استفاده از مجموعه حداقلی از ابزارهای استاندارد را بدون باز کردن کد منبع اجزای اصلاح شده ارائه دهد. با توجه به قابلیت های Toybox تاکنون عقب ماندن از BusyBox، اما 272 دستور اصلی (204 به طور کامل و 68 به طور جزئی) از 343 برنامه ریزی شده قبلاً اجرا شده است.

از جمله نوآوری های Toybox 0.8.3 می توان به موارد زیر اشاره کرد:

  • اضافه شدن دستورات جدید rtcwake، blkdiscard، getopt و readelf.
  • "make root" توانایی ایجاد یک محیط بوت کاری را فقط بر اساس هسته لینوکس و ابزارهای Toybox فراهم می کند که می تواند با استفاده از اسکریپت init خودش بارگذاری شود.
  • اضافه شدن پشتیبانی اولیه برای ماژول ها با پیاده سازی مجزا از ابزارهایی که در ToyBox اصلی گنجانده نشده اند.
  • Toysh مترجم دستوری 80% آماده است (هنوز هیچ پشتیبانی از توابع، تاریخچه، مدیریت ترمینال، مشاغل، $((ریاضی))، قالب ها وجود ندارد).
  • اضافه شدن پشتیبانی از گزینه های اضافی به ابزارهای مختلف، از جمله patch، cal، cp، mv، lsattr، chattr، ls، id، netcat و setsid.

منبع: opennet.ru

اضافه کردن نظر