Π‘ΠΎΡΡΠΎΡΠ»ΡΡ ΡΠ΅Π»ΠΈΠ· ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° GNU Guix 1.4 ΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ Π½Π° Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° GNU/Linux. ΠΠ»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Ρ ΠΎΠ±ΡΠ°Π·Ρ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π° USB Flash (814 ΠΠ) ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ (1.1 ΠΠ). ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ° Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°Ρ i686, x86_64, Power9, armv7 ΠΈ aarch64.
Die verspreiding laat installasie toe as 'n selfstandige bedryfstelsel in virtualisasiestelsels, in houers en op konvensionele toerusting, en kan in reeds geΓ―nstalleerde GNU/Linux-verspreidings bekendgestel word, wat as 'n platform vir die implementering van toepassings optree. Die gebruiker word voorsien van funksies soos om afhanklikhede in ag te neem, herhaalbare bouwerk, werk sonder wortel, terugrol na vorige weergawes in geval van probleme, konfigurasiebestuur, kloning van omgewings (skep 'n presiese kopie van die sagteware-omgewing op ander rekenaars), ens. .
Belangrikste innovasies:
- Verbeterde bestuur van sagteware-omgewings. Die "guix-omgewing"-opdrag is vervang deur die nuwe "guix-dop"-opdrag, wat jou toelaat om nie net bou-omgewings vir ontwikkelaars te skep nie, maar ook om omgewings te gebruik om jouself met programme te vergewis sonder om in die profiel weerspieΓ«l te word en sonder om " guix installeerβ. Byvoorbeeld, om die supertuxkart-speletjie af te laai en te begin, kan jy "guix shell supertuxkart - supertuxkart" hardloop. Nadat dit afgelaai is, sal die pakket in die kas gestoor word en die volgende bekendstelling sal nie nodig wees om dit weer te onttrek nie.
ΠΠ»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΉ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π² Β«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.
- Het packages.guix.gnu.org bekendgestel vir pakketnavigasie.
- ΠΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π² 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.
Laat ons onthou dat die GNU Guix-pakketbestuurder gebaseer is op die ontwikkelings van die Nix-projek en, benewens tipiese pakketbestuursfunksies, funksies ondersteun soos die uitvoer van transaksionele opdaterings, die vermoΓ« om opdaterings terug te rol, werk sonder om supergebruikervoorregte te verkry, ondersteuning profiele gekoppel aan individuele gebruikers, die vermoΓ« om gelyktydig verskeie weergawes van een program te installeer, vullisversamelingsnutsgoed (identifisering en verwydering van ongebruikte weergawes van pakkette). Om toepassingsbou-scenario's en pakketvormingreΓ«ls te definieer, word voorgestel om 'n gespesialiseerde hoΓ«vlak-domeinspesifieke taal en Guile Scheme API-komponente te gebruik, wat jou toelaat om alle pakketbestuurbewerkings in die funksionele programmeertaalskema uit te voer.
Die vermoΓ« om pakkette te gebruik wat vir die Nix-pakketbestuurder voorberei is en in die Nixpkgs-bewaarplek geplaas word, word ondersteun. Benewens bewerkings met pakkette, is dit moontlik om skrifte te skep om toepassingkonfigurasies te bestuur. Wanneer 'n pakket gebou word, word alle afhanklikhede wat daarmee geassosieer word outomaties afgelaai en gebou. Dit is moontlik om Γ³f klaargemaakte binΓͺre pakkette van die bewaarplek af te laai Γ³f uit brontekste met alle afhanklikhede te bou. Gereedskap is geΓ―mplementeer om weergawes van geΓ―nstalleerde programme op datum te hou deur die installering van opdaterings vanaf 'n eksterne bewaarplek te organiseer.
Die bou-omgewing vir pakkette word gevorm in die vorm van 'n houer wat al die komponente bevat wat nodig is vir die toepassing om te werk, wat jou toelaat om 'n stel pakkette te skep wat kan werk sonder inagneming van die samestelling van die basisstelsel-omgewing van die verspreiding, waarin Guix as 'n byvoeging gebruik word. Afhanklikhede kan tussen Guix-pakkette bepaal word deur identifiseerder-hashes in die geΓ―nstalleerde pakkette-gids te skandeer om die teenwoordigheid van reeds geΓ―nstalleerde afhanklikhede te vind. Pakkette word in 'n aparte gidsboom of subgids in die gebruiker se gids geΓ―nstalleer, wat dit moontlik maak om parallel met ander pakketbestuurders saam te bestaan ββen ondersteuning te bied vir 'n wye reeks bestaande verspreidings. Byvoorbeeld, die pakket is geΓ―nstalleer as /nix/store/452a5978f3b1b426064a2b64a0c6f41-firefox-108.0.1/, waar "452a59..." die unieke pakketidentifiseerder is wat vir afhanklikheidmonitering gebruik word.
Die verspreiding sluit slegs gratis komponente in en kom met die GNU Linux-Libre-kern, skoongemaak van nie-vrye elemente van binΓͺre firmware. GCC 12.2 word vir samestelling gebruik. Die GNU Shepherd-diensbestuurder (voorheen dmd) word gebruik as 'n inisialiseringstelsel, ontwikkel as 'n alternatief vir SysV-init met afhanklikheidsteun. Die Shepherd-beheerdemon en nutsprogramme is in Guile geskryf (een van die implementerings van die Skema-taal), wat ook gebruik word om parameters vir die bekendstelling van dienste te definieer. Die basisbeeld ondersteun werk in konsole-modus, maar 20526 XNUMX klaargemaakte pakkette is voorberei vir installasie, insluitend komponente van die X.Org-gebaseerde grafiese stapel, dwm en ratpoison venster bestuurders, GNOME en Xfce lessenaars, sowel as 'n seleksie van grafiese toepassings.
Bron: opennet.ru