ДоступСн ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ GNU Guix 1.4 ΠΈ дистрибутив Π½Π° Π΅Π³ΠΎ основС

Бостоялся Ρ€Π΅Π»ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° GNU Guix 1.4 ΠΈ построСнного Π½Π° Π΅Π³ΠΎ основС дистрибутива GNU/Linux. Для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сформированы ΠΎΠ±Ρ€Π°Π·Ρ‹ для установки Π½Π° USB Flash (814 ΠœΠ‘) ΠΈ использования Π² систСмах Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (1.1 Π“Π‘). ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ… i686, x86_64, Power9, armv7 ΠΈ aarch64.

Дистрибутив допускаСт установку ΠΊΠ°ΠΊ Π² качСствС обособлСнной ОБ Π² систСмах Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°Ρ… ΠΈ Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ, Ρ‚Π°ΠΊ ΠΈ запуск Π² ΡƒΠΆΠ΅ установлСнных дистрибутивах GNU/Linux, выступая Π² Ρ€ΠΎΠ»ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ для развёртывания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠ°ΠΊ ΡƒΡ‡Ρ‘Ρ‚ зависимостСй, повторяСмыС сборки, Ρ€Π°Π±ΠΎΡ‚Π° Π±Π΅Π· root, ΠΎΡ‚ΠΊΠ°Ρ‚ Π½Π° ΠΏΡ€ΠΎΡˆΠ»Ρ‹Π΅ вСрсии Π² случаС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ, ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ (созданиС Ρ‚ΠΎΡ‡Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ окруТСния Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…) ΠΈ Ρ‚.ΠΏ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π°:

  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌΠΈ окруТСниями. На смСну ΠΊΠΎΠΌΠ°Π½Π΄Π΅ «guix environment» ΠΏΡ€ΠΈΡˆΠ»Π° новая ΠΊΠΎΠΌΠ°Π½Π΄Π° «guix shell», которая позволяСт Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сборочныС окруТСния для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Π½ΠΎ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ окруТСния для ознакомлСния с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ Π±Π΅Π· отраТСния Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ ΠΈ Π±Π΅Π· выполнСния «guix install». НапримСр, для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ запуска ΠΈΠ³Ρ€Ρ‹ supertuxkart ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ «guix shell supertuxkart — supertuxkart». ПослС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ сохранён Π² кэшС ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ запуск Π½Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ извлСчСния.

    Для упрощСния Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΉ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π² «guix shell» прСдоставлСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² guix.scm ΠΈ manifest.scm с описаниСм состава окруТСния (для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ опция «—export-manifest»). Для создания ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… эмулируСтся классичСская иСрархия систСмных ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², Π² «guix shell» ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ‹ ΠΎΠΏΡ†ΠΈΠΈ «—container —emulate-fhs».

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° «guix home» для управлСния домашним ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Guix позволяСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ всС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ домашнСго окруТСния, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, сСрвисы ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ΡΡ с Ρ‚ΠΎΡ‡ΠΊΠΈ Ρ„Π°ΠΉΠ»Ρ‹. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «guix home» экзСмпляры описанного домашнСго окруТСния ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ воссозданы Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ $HOME ΠΈΠ»ΠΈ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для пСрСноса своСго окруТСния Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «guix pack» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «-f deb» для создания ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… deb-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ установлСны Π² Debian.
  • Для создания Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² систСмных ΠΎΠ±Ρ€Π°Π·ΠΎΠ² (raw, QCOW2, ISO8660 CD/DVD, Docker ΠΈ WSL2) ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° «guix system image», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°, Ρ€Π°Π·Π΄Π΅Π»Ρ‹ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму для создаваСмого ΠΎΠ±Ρ€Π°Π·Π°.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для сборки ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—tune», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ процСссора, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ спСцифичныС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° Π½ΠΎΠ²Ρ‹Ρ… CPU AMD ΠΈ Intel ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ задСйствованы SIMD-инструкции AVX-512).
  • Π’ инсталляторС Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ для автоматичСского сохранСния Π²Π°ΠΆΠ½ΠΎΠΉ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² случаС Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ установки.
  • Π‘ΠΎΠΊΡ€Π°Ρ‰Π΅Π½ΠΎ врСмя запуска ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, благодаря Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΡŽ кэша ΠΏΡ€ΠΈ динамичСском связывании, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ систСмным Π²Ρ‹Π·ΠΎΠ²Π°ΠΌ stat ΠΈ open ΠΏΡ€ΠΈ поискС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.
  • ЗадСйствован Π½ΠΎΠ²Ρ‹ΠΉ выпуск систСмы ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ GNU Shepherd 0.9 , Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° концСпция Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… сСрвисов (transient) ΠΈ появилась Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания сСрвисов, Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈ сСтСвой активности (Π² стилС systemd socket activation).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ интСрфСйс для задания Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ€Π°Π·Π΄Π΅Π»Π° ΠΏΠΎΠ΄ΠΊΠ°Ρ‡ΠΊΠΈ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.
  • ΠŸΠ΅Ρ€Π΅Π΄Π΅Π»Π°Π½ интСрфСйс для задания статичСской сСтСвой ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ прСдлагаСтся Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΎΠ³ настроСк Π² стилС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ip.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ 15 Π½ΠΎΠ²Ρ‹Ρ… систСмных сСрвисов, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Jami, Samba, fail2ban ΠΈ Gitile.
  • Π—Π°ΠΏΡƒΡ‰Π΅Π½ сайт packages.guix.gnu.org для Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌ.
  • ΠžΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ вСрсии ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² 6573 ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ…, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ 5311 Π½ΠΎΠ²Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π‘Ρ€Π΅Π΄ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ вСрсии GNOMEΒ 42, QtΒ 6, GCCΒ 12.2.0, GlibcΒ 2.33, XfceΒ 4.16, Linux-libreΒ 6.0.10, LibreOfficeΒ 7.4.3.2, EmacsΒ 28.2. Π£Π΄Π°Π»Π΅Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ 500 ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… PythonΒ 2.

ДоступСн ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ GNU Guix 1.4 ΠΈ дистрибутив Π½Π° Π΅Π³ΠΎ основС

Напомним, Ρ‡Ρ‚ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ GNU Guix основан Π½Π° Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Nix ΠΈ ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ управлСния ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ возмоТности, ΠΊΠ°ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΠ°Ρ‚Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ, Ρ€Π°Π±ΠΎΡ‚Π° Π±Π΅Π· получСния ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ ΡΡƒΠΏΠ΅Ρ€ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° привязанных ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ΠΉ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ установки Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… вСрсий ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, срСдства ΡƒΠ±ΠΎΡ€ΠΊΠΈ мусора (выявлСниС ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… вСрсий ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²). Для опрСдСлСния сцСнариСв сборки ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ» формирования ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² прСдлагаСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ спСциализированный высокоуровнСвый ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Guile Scheme API, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ всС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ языкС программирования Scheme.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ… для ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° Nix ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Ρ‘Π½Π½Ρ‹Ρ… Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Nixpkgs. ΠšΡ€ΠΎΠΌΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ созданиС сцСнариСв для управлСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠŸΡ€ΠΈ сборкС ΠΏΠ°ΠΊΠ΅Ρ‚Π° автоматичСски Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ ΠΈ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ всС связанныС с Π½ΠΈΠΌ зависимости. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈΠ· рСпозитория, Ρ‚Π°ΠΊ ΠΈ сборка ΠΈΠ· исходных тСкстов со всСми зависимостями. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ срСдства для поддСрТания вСрсий установлСнных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ состоянии Ρ‡Π΅Ρ€Π΅Π· ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ установки ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΠΈΠ· внСшнСго рСпозитория.

Π‘Π±ΠΎΡ€ΠΎΡ‡Π½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ для ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² формируСтся Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, содСрТащСго всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Ρ‡Ρ‚ΠΎ позволяСт ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², способный Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π±Π΅Π· оглядки Π½Π° состав Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ систСмного окруТСния дистрибутива, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Guix ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² качСствС надстройки. ΠœΠ΅ΠΆΠ΄Ρƒ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ Guix Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ зависимостСй, ΠΏΡ€ΠΈ этом для поиска наличия ΡƒΠΆΠ΅ установлСнных зависимостСй ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ сканированиС Ρ…ΡΡˆΠ΅ΠΉ-ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ установлСнных ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ρ‡Ρ‚ΠΎ позволяСт ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ сосущСствованиС с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΌΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°ΠΌΠΈ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ спСктра ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… дистрибутивов. НапримСр, ΠΏΠ°ΠΊΠ΅Ρ‚ устанавливаСтся ΠΊΠ°ΠΊ /nix/store/452a5978f3b1b426064a2b64a0c6f41-firefox-108.0.1/, Π³Π΄Π΅ «452a59…» являСтся ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ для контроля зависимостСй.

Дистрибутив Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ свободныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈ поставляСтся с ядром GNU Linux-Libre, ΠΎΡ‡ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΌ ΠΎΡ‚ нСсвободных элСмСнтов Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΎΠΊ. Для сборки примСняСтся GCC 12.2. Π’ качСствС систСмы ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ сСрвисный ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ GNU Shepherd (Π±Ρ‹Π²ΡˆΠΈΠΉ dmd), Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ ΠΊΠ°ΠΊ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° SysV-init с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ зависимостСй. Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π΄Π΅ΠΌΠΎΠ½ ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ Shepherd написаны Π½Π° языкС Guile (ΠΎΠ΄Π½Π° ΠΈΠ· Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ языка Scheme), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈ для опрСдСлСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² запуска сСрвисов. Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² консольном Ρ€Π΅ΠΆΠΈΠΌΠ΅, Π½ΠΎ для установки ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ΠΎ 20526 Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ графичСского стСка Π½Π° Π±Π°Π·Π΅ X.Org, ΠΎΠΊΠΎΠ½Π½Ρ‹Π΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹ dwm ΠΈ ratpoison, Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ столы GNOME ΠΈ Xfce, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΠ° графичСских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

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