GNU Guix 1.4 пакет менеджери жана анын негизинде бөлүштүрүү жеткиликтүү

GNU Guix 1.4 пакет менеджери жана анын негизинде курулган GNU/Linux дистрибуциясы чыгарылды. Жүктөп алуу үчүн сүрөттөр USB Flashке (814 МБ) орнотуу жана виртуалдаштыруу системаларында (1.1 ГБ) колдонуу үчүн түзүлгөн. i686, x86_64, Power9, armv7 жана aarch64 архитектурасында иштөөнү колдойт.

Бөлүштүрүү виртуалдаштыруу системаларында, контейнерлерде жана кадимки жабдууларда өз алдынча ОС катары да орнотууга мүмкүндүк берет жана буга чейин орнотулган GNU/Linux дистрибьютерлеринде ишке киргизилиши мүмкүн, бул тиркемелерди жайылтуу үчүн платформа катары иштейт. Колдонуучуга көз карандылыкты эске алуу, кайталануучу түзүлүштөр, тамырсыз иштөө, көйгөйлөр пайда болгон учурда мурунку версияларга кайтуу, конфигурацияны башкаруу, чөйрөлөрдү клондоо (башка компьютерлерде программалык чөйрөнүн так көчүрмөсүн түзүү) ж.б.у.с. .

Негизги инновациялар:

  • Программалык чөйрөлөрдү башкаруу жакшыртылды. "guix environment" буйругу жаңы "guix shell" буйругу менен алмаштырылды, бул сизге иштеп чыгуучулар үчүн куруу чөйрөсүн түзүүгө гана эмес, ошондой эле профилде чагылдырылбастан жана аткарбастан программалар менен таанышуу үчүн чөйрөлөрдү колдонууга мүмкүндүк берет " guix орнотуу". Мисалы, supertuxkart оюнун жүктөп алып, ишке киргизүү үчүн "guix shell supertuxkart - supertuxkart" иштетсеңиз болот. Жүктөп алгандан кийин топтом кэште сакталат жана кийинки ишке киргизүү аны кайра чыгарууну талап кылбайт.

    Иштеп чыгуучулар үчүн чөйрөлөрдү түзүүнү жөнөкөйлөтүү үчүн "guix кабыгы" чөйрөнүн курамын сүрөттөгөн guix.scm жана manifest.scm файлдарын колдоону камсыз кылат (файлдарды түзүү үчүн "--export-manifest" опциясын колдонсо болот). Классикалык система каталогунун иерархиясы эмуляцияланган контейнерлерди түзүү үчүн, "guix кабыгы" "—контейнер —emulate-fhs" опцияларын сунуштайт.

  • Үй шартын көзөмөлдөө үчүн "guix home" буйругу кошулду. Guix үй шартыңыздын бардык компоненттерин, анын ичинде пакеттерди, кызматтарды жана чекиттен башталган файлдарды аныктоого мүмкүндүк берет. "guix home" буйругун колдонуу менен, сүрөттөлгөн үй чөйрөсүнүн мисалдарын $HOME каталогунда же контейнерде кайра түзсө болот, мисалы, чөйрөңүздү жаңы компьютерге өткөрүү үчүн.
  • Debianга орнотула турган өзүнчө deb пакеттерин түзүү үчүн "guix pack" буйругуна "-f deb" опциясы кошулду.
  • Тутум сүрөттөрүнүн ар кандай түрлөрүн (raw, QCOW2, ISO8660 CD/DVD, Docker жана WSL2) түзүү үчүн универсалдуу "guix система сүрөтү" буйругу сунушталат, ал түзүлгөн сүрөттүн сактагыч түрүн, бөлүмдөрүн жана операциялык системасын аныктоого мүмкүндүк берет. .
  • Пакеттерди куруу буйруктарына “—түйлөө” опциясы кошулду, ал конкреттүү оптималдаштыруу иштетиле турган процессордун микроархитектурасын көрсөтүүгө мүмкүндүк берет (мисалы, AVX-512 SIMD нускамаларын жаңы AMD жана Intel CPUларында колдонсо болот) .
  • Орнотуучу орнотуу бузулган учурда маанилүү мүчүлүштүктөрдү оңдоо маалыматын автоматтык түрдө сактоо механизмин ишке ашырат.
  • Динамикалык байланыштыруу учурунда кэш колдонуу менен тиркемени ишке киргизүү убактысы кыскартылды, бул статистикага чалууну азайтат жана китепканаларды издөөдө ачык системалык чалууларды азайтат.
  • GNU Shepherd 0.9 инициализациялоо тутумунун жаңы релизи колдонулду, ал убактылуу кызматтар (өтмө) концепцияны жана тармактык активдүүлүк менен активдештирилген кызматтарды түзүү мүмкүнчүлүгүн (системалык розеткаларды активдештирүү стилинде) ишке ашырат.
  • Иштөө тутумунун конфигурациясында своп бөлүгүнүн өлчөмүн орнотуу үчүн жаңы интерфейс кошулду.
  • Тармактын статикалык конфигурациясын орнотуу үчүн интерфейс кайра иштелип чыкты, ал азыр 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 жаңыртылган версиялары. Python 500 аркылуу 2дөн ашык пакет алынып салынды.

GNU Guix 1.4 пакет менеджери жана анын негизинде бөлүштүрүү жеткиликтүү

Эске салсак, GNU Guix пакет менеджери Nix долбоорунун иштеп чыгууларына негизделген жана типтүү пакетти башкаруу функцияларынан тышкары транзакциялык жаңыртууларды аткаруу, жаңыртууларды артка кайтаруу, супер колдонуучу артыкчылыктарын албай иштөө, колдоо жеке колдонуучуларга байланышкан профилдер, бир эле учурда бир программанын бир нече версиясын орнотуу мүмкүнчүлүгү, таштанды чогултуу куралдары (пакеттердин пайдаланылбаган версияларын аныктоо жана алып салуу). Тиркемелерди түзүү сценарийлерин жана пакетти түзүү эрежелерин аныктоо үчүн, функционалдык программалоо тилинин схемасында пакетти башкаруунун бардык операцияларын аткарууга мүмкүндүк берген адистештирилген жогорку деңгээлдеги домендик тилди жана Guile Scheme API компоненттерин колдонуу сунушталат.

Nix пакет менеджери үчүн даярдалган жана Nixpkgs репозиторийине жайгаштырылган пакеттерди колдонуу мүмкүнчүлүгү колдоого алынат. Пакеттер менен операциялардан тышкары, колдонмо конфигурацияларын башкаруу үчүн скрипттерди түзсө болот. Пакет курулганда, ага байланышкан бардык көз карандылыктар автоматтык түрдө жүктөлүп алынат жана курулат. Репозиторийден даяр бинардык пакеттерди жүктөө же бардык көз карандылыктары бар баштапкы тексттерден куруу мүмкүн. Тышкы репозиторийден жаңыртууларды орнотууну уюштуруу аркылуу орнотулган программалардын версияларын жаңыртуу үчүн куралдар ишке ашырылган.

Пакеттерди куруу чөйрөсү тиркеменин иштеши үчүн зарыл болгон бардык компоненттерди камтыган контейнер түрүндө түзүлөт, бул бөлүштүрүүнүн базалык тутумунун чөйрөсүнүн курамына карабай иштей ала турган пакеттердин топтомун түзүүгө мүмкүндүк берет, анда Guix кошумча катары колдонулат. Көз карандылыктарды Guix топтомдорунун ортосунда мурунтан орнотулган көз карандылыктардын бар-жоктугун табуу үчүн орнотулган пакеттер каталогундагы идентификатор хэштерин сканерлөө аркылуу аныктаса болот. Пакеттер колдонуучунун каталогундагы өзүнчө каталог дарагында же подкаталогунда орнотулуп, анын башка пакет менеджерлери менен параллелдүү жашоого жана учурдагы бөлүштүрүүнүн кеңири спектрин колдоого мүмкүндүк берет. Мисалы, топтом /nix/store/452a5978f3b1b426064a2b64a0c6f41-firefox-108.0.1/ катары орнотулган, мында "452a59..." көз карандылыкты көзөмөлдөө үчүн колдонулган уникалдуу топтом идентификатору.

Бөлүштүрүү акысыз компоненттерди гана камтыйт жана бинардык микропрограмманын эркин эмес элементтеринен тазаланган GNU Linux-Libre өзөгү менен келет. GCC 12.2 чогултуу үчүн колдонулат. GNU Shepherd кызматынын менеджери (мурдагы dmd) көз карандылык колдоосу менен SysV-initке альтернатива катары иштелип чыккан инициализация системасы катары колдонулат. Койчу башкаруу демону жана утилиталары Guile тилинде жазылган (Схема тилинин ишке ашырууларынын бири), ал ошондой эле кызматтарды ишке киргизүү үчүн параметрлерди аныктоо үчүн колдонулат. Негизги сүрөт консолдук режимде иштөөнү колдойт, бирок X.Org негизиндеги графикалык стектин компоненттерин, dwm жана ratpoison терезе менеджерлерин, GNOME жана Xfce иш такталарын, ошондой эле графикалык тандоону камтыган 20526 XNUMX даяр пакет орнотуу үчүн даярдалган. колдонмолор.

Source: opennet.ru

Комментарий кошуу