BusyBox 1.35 軟體包的發布提供了一組標準 UNIX 實用程式的實現,這些實用程式被設計為單一可執行文件,並針對系統資源消耗最小化進行了最佳化,集合大小小於 1 MB。新分支1.35的首個版本定位為不穩定,將在1.35.1版本中提供全面穩定,預計一個月左右。專案代碼根據 GPLv2 許可證分發。
BusyBox 的模組化特性允許建立一個包含軟體包中實現的任何實用程式集的單一統一執行檔(每個實用程式都以指向該檔案的符號連結形式提供)。實用程式集的大小、組成和功能可以根據所建構的嵌入式平台的需求和能力進行調整。該軟體包是自包含的,可以與 uclibc 靜態鏈接,從而在核心之上創建一個可運行的系統。 Linux 您只需在 /dev 目錄下建立幾個裝置檔案並準備好設定檔即可。與先前的 1.34 版本相比,典型的 BusyBox 1.35 建置的 RAM 佔用量增加了 1726 位元組(從 1042344 位元組增加到 1044070 位元組)。
BusyBox 是對抗韌體中 GPL 違規行為的主要工具。軟體自由保護協會 (SFC) 和軟體自由法律中心 (SFLC) 代表 BusyBox 開發者,透過法院和外部管道,多次成功地影響了那些不提供 GPL 程式原始碼存取權限的公司。- 法院協議。與此同時,BusyBox 的作者強烈反對這種保護——認為這會毀了他的生意。
BusyBox 1.35 中反白顯示了以下變更:
- find 公用程式新增了「-samefile name」選項,用於檢查檔案是否與指定名稱的檔案使用相同的 inode。此外,還統一了比較時間的程式碼,並新增了「-amin」、「-atime」、「-cmin」和「-ctime」選項,用於檢查檔案存取和建立時間。
- mktemp 實用程式新增了一個「--tmpdir」選項來指定相對於計算與暫存檔案關聯的路徑的基底目錄。
- cpio 實用程式現在具有選項「--ignore-devno」來忽略真實裝置編號(始終寫入 0),以及「--renumber-inodes」來在將 inode 放入存檔之前對其進行重新編號。
- 在 awk 實用程式中,表達式「printf %%」已被調整。
- 對 libbb 庫添加了大約十幾處更改。改進了 realpath 與 coreutils 集中對應函式庫的兼容性。
- 針對 ash 和 hush shell,我們提出了大量修復建議,旨在提升與其他 shell 的兼容性。在 ash 中,我們加入了對類似 bash 的 ERR 陷阱、set -E 和 $FUNCNAME 的支持,並加快了使用「${s:}」表達式提取字串的速度。在 ash 和 hush 中,「${x//\*/|}」操作的速度也得到了提升。
- basename 實用程式實作選項「-a」以在一次呼叫中傳遞多個名稱,並實作選項「-s SUFFIX」以刪除尾隨「SUFFIX」字元。
- 在 blkdiscard 實用程式中新增了“-f”(強制)選項。
- 停止發送 httpd 中錯誤頁面的 Last-Modified / ETag / Content-Length 標頭。
- httpd 和 telnetd 提供更改預設網路連接埠的功能。
- 修復了 tar 中的一個漏洞,該漏洞導致在處理具有很長檔案名稱的存檔時消耗所有可用記憶體。
- P256 和 x25519 的實作已在 TLS 程式碼中進行了重新設計。
- wget 實用程式實作了用於傳送檔案的「--post-file」選項,並允許自訂「--post-data」和「--post-file」選項的 Content-Type 標頭。
- 逾時實用程式現在支援“-k KILL_SECS”選項,如果命令未在額外的 KILL_SECS 秒內完成,則發送 SIGKILL 訊號。
- ip 實用程式已更新,支援設定裝置的 netns 參數。
- cal 實用程式實作「-m」選項來顯示指定的月份。
- 日期和觸控實用程式允許指定日期中的時區偏移。
- 在 vi 編輯器中,新增了對 ~/.exrc 檔案的支持,並且更改了「-c」和 EXINIT 的處理。
- 在 ed 實用程式中,執行讀取/寫入指令的結果符合 POSIX-1.2008 規範。新增了對“-p”選項的支援。
- cmp 實用程式已更新「-n N」選項,以將比較限制為 N 個位元組。
此外,幾天前,Toybox 0.8.6 發布了,它是 BusyBox 的類似版本,由前 BusyBox 維護者開發,並根據 0BSD 許可證發布。 Toybox 的主要目的是讓製造商能夠使用一套精簡的標準實用程序,而無需開放修改組件的源代碼。在功能方面,Toybox 仍然落後於 BusyBox,但計劃實現的 296 個基本命令中,有 217 個(83 個完全實現,374 個部分實現)已經實現。
Toybox 0.8.6 的創新之處包括系統映像建立腳本的改進,以及 sha256sum、sha224sum、sha384sum、sha512sum、linux32、strace 和 hexdump 指令的新增。此外,也實作了以下選項:«date -s»、«pmap -p»、«tail -F -s»、«kill -0»、«reboot/halt/poweroff -d»、«tail —bytes —lines»、«i2cdetect -q»、«find -quit -lname -ilname -lines»、«iXNUMXcdetect -q»、«find -quit -lname -ilname -lines»、«cut、«^n»do-«n»n»d»d-«n»d-d —renumber-inodes»、«tar —selinux»、«split -n» 和 «grep -L»。
來源: opennet.ru
