Rilis seperangkat utilitas sistem minimalis BusyBox 1.35

Rilis paket BusyBox 1.35 disajikan dengan implementasi seperangkat utilitas UNIX standar, dirancang sebagai satu file yang dapat dieksekusi dan dioptimalkan untuk konsumsi minimal sumber daya sistem dengan ukuran yang ditetapkan kurang dari 1 MB. Rilis pertama dari cabang 1.35 baru diposisikan sebagai tidak stabil; stabilisasi penuh akan disediakan dalam versi 1.35.1, yang diharapkan dalam waktu sekitar satu bulan. Kode proyek didistribusikan di bawah lisensi GPLv2.

Sifat modular dari BusyBox memungkinkan untuk membuat satu file eksekusi terpadu yang berisi serangkaian utilitas arbitrer yang diimplementasikan dalam paket (setiap utilitas tersedia dalam bentuk tautan simbolis ke file ini). Ukuran, komposisi, dan fungsionalitas kumpulan utilitas dapat bervariasi tergantung pada kebutuhan dan kemampuan platform tertanam tempat perakitan dilakukan. Paket ini mandiri; ketika dibangun secara statis dengan uclibc, untuk membuat sistem kerja di atas kernel Linux, Anda hanya perlu membuat beberapa file perangkat di direktori /dev dan menyiapkan file konfigurasi. Dibandingkan dengan rilis 1.34 sebelumnya, konsumsi RAM pada rakitan BusyBox 1.35 pada umumnya meningkat sebesar 1726 byte (dari 1042344 menjadi 1044070 byte).

BusyBox adalah alat utama dalam memerangi pelanggaran GPL di firmware. Software Freedom Conservancy (SFC) dan Software Freedom Law Center (SFLC), atas nama pengembang BusyBox, telah berulang kali berhasil mempengaruhi perusahaan yang tidak memberikan akses ke kode sumber program GPL, baik melalui pengadilan maupun di luar perusahaan. -perjanjian pengadilan. Pada saat yang sama, penulis BusyBox sangat menolak perlindungan tersebut karena percaya bahwa hal itu akan merusak bisnisnya.

Perubahan berikut disorot di BusyBox 1.35:

  • Utilitas find mengimplementasikan opsi "-samefile name" untuk memeriksa apakah suatu file menggunakan inode yang sama dengan file dengan nama yang ditentukan. Kode terpadu untuk perbandingan waktu dan menambahkan opsi "-amin", "-atime", "-cmin" dan "-ctime" untuk memeriksa waktu akses dan pembuatan file.
  • Utilitas mktemp telah menambahkan opsi "--tmpdir" untuk menentukan direktori dasar relatif terhadap jalur mana yang terkait dengan file sementara yang dihitung.
  • Opsi β€œ-ignore-devno” telah ditambahkan ke utilitas cpio untuk mengabaikan nomor perangkat sebenarnya (0 selalu ditulis) dan β€œ-renumber-inodes” untuk memberi nomor ulang inode sebelum menyimpannya dalam arsip.
  • Dalam utilitas awk, ekspresi β€œprintf %%” telah disesuaikan.
  • Menambahkan sekitar selusin perubahan pada perpustakaan libbb. Peningkatan kompatibilitas realpath dengan mitranya dari set coreutils.
  • Sejumlah besar perbaikan telah diusulkan untuk shell perintah ash dan hush, yang bertujuan untuk meningkatkan kompatibilitas dengan shell lain. Ash telah menambahkan dukungan untuk jebakan ERR seperti bash, set -E dan $FUNCNAME, dan pengambilan string yang lebih cepat menggunakan ekspresi "${s:}". Dalam keadaan abu dan sunyi, eksekusi operasi "${x//\*/|}" telah dipercepat.
  • Utilitas nama dasar mengimplementasikan opsi "-a" untuk meneruskan beberapa nama dalam satu panggilan dan "-s SUFFIX" untuk menghapus karakter "SUFFIX" di belakangnya.
  • Menambahkan opsi "-f" (paksa) ke utilitas blkdiscard.
  • httpd telah berhenti mengirimkan header Last-Modified/ETag/Content-Length untuk halaman dengan kesalahan.
  • httpd dan telnetd menyediakan kemampuan untuk mengubah port jaringan default.
  • Memperbaiki kerentanan tar yang menyebabkan semua memori yang tersedia terpakai saat memproses arsip dengan nama file yang sangat panjang.
  • Implementasi P256 dan x25519 telah dikerjakan ulang dalam kode TLS.
  • Utilitas wget mengimplementasikan opsi "--post-file" untuk mengirim file dan memungkinkan Anda menyesuaikan konten header Tipe Konten untuk opsi "--post-data" dan "--post-file".
  • Utilitas batas waktu sekarang mendukung opsi "-k KILL_SECS" untuk mengirim sinyal SIGKILL jika perintah tidak selesai dalam detik KILL_SECS tambahan.
  • Dukungan untuk mengatur parameter netns untuk perangkat telah ditambahkan ke utilitas ip.
  • Utilitas cal mengimplementasikan opsi "-m" untuk menampilkan bulan yang ditentukan.
  • Utilitas tanggal dan sentuh memungkinkan penentuan offset zona waktu dalam tanggal.
  • Di editor vi, dukungan untuk file ~/.exrc telah ditambahkan, dan penanganan β€œ-c” dan EXINIT telah diubah.
  • Dalam utilitas ed, hasil eksekusi perintah baca/tulis disesuaikan dengan spesifikasi POSIX-1.2008. Menambahkan dukungan untuk opsi "-p".
  • Menambahkan opsi "-n N" ke utilitas cmp untuk membatasi perbandingan hingga N byte.

Selain itu, beberapa hari yang lalu, Toybox 0.8.6 dirilis, analog dari BusyBox, yang dikembangkan oleh mantan pengelola BusyBox dan didistribusikan di bawah lisensi 0BSD. Tujuan utama Toybox adalah memberi produsen kemampuan untuk menggunakan serangkaian utilitas standar minimalis tanpa membuka kode sumber komponen yang dimodifikasi. Dari segi kemampuan, Toybox masih tertinggal dari BusyBox, namun 296 perintah dasar telah diimplementasikan (217 sepenuhnya dan 83 sebagian) dari 374 yang direncanakan.

Di antara inovasi Toybox 0.8.6 kita dapat mencatat peningkatan skrip untuk membuat image sistem, penambahan perintah sha256sum, sha224sum, sha384sum, sha512sum, linux32, strace dan hexdump. Opsi yang diterapkan β€œdate -s”, β€œpmap -p”, β€œtail -F -s”, β€œkill -0β€³, reboot/halt/poweroff -d”, β€œtail –bytes –lines”, β€œi2cdetect -q” , "temukan -quit -lname -ilname -d", "cut -d $'\n'", "cut -nb", "cpio -ignore-devno -renumber-inodes", "tar -selinux", "split -n", "grep -L".

Sumber: opennet.ru

Tambah komentar