Выпуск сСрвисного ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° s6-rc 0.6

ДоступСн выпуск сСрвисного ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° s6-rc 0.6.0.0, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ для управлСния запуском скриптов ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ сСрвисов. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ отслСТиваниС Π΄Π΅Ρ€Π΅Π²Π° зависимостСй ΠΈ автоматичСский запуск ΠΈΠ»ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ сСрвисов для достиТСния ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ состояния. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ s6-rc ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π² систСмах ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊ ΠΈ для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ запуска ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… сСрвисов Π² привязкС ΠΊ событиям, ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ состояния систСмы. БистСма ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ скрипты ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, совмСстимыС с sysv-init, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ зависимостях ΠΈΠ· sysv-rc ΠΈΠ»ΠΈ OpenRC. Код написан Π½Π° языкС Π‘ΠΈ ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ ISC.

БСрвисный ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ s6-rc Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ для запуска ΠΈ остановки Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… процСссов (Π΄Π΅ΠΌΠΎΠ½ΠΎΠ²) ΠΈΠ»ΠΈ сразу Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅ΠΌΡ‹Ρ… скриптов ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ обСспСчиваСтся ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΉ запуск Π½Π΅ ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‰ΠΈΡ…ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ собой сСрвисов ΠΈ гарантируСтся ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰Π°ΡΡΡ ΠΏΡ€ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… запусках ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ выполнСния скриптов. ВсС измСнСния состояния ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ зависимостСй, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ запускС ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ сСрвиса Π±ΡƒΠ΄ΡƒΡ‚ автоматичСски Π·Π°ΠΏΡƒΡ‰Π΅Π½Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ зависимости, Π° ΠΏΡ€ΠΈ остановкС β€” остановлСны ΠΈ зависимыС сСрвисы.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… сСрвисных ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠ² s6-rc ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°ΡŽΡ‰Π΅Π΅ (Π² offline-Ρ€Π΅ΠΆΠΈΠΌΠ΅) построСниС Π³Ρ€Π°Ρ„Π° зависимостСй для ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎΡΡ Π½Π°Π±ΠΎΡ€Π° сСрвисов, Ρ‡Ρ‚ΠΎ позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ рСсурсоёмкий Π°Π½Π°Π»ΠΈΠ· зависимостСй ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ, Π° Π½Π΅ Π²ΠΎ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ»ΠΈ измСнСния состояния. ΠŸΡ€ΠΈ этом систСма Π½Π΅ являСтся ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½ΠΎΠΉ ΠΈ Ρ€Π°Π·Π±ΠΈΡ‚Π° Π½Π° ΡΠ΅Ρ€ΠΈΡŽ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈ замСняСмых ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π² соотвСтствии с философиСй Unix Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ s6-rc придСрТиваСтся философии ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΠ·ΠΌΠ° (Π½Π΅ содСрТит Π½ΠΈΡ‡Π΅Π³ΠΎ лишнСго) ΠΈ потрСбляСт ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ рСсурсов.

ВмСсто ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ запуска (runlevel) Π² s6-rc прСдлагаСтся концСпция Π½Π°Π±ΠΎΡ€ΠΎΠ² (bundles), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сСрвисы ΠΏΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠ°ΠΌ ΠΈ Ρ€Π΅ΡˆΠ°Π΅ΠΌΡ‹ΠΌ Π·Π°Π΄Π°Ρ‡Π°ΠΌ. Для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ эффСктивности Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ скомпилированная Π‘Π” зависимостСй, создаваСмая ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ s6-rc-compile Π½Π° основС содСрТимого ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ для запуска/остановки сСрвисов. Для Ρ€Π°Π·Π±ΠΎΡ€Π° ΠΈ манипуляций с Π‘Π” ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ΡΡ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ s6-rc-db ΠΈ s6-rc-update.

Π’ Π½ΠΎΠ²ΠΎΠΉ вСрсии Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ s6-rc-repo-* ΠΈ s6-rc-set-* для управлСния рСпозиториями с опрСдСлСниями сСрвисов; обСспСчСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° раздСляСмых Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ macOS; Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция Β«β€”bootdbΒ» для настройки Π½Π° этапС сборки Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½ΠΎΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ сСрвисах ΠΈ зависимостями ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ; Π² ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ s6-rc-compile Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция Β«-v2Β».

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, Π΄ΠΎΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠ΅ s6-rc:

  • s6 β€” ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для отслСТивания Ρ€Π°Π±ΠΎΡ‚Ρ‹ процСссов ΠΈ управлСния процСссами (Π°Π½Π°Π»ΠΎΠ³ daemontools ΠΈ runit). ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠ΅ возмоТности ΠΊΠ°ΠΊ пСрСзапуск процСссов послС ΠΈΡ… Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ, запуск ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° (активация сСрвиса) ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ сСтСвому ΠΏΠΎΡ€Ρ‚Ρƒ, ΠΆΡƒΡ€Π½Π°Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ событий (Π·Π°ΠΌΠ΅Π½Π° syslogd) ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ прСдоставлСниС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ (Π°Π½Π°Π»ΠΎΠ³ sudo).
  • s6-linux-init β€” рСализация init-процСсса для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Π½Π° Π±Π°Π·Π΅ ядра Linux, примСняСмого для создания систСм ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… для управлСния сСрвисами ΠΈ скриптами ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ s6 ΠΈ s6-rc.
  • s6-networking β€” Π½Π°Π±ΠΎΡ€ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ для создания сСтСвых сСрвисов, ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Π½Π° ucspi.
  • s6-frontend β€” обвязка для воссоздания Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ daemontools ΠΈ runit ΠΏΠΎΠ²Π΅Ρ€Ρ… s6.
  • s6-portable-utils β€” Π½Π°Π±ΠΎΡ€ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… Unix-ΡƒΡ‚ΠΈΠ»ΠΈΡ‚, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ cut, chmod, ls, sort ΠΈ grep, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… для потрСблСния ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… рСсурсов ΠΈ поставляСмых ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ ISC.
  • s6-linux-utils β€” Π½Π°Π±ΠΎΡ€ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚, привязанных ΠΊ Linux, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ chroot, freeramdisk, logwatch, mount ΠΈ swapon.
  • mdevd β€” ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ событий (Π°Π½Π°Π»ΠΎΠ³ udevd), ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ горячСго ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ устройств. По ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ mdevd совмСстим с mdev ΠΈΠ· состава Busybox.
  • bcnm β€” сСтСвой ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€ с возмоТностями для настройки Wi-Fi Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.
  • execline β€” язык написания сцСнариСв.
  • skalibs β€” Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для создания бСзопасных систСмных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° языкС Π‘ΠΈ.
  • s6-dns β€” Π½Π°Π±ΠΎΡ€ клиСнтских Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚, Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Π΅ DNS-ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΈΠ· BIND ΠΈ djbdns.
  • dnsfunnel β€” пСрСнаправляСт Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ DNS-запросы Π½Π° внСшний сСрвСр (DNS forwarder).
  • shibari β€” простой DNS-сСрвСр.
  • tipidee β€” HTTP-сСрвСр с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ HTTP/1.1.

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

author avatar
Erik Peterson Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€
A ProHoster specialist with over seven years of experience in hosting, network infrastructure, and internet security. I participate in the development and maintenance of server solutions, VPN services, and client platforms. I specialize in stability, data protection, and service optimization for clients. I regularly monitor updates in industry standards and best practices.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ