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

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

ماهیت ماژولار BusyBox امکان تشکیل یک فایل اجرایی یکپارچه حاوی مجموعه دلخواه از ابزارهای پیاده سازی شده در بسته را فراهم می کند (هر ابزار به عنوان یک پیوند نمادین به این فایل در دسترس است). اندازه، ترکیب و عملکرد مجموعه ابزارها می تواند بسته به نیازها و قابلیت های پلت فرم تعبیه شده ای که مونتاژ برای آن انجام می شود، متفاوت باشد. بسته مستقل است، هنگامی که به صورت ایستا با uclibc ساخته می شود، برای ایجاد یک سیستم کار در بالای هسته لینوکس، فقط باید چند فایل دستگاه را در دایرکتوری dev ایجاد کنید و فایل های پیکربندی را آماده کنید. در مقایسه با نسخه قبلی 1.33، مصرف رم BusyBox 1.34 9620 بایت افزایش یافته است (از 1032724 به 1042344 بایت).

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

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

  • یک ابزار جدید ascii با یک جدول تعاملی از نام کاراکترهای ASCII اضافه شده است.
  • یک ابزار جدید crc32 برای محاسبه جمع‌های چک اضافه شده است.
  • سرور http داخلی از روش های DELETE، PUT و OPTIONS پشتیبانی می کند.
  • Udhcpc امکان تغییر نام رابط شبکه پیش فرض را فراهم می کند.
  • اجرای پروتکل های TLS اکنون از منحنی های بیضی secp256r1 (P256) پشتیبانی می کند.
  • توسعه پوسته های فرماندهی خاکستر و خاموش ادامه یافته است. در حالت خاموش، مدیریت دستور ^D با رفتار ash و bash مطابقت دارد، ساختار $str' مخصوص bash پیاده‌سازی شده است، و عملیات جایگزینی ${var/pattern/repl} انجام شده است. بهینه شده
  • بخش بزرگی از اصلاحات و بهبودها در اجرای ابزار awk انجام شده است.
  • برای نادیده گرفتن کاراکترهای نامعتبر گزینه "-i" را به برنامه های کاربردی base32 و base64 اضافه کرد.
  • در ابزارهای bc و dc، مدیریت متغیرهای محیطی BC_LINE_LENGTH و DC_LINE_LENGTH نزدیک به ابزارهای GNU است.
  • گزینه های --getra و --setra به ابزار blockdev اضافه شد.
  • گزینه "-p" به ابزارهای chattr و lsattr اضافه شده است. lsattr تعداد پرچم های پشتیبانی شده ext2 FS را افزایش داده است.
  • گزینه های "-n" (غیرفعال کردن بازنویسی) و "-t DIR" (دایرکتوری هدف را مشخص کنید) به ابزار cp اضافه شده اند.
  • در cpio، ساختار "cpio -d -p A/B/C" تنظیم شده است.
  • گزینه "-t TYPE" به ابزار df اضافه شده است (خروجی را به یک نوع فایل خاص محدود می کند).
  • گزینه -b به du utility اضافه شد (معادل '—apparent-size—block-size=1').
  • گزینه "-0" به ابزار env اضافه شد (هر خط را با یک کاراکتر با کد صفر خاتمه می دهد).
  • گزینه "-h" (خروجی قابل خواندن) به ابزار رایگان اضافه شده است.
  • گزینه "-t" (نادیده گرفتن خرابی ها) به ابزار ionice اضافه شد.
  • ابزار ورود اکنون از متغیر محیطی LOGIN_TIMEOUT پشتیبانی می کند.
  • گزینه های "-t" (مشخص کردن دایرکتوری مورد نظر برای جابجایی) و "-T" (با آرگومان دوم به عنوان یک فایل) به ابزار mv اضافه شده است.
  • گزینه "-s SIZE" (تعداد بایت هایی که باید پاک شوند) به ابزار خرد کردن اضافه شده است.
  • گزینه "-a" به ابزار مجموعه وظایف اضافه شده است.
  • ابزارهای Timeout، top، watch و ping اکنون از مقادیر غیر صحیح (NN.N) پشتیبانی می کنند.
  • گزینه "-z" به ابزار uniq اضافه شده است (از کاراکتر با کد صفر به عنوان جداکننده استفاده کنید).
  • گزینه "-t" (بررسی بایگانی) به ابزار unzip اضافه شده است.
  • ویرایشگر vi اجازه استفاده از عبارات منظم در دستور ':s' را می دهد. گزینه expandtab اضافه شد. پیاده سازی های بهبود یافته برای جابجایی بین پاراگراف ها، انتخاب محدوده ها و لغو تغییرات.
  • ابزار xxd گزینه های -i (خروجی به سبک C) ​​و -o DISPLAYOFFSET را پیاده سازی می کند.
  • ابزار wget امکان پردازش کدهای HTTP 307/308 را برای تغییر مسیرها فراهم می کند. گزینه FEATURE_WGET_FTP برای فعال/غیرفعال کردن پشتیبانی FTP اضافه شده است.
  • گزینه "iflag=count_bytes" به ابزار dd اضافه شد.
  • ابزار برش گزینه های سازگار با جعبه اسباب بازی "-O OUTSEP"، "-D" و "-F LIST" را اجرا می کند.

منبع: opennet.ru

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