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

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

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

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

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

  • Προστέθηκαν νέες εντολές: ts (υλοποίηση πελάτη και διακομιστή για το πρωτόκολλο TSP (Time-Stamp Protocol)) και i2ctransfer (δημιουργία και αποστολή μηνυμάτων I2C).
  • Προστέθηκε υποστήριξη για επιλογές DHCP στο udhcp 100 (πληροφορίες ζώνης ώρας) και 101 (όνομα ζώνης ώρας στη βάση δεδομένων TZ) για το IPv6.
  • Προστέθηκε υποστήριξη για στατικές συνδέσεις ονόματος κεντρικού υπολογιστή σε πελάτες στο udhcpd.
  • Τα κοχύλια τέφρας και σιωπής εφαρμόζουν τα αριθμητικά κυριολεκτικά "BASE#nnnn". Η υλοποίηση της εντολής ulimit έχει γίνει συμβατή με το bash, συμπεριλαμβανομένων των επιλογών "-i RLIMIT_SIGPENDING" και "-q RLIMIT_MSGQUEUE". Προστέθηκε υποστήριξη για "wait -n". Προστέθηκαν μεταβλητές EPOCH συμβατές με bash.
  • Το κέλυφος hush υλοποιεί μια μεταβλητή "$-" που παραθέτει τις επιλογές φλοιού που είναι ενεργοποιημένες από προεπιλογή.
  • Ο κωδικός για τη μετάδοση τιμών με αναφορά μεταφέρθηκε στο bc από upstream, προστέθηκε υποστήριξη για λειτουργίες void και δυνατότητα εργασίας με τιμές ibase έως και 36.
  • Στο brctl, όλες οι εντολές έχουν μετατραπεί σε εργασία χρησιμοποιώντας το ψευδο-FS /sys.
  • Ο κώδικας των βοηθητικών προγραμμάτων fsync και sync έχει συγχωνευθεί.
  • Η εφαρμογή του httpd έχει βελτιωθεί. Βελτιωμένη επεξεργασία κεφαλίδων HTTP και εργασία σε λειτουργία διακομιστή μεσολάβησης. Η λίστα των τύπων MIME περιλαμβάνει SVG και JavaScript.
  • Η επιλογή "-c" έχει προστεθεί στο losetup (αναγκαστικός διπλός έλεγχος του μεγέθους του αρχείου που σχετίζεται με τη συσκευή βρόχου), καθώς και μια επιλογή για σάρωση κατατμήσεων. Το mount και το losttup παρέχουν υποστήριξη για εργασία με χρήση /dev/loop-control.
  • Σε ntpd, η τιμή SLEW_THRESHOLD έχει αυξηθεί από 0.125 σε 0.5.
  • Προστέθηκε υποστήριξη για την εκχώρηση μηδενικών τιμών στο sysctl.
  • Προστέθηκε υποστήριξη για κλασματικές τιμές στην επιλογή "-n SEC" για παρακολούθηση.
  • Προστέθηκε η δυνατότητα εκτέλεσης του mdev ως διαδικασία παρασκηνίου.
  • Το βοηθητικό πρόγραμμα wget εφαρμόζει τη σημαία "-o" για να καθορίσει το αρχείο στο οποίο θα γράψει το αρχείο καταγραφής. Προστέθηκαν ειδοποιήσεις σχετικά με την έναρξη και την ολοκλήρωση των λήψεων.
  • Προστέθηκε υποστήριξη για την εντολή AYT IAC στο telnetd.
  • Προστέθηκε η εντολή 'dG' στο vi (διαγραφή περιεχομένου από την τρέχουσα γραμμή στο τέλος του αρχείου).
  • Προστέθηκε η επιλογή 'oflag=append' στην εντολή dd.
  • Η σημαία '-H' έχει προστεθεί στο κορυφαίο βοηθητικό πρόγραμμα για να ενεργοποιηθεί η σάρωση μεμονωμένων νημάτων.

Επίσης, πριν από δύο εβδομάδες πραγματοποιήθηκε απελευθέρωση Toybox 0.8.1, ένα ανάλογο του BusyBox, που αναπτύχθηκε από τον πρώην συντηρητή BusyBox και διανέμονται με άδεια BSD. Ο κύριος σκοπός του Toybox είναι να παρέχει στους κατασκευαστές τη δυνατότητα να χρησιμοποιούν ένα μινιμαλιστικό σύνολο τυπικών βοηθητικών προγραμμάτων χωρίς να ανοίγουν τον πηγαίο κώδικα των τροποποιημένων στοιχείων. Σύμφωνα με τις μέχρι τώρα δυνατότητες της Toybox υστερεί από το BusyBox, αλλά 188 βασικές εντολές από τις 220 προγραμματισμένες έχουν ήδη υλοποιηθεί.

Μεταξύ των καινοτομιών του Toybox 0.8.1 μπορούμε να σημειώσουμε:

  • Έχει επιτευχθεί ένα επίπεδο λειτουργικότητας που επαρκεί για τη δημιουργία Android σε ένα περιβάλλον που βασίζεται σε βοηθητικά προγράμματα Toybox.
  • Περιλαμβάνονται οι νέες εντολές mcookie και devmem και οι εντολές tar, gunzip και zcat που ξαναγράφονται μετακινούνται από τον κλάδο δοκιμής.
  • Μια νέα εφαρμογή του vi έχει προταθεί για δοκιμή.
  • Η εντολή find τώρα υποστηρίζει τις επιλογές "-holename/-iwholename".
    "-printf" και "-context"?

  • Προστέθηκε η επιλογή "--exclude-dir" στο grep.
  • Το Echo υποστηρίζει τώρα την επιλογή "-E".
  • Προστέθηκε υποστήριξη "UUID" για τοποθέτηση.
  • Η εντολή ημερομηνία λαμβάνει πλέον υπόψη τη ζώνη ώρας που καθορίζεται στη μεταβλητή περιβάλλοντος TZ.
  • Προστέθηκε υποστήριξη για σχετικές περιοχές (+N) στο sed.
  • Βελτιωμένη αναγνωσιμότητα της εξόδου ps, top και iotop.

Πηγή: opennet.ru

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