Keluaran set utiliti sistem minimalis BusyBox 1.35

Keluaran pakej BusyBox 1.35 dipersembahkan dengan pelaksanaan satu set utiliti UNIX standard, direka sebagai fail boleh laku tunggal dan dioptimumkan untuk penggunaan sumber sistem yang minimum dengan saiz set kurang daripada 1 MB. Keluaran pertama cawangan baharu 1.35 diletakkan sebagai tidak stabil, penstabilan penuh akan disediakan dalam versi 1.35.1, yang dijangkakan dalam masa lebih kurang sebulan. Kod projek diedarkan di bawah lesen GPLv2.

Sifat modular BusyBox memungkinkan untuk mencipta satu fail boleh laku bersatu yang mengandungi set utiliti sewenang-wenang yang dilaksanakan dalam pakej (setiap utiliti tersedia dalam bentuk pautan simbolik ke fail ini). Saiz, komposisi dan kefungsian koleksi utiliti boleh diubah bergantung pada keperluan dan keupayaan platform terbenam yang mana pemasangan sedang dijalankan. Pakej ini serba lengkap; apabila dibina secara statik dengan uclibc, untuk mencipta sistem yang berfungsi di atas kernel Linux, anda hanya perlu mencipta beberapa fail peranti dalam direktori /dev dan menyediakan fail konfigurasi. Berbanding dengan keluaran sebelumnya 1.34, penggunaan RAM bagi perhimpunan BusyBox 1.35 biasa meningkat sebanyak 1726 bait (daripada 1042344 kepada 1044070 bait).

BusyBox ialah alat utama dalam memerangi pelanggaran GPL dalam perisian tegar. Perisian Freedom Conservancy (SFC) dan Software Freedom Law Center (SFLC), bagi pihak pembangun BusyBox, telah berulang kali berjaya mempengaruhi syarikat yang tidak menyediakan akses kepada kod sumber program GPL, baik melalui mahkamah dan melalui luar -perjanjian mahkamah. Pada masa yang sama, pengarang BusyBox sangat membantah perlindungan sedemikian - mempercayai bahawa ia merosakkan perniagaannya.

Perubahan berikut diserlahkan dalam BusyBox 1.35:

  • Utiliti find melaksanakan pilihan "-namafile yang sama" untuk menyemak sama ada fail menggunakan inod yang sama dengan fail dengan nama yang ditentukan. Kod bersatu untuk perbandingan masa dan pilihan tambahan "-amin", "-atime", "-cmin" dan "-ctime" untuk menyemak masa akses dan penciptaan fail.
  • Utiliti mktemp telah menambah pilihan "--tmpdir" untuk menentukan direktori asas berbanding laluan yang dikaitkan dengan fail sementara dikira.
  • Pilihan "-ignore-devno" telah ditambahkan pada utiliti cpio untuk mengabaikan nombor peranti sebenar (0 sentiasa ditulis) dan "-renumber-inodes" untuk menomborkan semula inod sebelum menyimpannya dalam arkib.
  • Dalam utiliti awk, ungkapan "printf %%" telah dilaraskan.
  • Menambahkan kira-kira sedozen perubahan pada perpustakaan libbb. Keserasian realpath yang dipertingkatkan dengan rakan sejawatannya daripada set coreutils.
  • Sebilangan besar pembetulan telah dicadangkan untuk cengkerang arahan ash dan hush, bertujuan untuk meningkatkan keserasian dengan cengkerang lain. Ash telah menambah sokongan untuk perangkap ERR seperti bash, set -E dan $FUNCNAME, dan mendapatkan semula rentetan yang lebih pantas menggunakan ungkapan "${s:}". Dalam ash and hush, pelaksanaan operasi "${x//\*/|}" telah dipercepatkan.
  • Utiliti nama asas melaksanakan pilihan "-a" untuk menghantar berbilang nama dalam satu panggilan dan "-s SUFFIX" untuk mengalih keluar aksara "SUFFIX" yang tertinggal.
  • Menambahkan pilihan "-f" (force) untuk blkdiscard utiliti.
  • httpd telah berhenti menghantar pengepala Last-Modified/ETag/Content-Length untuk halaman dengan ralat.
  • httpd dan telnetd menyediakan keupayaan untuk menukar port rangkaian lalai.
  • Memperbaiki kerentanan dalam tar yang menyebabkan semua memori yang tersedia digunakan semasa memproses arkib dengan nama fail yang sangat panjang.
  • Pelaksanaan P256 dan x25519 telah diolah semula dalam kod TLS.
  • Utiliti wget melaksanakan pilihan "--post-file" untuk menghantar fail dan membolehkan anda menyesuaikan kandungan pengepala Content-Type untuk pilihan "--post-data" dan "--post-file".
  • Utiliti tamat masa kini menyokong pilihan "-k KILL_SECS" untuk menghantar isyarat SIGKILL jika arahan tidak selesai dalam KILL_SECS saat tambahan.
  • Sokongan untuk menetapkan parameter netns untuk peranti telah ditambahkan pada utiliti ip.
  • Utiliti cal melaksanakan pilihan "-m" untuk memaparkan bulan yang ditentukan.
  • Utiliti tarikh dan sentuhan membenarkan penetapan zon masa yang diimbangi dalam tarikh.
  • Dalam editor vi, sokongan untuk fail ~/.exrc telah ditambah, dan pengendalian β€œ-c” dan EXINIT telah diubah.
  • Dalam utiliti ed, hasil daripada melaksanakan perintah baca/tulis dibawa ke dalam pematuhan dengan spesifikasi POSIX-1.2008. Menambah sokongan untuk pilihan "-p".
  • Menambahkan pilihan "-n N" pada utiliti cmp untuk mengehadkan perbandingan kepada N bait.

Di samping itu, beberapa hari yang lalu, Toybox 0.8.6 telah dikeluarkan, analog BusyBox, dibangunkan oleh bekas penyelenggara BusyBox dan diedarkan di bawah lesen 0BSD. Tujuan utama Toybox adalah untuk menyediakan pengeluar dengan keupayaan untuk menggunakan set minimalistik utiliti standard tanpa membuka kod sumber komponen yang diubah suai. Dari segi keupayaan, Toybox masih ketinggalan di belakang BusyBox, tetapi 296 arahan asas telah dilaksanakan (217 sepenuhnya dan 83 sebahagiannya) daripada 374 yang dirancang.

Antara inovasi Toybox 0.8.6 kita boleh perhatikan penambahbaikan skrip untuk mencipta imej sistem, penambahan arahan sha256sum, sha224sum, sha384sum, sha512sum, linux32, strace dan hexdump. Pilihan yang dilaksanakan "tarikh -s", "pmap -p", "ekor -F -s", "bunuh -0β€³, but semula/berhenti/matikan -d", "ekor –bait –garisan", "i2cdetect -q" , "cari -quit -lname -ilname -d", "cut -d $'\n'", "cut -nb", "cpio -ignore-devno -renumber-inodes", "tar -selinux", "split -n", "grep -L".

Sumber: opennet.ru

Tambah komen