Π Π΅Π»ΠΈΠ· минималистичного Π½Π°Π±ΠΎΡ€Π° систСмных ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ BusyBox 1.37

ПослС ΠΏΠΎΡ‡Ρ‚ΠΈ Π΄Π²ΡƒΡ… Π»Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ прСдставлСн Ρ€Π΅Π»ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚Π° BusyBox 1.37 с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π½Π°Π±ΠΎΡ€Π° стандартных ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ UNIX, ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½Ρ‹Ρ… Π² Π²ΠΈΠ΄Π΅ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ исполняСмого Ρ„Π°ΠΉΠ»Π° ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… для минимального потрСблСния систСмных рСсурсов ΠΏΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π° ΠΌΠ΅Π½Π΅Π΅ 1 Мб. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ выпуск Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ 1.37 позиционируСтся ΠΊΠ°ΠΊ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ, полная стабилизация Π±ΡƒΠ΄Π΅Ρ‚ обСспСчСна Π² вСрсии 1.37.1, которая оТидаСтся Ρ‡Π΅Ρ€Π΅Π· нСсколько мСсяцСв. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GPLv2.

ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ BusyBox Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ исполняСмый Ρ„Π°ΠΉΠ», содСрТащий Π² сСбС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ (каТдая ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° доступна Π² Ρ„ΠΎΡ€ΠΌΠ΅ символичСской ссылки Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»). Π Π°Π·ΠΌΠ΅Ρ€, состав ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ ΠΌΠΎΠΆΠ½ΠΎ Π²Π°Ρ€ΡŒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² зависимости ΠΎΡ‚ потрСбностСй ΠΈ возмоТностСй встраиваСмой ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ осущСствляСтся сборка. ΠŸΠ°ΠΊΠ΅Ρ‚ самодостаточный, ΠΏΡ€ΠΈ статичСской сборкС с uclibc для создания Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ систСмы ΠΏΠΎΠ²Π΅Ρ€Ρ… ядра Linux трСбуСтся лишь ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² устройств Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ /dev ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. По ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΡ€ΠΎΡˆΠ»Ρ‹ΠΌ выпуском 1.36 ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ сборкой BusyBox 1.37 ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ»ΠΎΡΡŒ Π½Π° 1535 Π±Π°ΠΉΡ‚ (с 1022792 Π΄ΠΎ 1024327 Π±Π°ΠΉΡ‚).

BusyBox являСтся основным инструмСнтом Π² Π±ΠΎΡ€ΡŒΠ±Π΅ с Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ΠΌ GPL Π² ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ°Ρ…. ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Software Freedom Conservancy (SFC) ΠΈ Software Freedom Law Center (SFLC) ΠΎΡ‚ Π»ΠΈΡ†Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² BusyBox ΠΊΠ°ΠΊ Ρ‡Π΅Ρ€Π΅Π· суд, Ρ‚Π°ΠΊ ΠΈ ΠΏΡƒΡ‚Ρ‘ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ внСсудСбных соглашСний Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ воздСйствовала Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π½Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ доступ ΠΊ исходному ΠΊΠΎΠ΄Ρƒ GPL-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя Π°Π²Ρ‚ΠΎΡ€ BusyBox всячСски Π²ΠΎΠ·Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΡ‚ΠΈΠ² Ρ‚Π°ΠΊΠΎΠΉ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ — считая Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π»ΠΎΠΌΠ°Π΅Ρ‚ Π΅ΠΌΡƒ бизнСс.

Π‘Ρ€Π΅Π΄ΠΈ Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² BusyBox 1.37:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° рСализация ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ getfattr для ΠΏΠΎΠΊΠ°Π·Π° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Ρ„Π°ΠΉΠ»ΠΎΠ².
  • Π’ udhcpd Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° BOOTP.
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ hwclock Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ установки ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² RTC (Real-Time Clock). НапримСр, для чтСния «hwclock —param-get bsm», Π° для измСнСния «hwclock -p bsm=1».
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «ip link» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° настройки CAN-устройств с использованиСм интСрфСйса netlink («ip link set type can»).
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ find Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° опция «-ok ΠΊΠΎΠΌΠ°Π½Π΄Π°» для запуска ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ с ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ запросом Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ подтвСрТдСния Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.
  • Π’ΠΊΠ»ΡŽΡ‡Π΅Π½Π° очСрСдная порция исправлСний для ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ ash ΠΈ hush, Π½Π°Ρ†Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π½Π° ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ совмСстимости с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°ΠΌΠΈ. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° автодополнСния Π²Π²ΠΎΠ΄Π° ΠΈΠΌΡ‘Π½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ алиасов клавишСй Tab. Π’ hush Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° встроСнная рСализация ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «false».
  • Π’ awk Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ„Π»Π°Π³ «-E» для чтСния тСкста скрипта ΠΈΠ· Ρ„Π°ΠΉΠ»Π°.
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ od Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° опция «-B» (синоним «-t o2») для Π²Ρ‹Π²ΠΎΠ΄Π° Π² Π²ΠΈΠ΄Π΅ Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½Ρ‹Ρ… 2-Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ time Π² ΠΎΠΏΡ†ΠΈΠΈ «-f FMT» Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ экранированиС символов ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ «\escape» ΠΈ «%%».
  • Π£ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ top ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… PID-ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ².
  • Π’ readlink Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° раздСлитСля «—» ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ со стандартом POSIX Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ примСнСния ΠΎΠΏΡ†ΠΈΠΈ «-n».
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ start-stop-daemo Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠΏΡ†ΠΈΠΈ «-O/—output» (ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Π°) ΠΈ «-d DIR» (смСна ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ).
  • Π’ ntpd обСспСчСна ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ сСрвСра NTP с Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ послС 2038 Π³ΠΎΠ΄Π°.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru