Available ang GNU Guix 1.1 package manager at pamamahagi batay dito

naganap paglabas ng manager ng package GNU Guix 1.1 at ang pamamahagi ng GNU/Linux na binuo sa batayan nito. Para sa paglo-load nabuo mga imahe para sa pag-install sa USB Flash (241 MB) at gamitin sa mga virtualization system (479 ​​MB). Sinusuportahan ang operasyon sa i686, x86_64, armv7 at aarch64 na mga arkitektura.

Ang pamamahagi ay nagpapahintulot sa pag-install bilang standalone na OS sa mga sistema ng virtualization, sa mga lalagyan at sa kumbensyonal na kagamitan, at paglulunsad sa mga naka-install na distribusyon ng GNU/Linux, na kumikilos bilang isang platform para sa pag-deploy ng application. Ang gumagamit ay binibigyan ng mga function tulad ng pagsasaalang-alang sa mga dependency, paulit-ulit na mga build, pagtatrabaho nang walang ugat, pag-roll pabalik sa mga nakaraang bersyon kung sakaling magkaroon ng mga problema, pamamahala ng pagsasaayos, pag-clone ng mga kapaligiran (paglikha ng eksaktong kopya ng kapaligiran ng software sa iba pang mga computer), atbp. .

Ang pangunahing mga inobasyon:

  • Ang isang bagong command na "guix deploy" ay idinagdag, na idinisenyo upang i-deploy ang hardware ng ilang mga computer nang sabay-sabay, halimbawa, mga bagong kapaligiran sa isang VPS o mga malayuang sistema na naa-access sa pamamagitan ng SSH.
  • Ang mga may-akda ng mga third-party na mga repository ng package (mga channel) ay binibigyan ng mga tool upang magsulat ng mga mensahe ng balita na mababasa ng user kapag isinasagawa ang command na "guix pull --news".
  • Idinagdag ang command na "guix system describe", na ginagawang posible na suriin ang mga pagbabago sa pagitan ng dalawang magkaibang pagkakataon ng system sa panahon ng deployment.
  • Nagdagdag ng suporta para sa pagbuo ng mga imahe para sa Singularity at Docker sa command na "guix pack".
  • Idinagdag ang utos na "guix time-machine", na nagbibigay-daan sa iyong ibalik sa anumang paglabas ng isang package na naka-save sa archive Heritage software.
  • Idinagdag ang opsyong "--target" sa "guix system", na nagbibigay ng bahagyang suporta para sa cross-compilation;
  • Tinitiyak ang pagpapatupad ng Guix gamit Kalokohan 3, na may positibong epekto sa pagiging produktibo.
  • Ang package dependency graph ay limitado sa isang pinababang hanay ng mga binary seed na bahagi, na isang malaking hakbang patungo sa pagpapatupad ng ganap na nabe-verify na bootstrap.
  • Ang isang balangkas para sa awtomatikong pagsubok ng graphical installer ay ipinatupad. Ang installer ay binuo na ngayon sa isang tuluy-tuloy na sistema ng pagsasama at sinubukan sa iba't ibang mga pagsasaayos (naka-encrypt at regular na partition ng ugat, pag-install gamit ang mga desktop, atbp.).
  • Nagdagdag ng mga build system para sa Node.js, Julia at Qt, na nagpapasimple sa pagsulat ng mga package para sa mga application na nauugnay sa mga proyektong ito.
  • Nagdagdag ng mga bagong serbisyo ng system auditd, fontconfig-file-system, getmail, gnome-keyring, kernel-module-loader,
    knot-resolver, mumi, nfs, nftables, nix, pagekite, pam-mount, patchwork,
    polkit-wheel, provenance, pulseaudio, sane, singularity, usb-modeswitch

  • Ang mga bersyon ng mga programa sa 3368 na mga pakete ay na-update, 3514 na mga bagong pakete ay naidagdag. Kasama ang mga na-update na bersyon ng xfce 4.14.0, gnome 3.32.2, mate 1.24.0, xorg-server 1.20.7, bash 5.0.7, binutils 2.32, cups 2.3.1, emacs 26.3, enlightenment 0.23.1
    gcc 9.3.0, gimp 2.10.18, glibc 2.29,
    gnupg 2.2.20, go 1.13.9, guile 2.2.7,
    icecat 68.7.0-guix0-preview1, icedtea 3.7.0,
    libreoffice 6.4.2.2, linux-libre 5.4.31, , openjdk 12.33, perl 5.30.0, python 3.7.4,
    kalawang 1.39.0.

Paalalahanan ka namin na ang manager ng package ng GNU Guix ay batay sa mga pag-unlad ng proyekto ala at bilang karagdagan sa mga karaniwang function ng pamamahala ng package, sinusuportahan nito ang mga feature tulad ng pagsasagawa ng mga transactional update, ang kakayahang ibalik ang mga update, pagtatrabaho nang hindi nakakakuha ng mga pribilehiyo ng superuser, suporta para sa mga profile na nakatali sa mga indibidwal na user, ang kakayahang sabay na mag-install ng ilang bersyon ng isang program, mga tool sa pangongolekta ng basura (pagtukoy at pag-alis ng mga hindi nagamit na bersyon ng mga pakete ). Upang tukuyin ang mga senaryo sa pagbuo ng application at mga panuntunan sa pagbuo ng package, iminumungkahi na gumamit ng isang espesyal na mataas na antas na wika na partikular sa domain at mga bahagi ng Guile Scheme API, na nagbibigay-daan sa iyong isagawa ang lahat ng mga pagpapatakbo ng pamamahala ng package sa functional programming language Scheme.

Sinusuportahan ang kakayahang gumamit ng mga pakete na inihanda para sa Nix package manager at inilagay sa repositoryo
Nixpkgs. Bilang karagdagan sa mga pagpapatakbo na may mga pakete, posible na lumikha ng mga script upang pamahalaan ang mga pagsasaayos ng application. Kapag ang isang package ay binuo, ang lahat ng mga dependency na nauugnay dito ay awtomatikong dina-download at binuo. Posibleng mag-download ng mga yari na binary na pakete mula sa repositoryo o bumuo mula sa mga pinagmulang teksto na may lahat ng dependencies. Ang mga tool ay ipinatupad upang panatilihing napapanahon ang mga bersyon ng mga naka-install na program sa pamamagitan ng pag-aayos ng pag-install ng mga update mula sa isang panlabas na imbakan.

Ang build environment para sa mga package ay nabuo sa anyo ng isang lalagyan na naglalaman ng lahat ng mga sangkap na kinakailangan para gumana ang application, na nagpapahintulot sa iyo na lumikha ng isang hanay ng mga pakete na maaaring gumana nang walang pagsasaalang-alang sa komposisyon ng base system na kapaligiran ng pamamahagi, kung saan ang Guix ay ginagamit bilang isang add-on. Ang mga dependency ay maaaring matukoy sa pagitan ng mga pakete ng Guix sa pamamagitan ng pag-scan ng mga identifier na hash sa naka-install na direktoryo ng mga pakete upang mahanap ang pagkakaroon ng mga naka-install na dependency. Ang mga package ay naka-install sa isang hiwalay na puno ng direktoryo o subdirectory sa direktoryo ng gumagamit, na nagbibigay-daan dito upang mabuhay nang magkakatulad sa iba pang mga manager ng package at magbigay ng suporta para sa isang malawak na hanay ng mga umiiral na distribusyon. Halimbawa, ang package ay naka-install bilang /nix/store/f42a5878f3a0b426064a2b64a0c6f92-firefox-75.0.0/, kung saan ang "f42a58..." ay ang natatanging package identifier na ginagamit para sa pagsubaybay sa dependency.

Ang pamamahagi ay kinabibilangan lamang ng mga libreng bahagi at kasama ang GNU Linux-Libre kernel, na nilinis ng mga hindi libreng elemento ng binary firmware. GCC 9.3 ay ginagamit para sa pagpupulong. Ang tagapamahala ng serbisyo ay ginagamit bilang isang sistema ng pagsisimula GNU Pastol (dating dmd), na binuo bilang alternatibo sa SysV-init na may suporta sa dependency. Ang Shepherd control daemon at mga utility ay nakasulat sa Guile (isa sa mga pagpapatupad ng Scheme language), na ginagamit din para tukuyin ang mga parameter para sa paglulunsad ng mga serbisyo. Ang batayang imahe ay sumusuporta sa console mode, ngunit para sa pag-install pinaghandaan 13162 handa na mga pakete, kabilang ang mga bahagi ng graphics stack batay sa X.Org, ang dwm at ratpoison window managers, ang Xfce desktop, pati na rin ang isang seleksyon ng mga graphical na application.

Pinagmulan: opennet.ru

Magdagdag ng komento