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

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

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

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

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

  • Προστέθηκε ένα νέο βοηθητικό πρόγραμμα ascii με έναν διαδραστικό πίνακα ονομάτων χαρακτήρων ASCII.
  • Προστέθηκε ένα νέο βοηθητικό πρόγραμμα crc32 για τον υπολογισμό των αθροισμάτων ελέγχου.
  • Ο ενσωματωμένος διακομιστής http υποστηρίζει τις μεθόδους DELETE, PUT και OPTIONS.
  • Το Udhcpc παρέχει τη δυνατότητα αλλαγής του προεπιλεγμένου ονόματος διεπαφής δικτύου.
  • Η υλοποίηση των πρωτοκόλλων TLS υποστηρίζει πλέον ελλειπτικές καμπύλες secp256r1 (P256)
  • Η ανάπτυξη των κελυφών εντολής ash and hush συνεχίστηκε. Σε αθόρυβη λειτουργία, ο χειρισμός της εντολής ^D έχει ευθυγραμμιστεί με τη συμπεριφορά του ash και του bash, έχει εφαρμοστεί η ειδική κατασκευή $'str' για το bash και οι λειτουργίες αντικατάστασης ${var/pattern/repl} έχουν εφαρμοστεί βελτιστοποιημένη.
  • Ένα μεγάλο μέρος διορθώσεων και βελτιώσεων έχει γίνει στην εφαρμογή του βοηθητικού προγράμματος awk.
  • Προστέθηκε η επιλογή "-i" στα βοηθητικά προγράμματα base32 και base64 για παράβλεψη μη έγκυρων χαρακτήρων.
  • Στα βοηθητικά προγράμματα bc και dc, ο χειρισμός των μεταβλητών περιβάλλοντος BC_LINE_LENGTH και DC_LINE_LENGTH είναι κοντά στα βοηθητικά προγράμματα GNU.
  • Προστέθηκαν οι επιλογές --getra και --setra στο βοηθητικό πρόγραμμα blockdev.
  • Η επιλογή "-p" προστέθηκε στα βοηθητικά προγράμματα chattr και lsattr. Το lsattr έχει επεκτείνει τον αριθμό των υποστηριζόμενων σημαιών ext2 FS.
  • Οι επιλογές "-n" (απενεργοποίηση αντικατάστασης) και "-t DIR" (καθορίστε τον κατάλογο προορισμού) έχουν προστεθεί στο βοηθητικό πρόγραμμα cp.
  • Σε cpio έχει ρυθμιστεί η κατασκευή “cpio -d -p A/B/C”.
  • Η επιλογή «-t TYPE» έχει προστεθεί στο βοηθητικό πρόγραμμα df (περιορίζοντας την έξοδο σε έναν συγκεκριμένο τύπο αρχείου).
  • Προστέθηκε η επιλογή -b στο du utility (ισοδύναμο με '—φαινομενικό μέγεθος —block-size=1').
  • Προστέθηκε η επιλογή "-0" στο βοηθητικό πρόγραμμα env (τερματίζοντας κάθε γραμμή με έναν χαρακτήρα με κωδικό μηδέν).
  • Η επιλογή «-h» (αναγνώσιμη έξοδος) έχει προστεθεί στο δωρεάν βοηθητικό πρόγραμμα.
  • Προστέθηκε η επιλογή "-t" (αγνοήστε τις αποτυχίες) στο βοηθητικό πρόγραμμα ionice.
  • Το βοηθητικό πρόγραμμα σύνδεσης υποστηρίζει πλέον τη μεταβλητή περιβάλλοντος LOGIN_TIMEOUT.
  • Προστέθηκαν οι επιλογές "-t" (καθορίστε τον κατάλογο προορισμού που θέλετε να μετακινήσετε) και "-T" (επεξεργαστείτε το δεύτερο όρισμα ως αρχείο) στο βοηθητικό πρόγραμμα mv.
  • Η επιλογή "-s SIZE" (αριθμός byte προς διαγραφή) έχει προστεθεί στο βοηθητικό πρόγραμμα τεμαχισμού.
  • Η επιλογή "-a" έχει προστεθεί στο βοηθητικό πρόγραμμα συνόλου εργασιών (εφαρμογή συνάφειας CPU για όλα τα νήματα διεργασίας).
  • Τα βοηθητικά προγράμματα timeout, top, watch και ping υποστηρίζουν πλέον μη ακέραιες τιμές (NN.N).
  • Η επιλογή "-z" προστέθηκε στο βοηθητικό πρόγραμμα uniq (χρησιμοποιήστε τον μηδενικό κωδικό χαρακτήρα ως οριοθέτη).
  • Η επιλογή «-t» (έλεγχος αρχειοθέτησης) έχει προστεθεί στο βοηθητικό πρόγραμμα αποσυμπίεσης.
  • Ο επεξεργαστής vi επιτρέπει τη χρήση κανονικών εκφράσεων στην εντολή ':s'. Προστέθηκε η επιλογή επέκτασης καρτέλας. Βελτιωμένες υλοποιήσεις για μετακίνηση μεταξύ παραγράφων, επιλογή περιοχών και αναίρεση αλλαγών.
  • Το βοηθητικό πρόγραμμα xxd υλοποιεί τις επιλογές -i (Έξοδος τύπου C) και -o DISPLAYOFFSET.
  • Το βοηθητικό πρόγραμμα wget επιτρέπει την επεξεργασία κωδικών HTTP 307/308 για ανακατευθύνσεις. Προστέθηκε η επιλογή FEATURE_WGET_FTP για ενεργοποίηση/απενεργοποίηση υποστήριξης FTP.
  • Προστέθηκε η επιλογή "iflag=count_bytes" στο βοηθητικό πρόγραμμα dd.
  • Το βοηθητικό πρόγραμμα περικοπής υλοποιεί τις επιλογές συμβατές με το κουτί παιχνιδιών "-O OUTSEP", "-D" και "-F LIST".

Πηγή: opennet.ru

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