發布一組簡約的系統實用程式 BusyBox 1.32

介紹 包發布 忙框1.32 實施一組標準 UNIX 實用程序,設計為單一可執行文件,並經過最佳化以最小化系統資源消耗,且集合大小小於 1 MB。 新分支1.32首個版本定位為不穩定,將在1.32.1版本中提供全面穩定,預計一個月左右。 專案代碼根據 GPLv2 許可證分發。

BusyBox 的模組化特性使得建立一個統一的執行檔成為可能,該檔案包含在套件中實現的任意一組實用程式(每個實用程式都以該檔案的符號連結的形式提供)。 實用程式集合的大小、組成和功能可以根據正在執行組裝的嵌入式平台的需求和功能而變化。 該軟體包是獨立的;當使用 uclibc 靜態建置時,要在 Linux 核心之上建立一個工作系統,您只需在 /dev 目錄中建立幾個裝置檔案並準備設定檔。 與先前的版本 1.31 相比,典型 BusyBox 1.32 組件的 RAM 消耗增加了 3590 位元組(從 1011750 位元組增加到 1015340 位元組)。

BusyBox 是對抗韌體中 GPL 違規行為的主要工具。 軟體自由保護協會 (SFC) 和軟體自由法律中心 (SFLC) 代表 BusyBox 開發者,均透過 法庭, 那樣 結論 庭外協議多次成功地影響了那些不提供 GPL 程式原始碼存取權限的公司。 同時,BusyBox的作者也竭盡全力 對象 反對這種保護——相信這會毀了他的生意。

BusyBox 1.32 中反白顯示了以下變更:

  • 新增了新命令 MIM 從給定的 Mimfile 執行skipts(有點讓人想起精簡的 make 實用程式);
  • find 實用程式新增了「-empty」選項來檢查空白檔案;
  • 在 wget 實用程式中,擴展了重定向數量的限制,並實現了對使用 ENABLE_FEATURE_WGET_OPENSSL 檢查 TLS 憑證的支援;
  • 為 grep 新增了對模式清單 (pattern_list) 的正確支持,並新增了「-R」選項(目錄內容的遞歸處理);
  • 解決了在 Clang 9 中建置時出現的問題並消除了編譯器警告;
  • 針對 ash 和 hush 命令 shell 提出了大量修復,旨在提高與其他 shell 的兼容性。 ash 和 hush 中新增了使用標籤自動完成內建指令的功能。 新的內建指令已在 ash 中穩定下來。
  • fdisk 實用程式現在支援 HFS 和 HFS+ 分割區;
  • init 改善了接收訊號時對競爭條件的處理;
  • 用於系統參數可視化監控的實用程序 奈米 新增了輸出格式“%NT”(時間與零對齊);
  • 任務集中新增了處理和顯示 CPU 清單的功能(選項「-c」);
  • 在 tar 中,「-a」選項的行為已更改,它不再啟用「lzma」壓縮,而是與檔案副檔名的自動偵測相關聯;
  • Udhcpc6 添加了對“無狀態的» 對於 DHCPv6(伺服器僅傳送網路參數,不分配位址);
  • nslookup 現在支援處理沒有 RR 記錄的回應,並且增加了對 SRV 記錄的支援;
  • brctl 中新增了新指令「showmacs」和「showstp」;
  • 新增了對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 實用程式的工作引導環境的能力,可以使用自己的 init 腳本載入;
  • 新增了具有單獨實現的實用程式(未包含在主 ToyBox 中)的模組的初始支援;
  • 命令解釋器 toysh 已準備就緒 80%(尚不支援函數、歷史記錄、終端管理、作業、$((math))、範本);
  • 新增了對各種實用程式的附加選項的支持,包括 patch、cal、cp、mv、lsattr、chattr、ls、id、netcat 和 setsid。

來源: opennet.ru

添加評論