Available ang GNU Guix 1.4 package manager at pamamahagi batay dito

Inilabas ang GNU Guix 1.4 package manager at ang GNU/Linux distribution na binuo batay dito. Para sa pag-download, nabuo ang mga larawan para sa pag-install sa USB Flash (814 MB) at gamitin sa mga virtualization system (1.1 GB). Sinusuportahan ang operasyon sa i686, x86_64, Power9, armv7 at aarch64 na mga arkitektura.

Ang pamamahagi ay nagbibigay-daan sa pag-install bilang isang stand-alone na OS sa mga virtualization system, sa mga lalagyan at sa kumbensyonal na kagamitan, at maaaring ilunsad sa naka-install na mga pamamahagi ng GNU/Linux, na kumikilos bilang isang platform para sa pag-deploy ng mga 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. .

Mga pangunahing inobasyon:

  • Pinahusay na pamamahala ng mga kapaligiran ng software. Ang utos na "guix environment" ay pinalitan ng bagong "guix shell" na utos, na nagpapahintulot sa iyo na hindi lamang lumikha ng mga build na kapaligiran para sa mga developer, ngunit gumamit din ng mga kapaligiran upang maging pamilyar sa mga programa nang hindi ipinapakita sa profile at hindi gumaganap ng " pag-install ng guix". Halimbawa, upang i-download at ilunsad ang larong supertuxkart, maaari mong patakbuhin ang "guix shell supertuxkart - supertuxkart". Pagkatapos ng pag-download, ang package ay ise-save sa cache at ang susunod na paglulunsad ay hindi mangangailangan ng muling pag-extract nito.

    Upang pasimplehin ang paglikha ng mga environment para sa mga developer, ang "guix shell" ay nagbibigay ng suporta para sa guix.scm at manifest.scm file na naglalarawan sa komposisyon ng kapaligiran (ang "--export-manifest" na opsyon ay maaaring gamitin upang bumuo ng mga file). Para gumawa ng mga container kung saan ang classic na system directory hierarchy ay ginagaya, ang β€œguix shell” ay nag-aalok ng β€œβ€”container β€”emulate-fhs” na mga opsyon.

  • Idinagdag ang command na "guix home" upang kontrolin ang kapaligiran sa bahay. Binibigyang-daan ka ng Guix na tukuyin ang lahat ng bahagi ng iyong kapaligiran sa bahay, kabilang ang mga pakete, serbisyo, at mga file na nagsisimula sa isang tuldok. Gamit ang command na "guix home," ang mga instance ng inilalarawang home environment ay maaaring muling likhain sa $HOME directory o sa isang container, halimbawa, upang ilipat ang iyong environment sa isang bagong computer.
  • Idinagdag ang opsyon na "-f deb" sa command na "guix pack" upang lumikha ng hiwalay na mga deb package na maaaring i-install sa Debian.
  • Upang lumikha ng iba't ibang uri ng mga imahe ng system (raw, QCOW2, ISO8660 CD/DVD, Docker at WSL2), ang isang unibersal na "guix system image" na utos ay iminungkahi, na nagbibigay-daan sa iyo upang matukoy ang uri ng imbakan, mga partisyon at operating system para sa nilikha na imahe. .
  • Ang opsyong β€œβ€”tune” ay idinagdag sa mga command para sa pagbuo ng mga pakete, na nagbibigay-daan sa iyong tukuyin ang processor microarchitecture kung saan ang mga partikular na pag-optimize ay paganahin (halimbawa, ang AVX-512 SIMD na mga tagubilin ay maaaring gamitin sa mga bagong AMD at Intel CPU) .
  • Ang installer ay nagpapatupad ng mekanismo upang awtomatikong i-save ang mahalagang impormasyon sa pag-debug kung sakaling mabigo ang pag-install.
  • Ang oras ng pagsisimula ng application ay nabawasan sa pamamagitan ng paggamit ng cache sa panahon ng dynamic na pag-link, na nagpapababa ng mga tawag sa stat at bukas na mga tawag sa system kapag naghahanap ng mga library.
  • Isang bagong release ng GNU Shepherd 0.9 initialization system ang ginamit, na nagpapatupad ng konsepto ng mga pansamantalang serbisyo (transient) at ang kakayahang lumikha ng mga serbisyong na-activate ng network activity (sa istilo ng systemd socket activation).
  • Nagdagdag ng bagong interface para sa pagtatakda ng laki ng swap partition sa configuration ng operating system.
  • Ang interface para sa pagtatakda ng isang static na configuration ng network ay muling idinisenyo, na ngayon ay nag-aalok ng isang deklaratibong analogue ng mga setting sa estilo ng ip command.
  • Nagdagdag ng 15 bagong serbisyo ng system, kabilang ang Jami, Samba, fail2ban at Gitile.
  • Inilunsad ang packages.guix.gnu.org para sa package navigation.
  • Ang mga bersyon ng mga programa sa 6573 mga pakete ay na-update, 5311 mga bagong pakete ay naidagdag. Sa iba pang mga bagay, ang mga na-update na bersyon ng 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. Inalis ang higit sa 500 mga pakete gamit ang Python 2.

Available ang GNU Guix 1.4 package manager at pamamahagi batay dito

Alalahanin natin na ang tagapamahala ng package ng GNU Guix ay batay sa mga pag-unlad ng proyekto ng Nix at, bilang karagdagan sa mga karaniwang function ng pamamahala ng pakete, ay sumusuporta sa mga tampok tulad ng pagsasagawa ng mga transactional update, ang kakayahang ibalik ang mga update, nagtatrabaho nang hindi nakakakuha ng mga pribilehiyo ng superuser, pagsuporta mga profile na nakatali sa mga indibidwal na gumagamit, ang kakayahang sabay na mag-install ng ilang bersyon ng isang programa, mga tool sa pagkolekta ng basura (pagkilala 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.

Ang kakayahang gumamit ng mga package na inihanda para sa Nix package manager at inilagay sa Nixpkgs repository ay suportado. 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 dependencies. 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/452a5978f3b1b426064a2b64a0c6f41-firefox-108.0.1/, kung saan ang "452a59..." 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 12.2 ay ginagamit para sa pagpupulong. Ang GNU Shepherd service manager (dating dmd) ay ginagamit bilang isang initialization system, 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. Sinusuportahan ng batayang imahe ang trabaho sa console mode, ngunit 20526 na handa na mga pakete ang inihanda para sa pag-install, kabilang ang mga bahagi ng X.Org-based na graphics stack, dwm at ratpoison window managers, GNOME at Xfce desktop, pati na rin ang isang seleksyon ng mga graphical mga aplikasyon.

Pinagmulan: opennet.ru

Magdagdag ng komento