Έκδοση ενός μινιμαλιστικού συνόλου βοηθητικών προγραμμάτων συστήματος BusyBox 1.32

Εισήχθη απελευθέρωση πακέτου BusyBox 1.32 με την υλοποίηση ενός συνόλου τυπικών βοηθητικών προγραμμάτων UNIX, σχεδιασμένα ως ένα ενιαίο εκτελέσιμο αρχείο και βελτιστοποιημένα για ελάχιστη κατανάλωση πόρων συστήματος με μέγεθος συνόλου μικρότερο από 1 MB. Η πρώτη έκδοση του νέου κλάδου 1.32 τοποθετείται ως ασταθής, θα παρέχεται πλήρης σταθεροποίηση στην έκδοση 1.32.1, η οποία αναμένεται σε περίπου ένα μήνα. Ο κώδικας του έργου διανέμεται με την άδεια GPLv2.

Η αρθρωτή φύση του BusyBox καθιστά δυνατή τη δημιουργία ενός ενοποιημένου εκτελέσιμου αρχείου που περιέχει ένα αυθαίρετο σύνολο βοηθητικών προγραμμάτων που υλοποιούνται στο πακέτο (κάθε βοηθητικό πρόγραμμα είναι διαθέσιμο με τη μορφή συμβολικού συνδέσμου σε αυτό το αρχείο). Το μέγεθος, η σύνθεση και η λειτουργικότητα της συλλογής βοηθητικών προγραμμάτων μπορεί να ποικίλλει ανάλογα με τις ανάγκες και τις δυνατότητες της ενσωματωμένης πλατφόρμας για την οποία πραγματοποιείται η συναρμολόγηση. Το πακέτο είναι αυτόνομο· όταν δημιουργείται στατικά με το uclibc, για να δημιουργήσετε ένα λειτουργικό σύστημα πάνω από τον πυρήνα του Linux, χρειάζεται μόνο να δημιουργήσετε πολλά αρχεία συσκευής στον κατάλογο /dev και να προετοιμάσετε αρχεία διαμόρφωσης. Σε σύγκριση με την προηγούμενη έκδοση 1.31, η κατανάλωση RAM της τυπικής διάταξης BusyBox 1.32 αυξήθηκε κατά 3590 byte (από 1011750 σε 1015340 byte).

Το BusyBox είναι το κύριο εργαλείο για την καταπολέμηση των παραβιάσεων της GPL στο υλικολογισμικό. Το Software Freedom Conservancy (SFC) και το Software Freedom Law Center (SFLC) για λογαριασμό των προγραμματιστών BusyBox, τόσο μέσω δικαστήριο, και με αυτόν τον τρόπο συμπεράσματα Οι εξωδικαστικές συμφωνίες έχουν επανειλημμένα επηρεάσει με επιτυχία εταιρείες που δεν παρέχουν πρόσβαση στον πηγαίο κώδικα των προγραμμάτων GPL. Ταυτόχρονα, ο συγγραφέας του BusyBox κάνει ό,τι μπορεί αντικείμενα ενάντια σε μια τέτοια προστασία - πιστεύοντας ότι καταστρέφει την επιχείρησή του.

Οι ακόλουθες αλλαγές επισημαίνονται στο BusyBox 1.32:

  • Προστέθηκε νέα εντολή μου για να εκτελέσετε παραλείψεις από ένα δεδομένο Mimfile (που θυμίζει κάπως ένα απογυμνωμένο βοηθητικό πρόγραμμα make).
  • Το βοηθητικό πρόγραμμα εύρεσης έχει προσθέσει την επιλογή "-empty" για έλεγχο για κενά αρχεία.
  • Στο βοηθητικό πρόγραμμα wget, το όριο στον αριθμό των ανακατευθύνσεων έχει επεκταθεί και έχει εφαρμοστεί υποστήριξη για έλεγχο πιστοποιητικών TLS με ENABLE_FEATURE_WGET_OPENSSL.
  • Προστέθηκε σωστή υποστήριξη για μια λίστα μοτίβων (pattern_list) για grep και προστέθηκε η επιλογή "-R" (αναδρομική επεξεργασία των περιεχομένων του καταλόγου).
  • Επιλύθηκαν προβλήματα που προέκυψαν κατά την κατασκευή στο Clang 9 και εξαλείφθηκαν οι προειδοποιήσεις μεταγλωττιστή.
  • Έχει προταθεί ένας μεγάλος αριθμός επιδιορθώσεων για τα κελύφη εντολών ash and hush, με στόχο τη βελτίωση της συμβατότητας με άλλα κελύφη. Η δυνατότητα αυτόματης συμπλήρωσης ενσωματωμένων εντολών με καρτέλες έχει προστεθεί στο ash and hush. Νέες ενσωματωμένες εντολές έχουν σταθεροποιηθεί στην τέφρα.
  • Το βοηθητικό πρόγραμμα fdisk υποστηρίζει πλέον κατατμήσεις HFS και HFS+.
  • Η init έχει βελτιωμένο χειρισμό των συνθηκών αγώνα όταν λαμβάνονται σήματα.
  • Στο βοηθητικό πρόγραμμα για οπτική παρακολούθηση των παραμέτρων του συστήματος nμέτρο προστέθηκε μορφή εξόδου "%NT" (χρόνος ευθυγραμμισμένος με μηδενικά).
  • Η δυνατότητα επεξεργασίας και εμφάνισης λίστας CPU έχει προστεθεί στο σύνολο εργασιών (επιλογή "-c").
  • Στο tar, η συμπεριφορά της επιλογής "-a" έχει αλλάξει, η οποία, αντί να ενεργοποιεί τη συμπίεση "lzma", συνδέεται τώρα με την αυτόματη ανίχνευση κατά επέκταση αρχείου.
  • Το Udhcpc6 πρόσθεσε υποστήριξη για το "ανιθαγενείς» για DHCPv6 (ο διακομιστής στέλνει μόνο παραμέτρους δικτύου, χωρίς να εκχωρεί διεύθυνση).
  • Το nslookup υποστηρίζει τώρα την επεξεργασία των απαντήσεων χωρίς εγγραφές RR και προσθέτει υποστήριξη για εγγραφές SRV.
  • Νέες εντολές "showmacs" και "showstp" έχουν προστεθεί στο brctl.
  • Προστέθηκε υποστήριξη για την παράμετρο "διακομιστής αναμετάδοσης" στο dhcpc.
  • Προστέθηκε ρύθμιση στο syslogd για εμφάνιση του χρόνου με ακρίβεια χιλιοστού του δευτερολέπτου.
  • Στο httpd, όταν εκτελείται σε λειτουργία NOMMU, επιτρέπεται η ρύθμιση διαφορετικού αρχικού καταλόγου και η επιλογή '-h' λειτουργεί όταν εκτελείται μια διαδικασία παρασκηνίου.
  • Το xargs έχει βελτιώσει τον χειρισμό των ορισμάτων που περικλείονται σε εισαγωγικά και έχει εξασφαλίσει τη σωστή συμπεριφορά της επιλογής "-n".
  • Διορθώθηκαν σφάλματα στα βοηθητικά προγράμματα grep, top, dc, gzip, awk, bc, ntpd, pidof, stat, telnet, tftp, whois, unzip, chgrp, httpd, vi, route.

Επίσης, τον περασμένο μήνα πραγματοποιήθηκε απελευθέρωση Toybox 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% έτοιμος (δεν υπάρχει ακόμη υποστήριξη για λειτουργίες, ιστορικό, διαχείριση τερματικού, εργασίες, $((μαθηματικά)), πρότυπα ακόμα).
  • Προστέθηκε υποστήριξη για πρόσθετες επιλογές σε διάφορα βοηθητικά προγράμματα, όπως patch, cal, cp, mv, lsattr, chattr, ls, id, netcat και setsid.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο