antiX-26 — zase o niečo lepší #6 + GNU Guix prakticky
Dnes si ukážeme praktické ukážky použitia Guix.
Minulá časť
… bola taká — no trochu teoretická, ale verím, že zaujímavá. Pre mňa je spomínaný Guix taký, no ťažko to definovať, proste príjemný, asi ako nová hračka. A súčasne som sa hral s úpravami niektorých LaTeX dokumentov, aby ich „prehrýzol“ program Tectonic, ktorý je postavený na XeTeX-u.
Keď som si ho chcel spustiť na pracovnom PC, tak v prípade najnovšej verzie vyskočila hláška o nejakom nesúlade s verziami knižníc glibc. No chcelo to novšiu, ale zase iný program chce staršiu. To je vždy trochu zapeklité, lebo zmena glibc môže ovplyvniť systémové služby. Samotný program nie je preložený staticky. Dalo by sa aj laborovať s cestami a LD_LIBRARY_PATH. Ale vôbec sa mi do toho nechcelo.
Našťastie mi Guix, vďaka svojej architektúre, pomohol. A aj na laptope, kde nie je inštalovaný. Ako? Aj o tom bude reč.
Inštalácia
Podstatné veci v oficiálnej dokumentácii začínajú kapitolou Binárna inštalácia. Vývojári ponúkajú skript, ktorý spraví za nás nasledovné:
- stiahnutie binárneho archívu,
- nastavenie démona,
- sprístupnenie guix pre bežných používateľov,
- konfigurácia substitútov.
Takže ako root spustíme príkazy:
wget https://guix.gnu.org/guix-install.sh chmod +x guix-install.sh ./guix-install.sh
Výstup z inštalácie je takýto:
░░░ ░░░
░░▒▒░░░░░░░░░ ░░░░░░░░░▒▒░░
░░▒▒▒▒▒░░░░░░░ ░░░░░░░▒▒▒▒▒░
░▒▒▒░░▒▒▒▒▒ ░░░░░░░▒▒░
░▒▒▒▒░ ░░░░░░
▒▒▒▒▒ ░░░░░░
▒▒▒▒▒ ░░░░░
░▒▒▒▒▒ ░░░░░
▒▒▒▒▒ ░░░░░
▒▒▒▒▒ ░░░░░
░▒▒▒▒▒░░░░░
▒▒▒▒▒▒░░░
▒▒▒▒▒▒░
_____ _ _ _ _ _____ _
/ ____| \ | | | | | / ____| (_)
| | __| \| | | | | | | __ _ _ ___ __
| | |_ | . ' | | | | | | |_ | | | | \ \/ /
| |__| | |\ | |__| | | |__| | |_| | |> <
\_____|_| \_|\____/ \_____|\__,_|_/_/\_\
https://www.gnu.org/software/guix/
This script installs GNU Guix on your system
To uninstall, pass in the '--uninstall' parameter.
Press return to continue...
[1781253137.903]: Starting installation (Pi 12. jún 2026, 08:32:17 UTC)
[1781253137.931]: [ FAIL ] Init system could not be detected.
[1781253137.951]: [ PASS ] verification of required commands completed
[1781253138.034]: [ INFO ] system is x86_64-linux
2026-06-12 08:32:19 URL:https://mirrors.nav.ro/gnu/guix/ [22308] -> "-" [1]
[1781253139.742]: [ PASS ] Release for your system: guix-binary-1.5.0.x86_64-linux
[1781253139.746]: [ INFO ] Downloading Guix release archive
guix-binary-1.5.0.x86_64-linux.tar.xz 100%[============================================================================>] 129,69M 2,71MB/s za 39s
2026-06-12 08:32:59 URL:https://ftp.man.poznan.pl/gnu/guix/guix-binary-1.5.0.x86_64-linux.tar.xz [135985908/135985908] -> "/tmp/guix.mPzw8v/guix-binary-1.5.0.x86_64-linux.tar.xz" [1]
guix-binary-1.5.0.x86_64-linux.tar.xz.s 100%[============================================================================>] 566 --.-KB/s za 0s
2026-06-12 08:33:00 URL:https://mirror.easyname.at/gnu/guix/guix-binary-1.5.0.x86_64-linux.tar.xz.sig [566/566] -> "/tmp/guix.mPzw8v/guix-binary-1.5.0.x86_64-linux.tar.xz.sig" [1]
UKONČENÉ --2026-06-12 08:33:00--
Celkový čas: 41s
Stiahnutých: 2 súborov, 130M za 39s (3,34 MB/s)
[1781253180.841]: [ PASS ] download completed.
[1781253182.118]: [ PASS ] Signature is valid.
[1781253182.125]: [ INFO ] Installing /var/guix and /gnu...
[1781253197.400]: [ INFO ] Linking the root user's profile
[1781253197.416]: [ PASS ] activated root profile at /root/.config/guix/current
[1781253197.428]: [ INFO ] group kvm exists and build users will be added to it
[1781253197.522]: [ PASS ] group <guixbuild> created
[1781253197.650]: [ PASS ] user added <guixbuilder01>
[1781253198.789]: [ FAIL ] unsupported init system; run the daemon manually:
~root/.config/guix/current/bin/guix-daemon --build-users-group=guixbuild
[1781253198.796]: [ INFO ] making the guix command available to other users
Permit downloading pre-built package binaries from the project's build farms? [Y/n]y
hint: Consider installing the `glibc-locales' package and defining `GUIX_LOCPATH', along these lines:
guix install glibc-locales
export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale"
See the "Application Setup" section in the manual, for more info.
[1781253211.141]: [ PASS ] Authorized public key for bordeaux.guix.gnu.org
hint: Consider installing the `glibc-locales' package and defining `GUIX_LOCPATH', along these lines:
guix install glibc-locales
export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale"
See the "Application Setup" section in the manual, for more info.
[1781253211.484]: [ PASS ] Authorized public key for ci.guix.gnu.org
[1781253211.529]: [ PASS ] installed shell completion
Customize users Bash shell prompt for Guix? [Y/n]y
[1781253216.533]: [ PASS ] Bash shell prompt successfully customized for Guix
[1781253216.540]: [ INFO ] cleaning up /tmp/guix.mPzw8v
[1781253216.606]: [ PASS ] Guix has successfully been installed!
[1781253216.617]: [ INFO ] Run 'info guix' to read the manual.
[1781253216.624]: [ INFO ] Please log out and back in to complete the installation.
Inštalácia sa spýta na uloženie autorizačných kľúčov a povolenie substitútov.
Počas inštalácie som antiX Core som zaznamenal chybu: [ FAIL ] Init system could not be detected. Guix podporuje init systémy systemd, SysVinit, Shepherd (init systém distribúce Guix OS). Ale to nevadí, v podstate sa jedná o pridanie pravidla pre spustenie démona pri štarte OS. Ktorý je po inštalácii umiestnený v našom prípade v /root/.config/guix/current/bin/guix-daemon.
Takže podľa DE/WM/init-u si ho pridáme do .xinitrc, .xsession, ~/.config/autostart alebo podobného súboru, ktorý sa spúšťa pri štarte. Kto používa spomínané „bežné“ inity, tento krok robiť nemusí.
Výhoda démona spočíva v tom, že väčšina operácií Guix-u môže prebiehať súčasne. Takže sa nám nestane lock ako v prípade APT, ak jedna jeho úloha beží a požadujeme súčasne ďalšiu.
Vyhľadávanie balíkov
Následné výstupy zo skriptov budem krátiť.
Vyhľadávanie pomocou guix search <reťazec>.
$ guix search tectonic name: tectonic version: 0.15.0 outputs: + out: everything systems: x86_64-linux dependencies: fontconfig-minimal@2.14.0 freetype@2.13.3 graphite2@1.3.13 harfbuzz@11.4.4 icu4c@73.1 openssl@3.0.8 pkg-config@0.29.2 rust-deunicode@1.6.1 location: gnu/packages/rust-apps.scm:2804:2 homepage: https://tectonic-typesetting.github.io/ license: Expat synopsis: Complete, embeddable TeX/LaTeX engine description: This package provides a modernized, complete, embeddable TeX/LaTeX engine. Tectonic is forked from the XeTeX extension to the classic Web2C + implementation of TeX and uses the TeXLive distribution of support files. relevance: 32
Inštalácia balíka
Príkaz: guix install <názov@verzia> prípadne len guix package -i <názov@verzia>; prípadne, ak chceme najnovšiu verziu tak bez @verzia.
Prepínač --no-substitutes vynúti inštaláciu zo zdrojových kódov. Vtedy dochádza k stiahnutiu knižníc pre samotný preklad a tiež kompilačné nástroje.
$ guix install tectonic
The following package will be installed:
tectonic 0.15.0
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 100.0%
substitute: looking for substitutes on 'https://ci.guix.gnu.org'... 100.0%
The following derivation will be built:
/gnu/store/2rls3z3cb3rraxlqid4cyg6a7qha004p-profile.drv
141.2 MB will be downloaded
hint: Consider installing the `glibc-locales' package and defining
`GUIX_LOCPATH', along these lines:
guix install glibc-locales
export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale"
See the "Application Setup" section in the manual, for more info.
module-import-compiled 107KiB 563KiB/s 00:00 ▕██████████████████▏ 100.0%
coreutils-9.1 2.5MiB 1.4MiB/s 00:02 ▕██████████████████▏ 100.0%
desktop-file-utils-0.26 44KiB 2.1MiB/s 00:00 ▕██████████████████▏ 100.0%
libffi-3.4.6 60KiB 3.3MiB/s 00:00 ▕██████████████████▏ 100.0%
⁞
⁞
building fonts directory...
generating GLib schema cache...
building directory of Info manuals...
building XDG desktop file cache...
building XDG MIME database...
building profile with 1 package...
Odinštalácia balíka
Príkaz guix remove <názov> alebo guix package -r <názov>.
$ guix remove pandoc The following package will be removed: pandoc 2.19.2 The following derivation will be built: /gnu/store/pwx680hzpbcmr0k9gc5844l6dmpvc25z-profile.drv building CA certificate bundle... listing Emacs sub-directories... building fonts directory... generating GdkPixbuf loaders cache... generating GLib schema cache... creating GTK+ icon theme cache... building cache files for GTK+ input methods... building directory of Info manuals... building XDG desktop file cache... building XDG MIME database... building profile with 4 packages..
Pri odinštalovaní sa konkrétny balík z /gnu/store nezmaže. Vytvorí sa „iba“ nová generácia a príslušný balík sa zmaže z disku a profilov, iba ak sa zmaže príslušná generácia. Takto možno prepínať medzi jednotlivými generáciami/zostavami balíkov.
Práca s generáciami a.k.a stroj času
Každá generácia je úplný snímok (snapshot) systému v konkrétnom okamihu, ktorý obsahuje:
- aktuálnu verziu Guix,
- zoznam nainštalovaných balíkov,
- konfiguráciu systému.
Generácia sa vytvára pri príkazoch
guix pull+guix upgrade(aktualizácia Guix a samotných balíkov),guix system reconfigure(úprava systémovej konfigurácie),guix install,guix remove.
Čo sa dá s tým robiť:
| Funkcia | Príkaz |
|---|---|
| Zoznam generácií | guix package --list-generations |
| Vrátenie sa späť (na predch. generáciu) | guix package --roll-back |
| Vrátenie na N-tú generáciu | guix package --switch-generation=N |
| Zmazanie generácie | guix package --delete-generations=N |
A ešte pripomenieme pár výhod:
- každá generácia je uložená ako izolované prostredie v
/gnu/store/a príslušných profiloch v~/guix-profile/. - záloha a krok späť funguje aj keď sa systém úplne „dobabre“ (stačí vybrať funkčnú generáciu).
Ale aj nevýhod:
- zaberajú podstatne viac diskového priestoru (každá generácia je plný snímok systému, nielen zmeny),
- aktualizácie sú pomalšie ako pri klasických systémoch (namiesto aktualizácie jednotlivých súborov sa preinštalujú celé balíky).
Napríklad:
$ guix package --list-generations Generation 1 Jun 12 2026 08:36:53 tectonic 0.15.0 out /gnu/store/lrvg69piva2r4sx1h53igxavraxp7rxk-tectonic-0.15.0 Generation 2 Jun 12 2026 11:36:05 + pcb2gcode 2.5.0-0.8c084af out /gnu/store/pzp3myq2fqcfyc8lnk1z2sfpf87i05z9-pcb2gcode-2.5.0-0.8c084af Generation 3 Jun 15 2026 10:25:49 + pdftk 3.3.3 out /gnu/store/va3l317asmv7sdck94ravwv3mvwkmy12-pdftk-3.3.3 + pandoc 2.19.2 out /gnu/store/9amfkw1z77nqc3idjqxggs9sbmv1j4jp-pandoc-2.19.2 + yt-dlp 2025.11.12 out /gnu/store/d2qafyqlpy4r9pm8l8hcbqd3r701rnww-yt-dlp-2025.11.12 Generation 4 Jun 15 2026 10:26:52 (current) - pandoc 2.19.2 out /gnu/store/9amfkw1z77nqc3idjqxggs9sbmv1j4jp-pandoc-2.19.2
V tomto konkrétnom príklade sme aktuálne v generácii č. 4, a teda program pandoc už nie je nainštalovaný. Ak však zadáme príkaz guix package --switch-generation=3, vrátime sa do stavu generácie č. 3 a program pandoc je dostupný.
Tu je dôkaz 😃:
$ guix package --switch-generation=3 switched from generation 4 to 3 $ guix package --list-generations Generation 1 Jun 12 2026 08:36:53 tectonic 0.15.0 out /gnu/store/lrvg69piva2r4sx1h53igxavraxp7rxk-tectonic-0.15.0 Generation 2 Jun 12 2026 11:36:05 + pcb2gcode 2.5.0-0.8c084af out /gnu/store/pzp3myq2fqcfyc8lnk1z2sfpf87i05z9-pcb2gcode-2.5.0-0.8c084af Generation 3 Jun 15 2026 10:25:49 (current) + pdftk 3.3.3 out /gnu/store/va3l317asmv7sdck94ravwv3mvwkmy12-pdftk-3.3.3 + pandoc 2.19.2 out /gnu/store/9amfkw1z77nqc3idjqxggs9sbmv1j4jp-pandoc-2.19.2 + yt-dlp 2025.11.12 out /gnu/store/d2qafyqlpy4r9pm8l8hcbqd3r701rnww-yt-dlp-2025.11.12 Generation 4 Jun 15 2026 10:26:52 - pandoc 2.19.2 out /gnu/store/9amfkw1z77nqc3idjqxggs9sbmv1j4jp-pandoc-2.19.2 $ ~/.guix-profile/bin/pandoc --version pandoc 2.19.2 Compiled with pandoc-types 1.22.2.1, texmath 0.12.5.5, skylighting 0.13.2.1, citeproc 0.8.1, ipynb 0.2, hslua 2.2.1 Scripting engine: Lua 5.4
Aktualizácia systému
Príkaz guix pull stiahne najnovšiu verziu samotného Guix-u, následne guix upgrade aktualizuje nainštalované programy (príp. guix upgrade <názov> pre konkrétny program) a vytvorí novú generáciu.
Tento proces je výrazne pomalší ako v prípade „bežného“ správcu balíkov ako APT. Je to preto, že klonuje celý repozitár (nielen zmeny), každý jeden balík sa overuje (teda nie len repozitár), Guix je napísaný v Scheme (resp. Guile) — a ten je pomalší.
Príklad:
$ guix pull Building from this channel: guix https://git.guix.gnu.org/guix.git e656664 looking for substitutes on 'https://bordeaux.guix.gnu.org'... 100.0% substitute: looking for substitutes on 'https://ci.guix.gnu.org'... 100.0% building /gnu/store/b82cggd14k9d8k12kzga8spikk6zbs29-config.scm.drv... building /gnu/store/af3pib48v8wy2im7wvwimrnzh1m6dakd-git.scm.drv... building /gnu/store/r4wpkc97dj09zpx0wvrg1cm5pllhhzhd-hash.scm.drv... ⁞ ⁞ building /gnu/store/1425bznb5lrj0iyymcib37s2129kshpg-module-import.drv... building /gnu/store/bd9zwmifa5bgjcbvnc19jr72y72a141w-module-import.drv... building /gnu/store/k1i9kgq8r0wi3gl2mr6rdq1wwqbn0744-module-import-compiled.drv... building /gnu/store/nmdz49bv3w77vvn6yhjj5r8kb9mw4mnd-module-import-compiled.drv... building /gnu/store/hl8skcriy4ksj3bnx0i3xcngcn3scxjb-compute-guix-derivation.drv... substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 100.0% graphviz-minimal-7.0.1-doc 967KiB 28.2MiB/s 00:00 ▕██████████████████▏ 100.0% bash-static-5.2.37 730KiB 2.2MiB/s 00:00 ▕██████████████████▏ 100.0% font-dejavu-2.37 2.3MiB 1.9MiB/s 00:01 ▕██████████████████▏ 100.0% glibc-2.41 8.7MiB 2.1MiB/s 00:04 ▕██████████████████▏ 100.0% guile-lib-0.2.8.1 399KiB 2.0MiB/s 00:00 ▕██████████████████▏ 100.0% ⁞ ⁞ building /gnu/store/7sb3mwv769ispdx1axhp8qxcicwn8azh-guix-config.drv... building /gnu/store/s4xxzwyclkx4v4dq0hlhzblvx7svdqr2-guix-config-modules.drv... building /gnu/store/7jr5gajb4v83db9hx241hj931skbpg4d-guix-e65666462-modules.drv... listing Emacs sub-directories... building fonts directory... building directory of Info manuals...
Práca s „garbage collectorom“
Príkaz guix gc čistí nepotrebné dáta (neodkazované súbory, staré generácie, nepoužívané profily).
Základné parametre:
| Parameter | Význam |
|---|---|
--delete | Odstráni neodkazované dáta (bezpečné, iba uvoľňuje miesto). |
--optimize | Optimalizuje úložisko (agresívnejšie, zlučuje odkazy). |
--list-roots | Zoznam „živých odkazov“ (čo systém považuje za používané). |
Príkaz guix gc (bez parametrov) vykoná guix gc --optimize --delete
Mimochodom, staré generácie systému sa nezmažú. Ani programy, ktoré sú ich súčasťou.
A ešte možno aj nastaviť, koľko priestoru má Guix na disku zaberať, resp. koľko voľného má ostať. Potom opakovane automaticky maže nepotrebné programy. Taktiež možno nastaviť, aby mazal staré generácie, napr. staršie ako 30 dní: guix gc --delete-generations=30.
„Guix si pamätá všetko, kým sa mu nepovie inak. Podobne ako manželka 😀.“
$ guix gc finding garbage collector roots... deleting garbage... [ 0 bytes] deleting '/gnu/store/mdcb3fgvv6809l0c38b4mrlcfg5mms1d-rust-1.74.1.drv' [ 3.11 KiB] deleting '/gnu/store/isf8h2xhqadkscvnw7nj1pgga5fjbwpl-rust-1.73.0.drv' [ 6.22 KiB] deleting '/gnu/store/65j5kmj5b7dj1im8v0ra4iaqnzqlf34p-rust-1.72.1.drv' [ 9.33 KiB] deleting '/gnu/store/07ydyxivwddwl13f6fz5x5ms4hj645fm-rust-1.71.1.drv' [ 12.43 KiB] deleting '/gnu/store/38v7d7pacxnr7wqkxkfls1g7avv7dfq0-rust-1.70.0.drv' [ 15.54 KiB] deleting '/gnu/store/fj5cqhy95mhrcmamw9qgd48c74dg6nj0-rust-1.69.0.drv' [ 18.65 KiB] deleting '/gnu/store/qcgkl1v620lmgz1f7p2jfsih4n6c58xp-rust-1.68.2.drv' ⁞ ⁞ [ 310.66 MiB] deleting '/gnu/store/x3sz1d49kbyq0wk03yp2ks79cbvy80gx-rustc-1.73.0-src.tar.zst-builder' [ 310.66 MiB] deleting '/gnu/store/cly3sjr5hvwsazmbbns18nsbfdvfmykv-rustc-1.68.2-src.tar.gz.drv' [ 310.66 MiB] deleting '/gnu/store/bim2620myd2pzqkn2h5v1kxk011w2gck-rustc-1.60.0-src.tar.zst-builder' [ 310.67 MiB] deleting '/gnu/store/42ybqddigqw9bx7hax39mmq2zl6dfcx4-rustc-1.57.0-src.tar.gz.drv' [ 310.67 MiB] deleting '/gnu/store/vhqyqyxzlqrcx7gksrj70fn6qk1w2x3c-gtk-icon-themes' deleting `/gnu/store/trash' deleting unused links... note: currently hard linking saves 501.72 MiB guix gc: freed 440 MiB
Z príkladu vidíme, že cca 500 MB sa zdieľa medzi balíkmi navzájom (lebo rovnaký hash knižníc!).
Vytvorenie prenosného balíka
To je super vec, ktorá umožní vytvorenie spustiteľných archívov z balíkov (bez potrebného Guix na inom počítači) Presne takto som si vytvoril AppImage, ktorý krásne funguje na laptope bez Guix-u. Všetky závislosti sú pochopiteľne v archíve.
Použil som príkaz: guix pack -f appimage --entry-point=bin/tectonic --relocatable tectonic, kde entry-point je binárka, ktorá sa spustí po spustení AppImage (defacto symlink na /usr/bin/ v AppImage), a --relocatable pripojí všetky potrebné knižnice pre beh programu.
$ guix pack -f appimage --entry-point=bin/tectonic --relocatable tectonic substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 100.0% substitute: looking for substitutes on 'https://ci.guix.gnu.org'... 100.0% The following derivations will be built: /gnu/store/n5r9w196xfcscg8gz28977vj9cfxvfp6-module-import-compiled.drv /gnu/store/2jzd7f1nkz3zifbn2kv5m009lsx6mlav-module-import-compiled.drv /gnu/store/vagcpbvkdczavab14m7n1nj1b2rlrg17-module-import-compiled.drv /gnu/store/4phmxhc8az20gr9mmcjyvfdxpi174gpj-c-compiler.drv /gnu/store/d49cgg8lhhqzr70r6rkz9w8rmfiyzgxd-tectonic-0.15.0R.drv /gnu/store/rx6bba8l75sp97kb9gskb2qyk9aisn0w-profile.drv /gnu/store/6nzlwh4hgs12n1320bc9ghwms2f2avai-tectonic-appimage-pack.AppImage.drv 33.7 MB will be downloaded module-import-compiled 107KiB 641KiB/s 00:00 ▕██████████████████▏ 100.0% file-5.46 356KiB 606KiB/s 00:01 ▕██████████████████▏ 100.0% glibc-2.41-static 1.5MiB 2.2MiB/s 00:01 ▕██████████████████▏ 100.0% libffi-3.4.6 60KiB 1.5MiB/s 00:00 ▕██████████████████▏ 100.0% libfontenc-1.1.8 44KiB 2.4MiB/s 00:00 ▕██████████████████▏ 100.0% libgc-8.2.8 230KiB 2.0MiB/s 00:00 ⁞ ⁞ building /gnu/store/n5r9w196xfcscg8gz28977vj9cfxvfp6-module-import-compiled.drv... building /gnu/store/vagcpbvkdczavab14m7n1nj1b2rlrg17-module-import-compiled.drv... building /gnu/store/4phmxhc8az20gr9mmcjyvfdxpi174gpj-c-compiler.drv... building /gnu/store/d49cgg8lhhqzr70r6rkz9w8rmfiyzgxd-tectonic-0.15.0R.drv... building CA certificate bundle... listing Emacs sub-directories... building fonts directory... building directory of Info manuals... building profile with 1 package... building /gnu/store/6nzlwh4hgs12n1320bc9ghwms2f2avai-tectonic-appimage-pack.AppImage.drv... /gnu/store/jhkf5zhbjmlhlpwbjcmy9lxwpk66lr1x-tectonic-appimage-pack.AppImage
Guix dokáže vytvoriť tieto balíky:
- tarball (binárky a symlinky),
- docker (defacto tarball, ktorý nasleduje špecifikáciu obrazu pre docker),
- squashfs (komprimovaný, read-only súborový systém v jednom binárnom súbore),
- deb,
- rpm,
- appimage (posledné tri netreba predstavovať).
Odinštalácia celého Guix-u
Ak sa chceme zbaviť celého balíkovacieho systému, nainštalovaných programov i profilov, najjednoduchšie je ako root spustiť príkazy (wget vtedy, ak už nemáme pôvodný inštalačný skript):
wget https://guix.gnu.org/guix-install.sh chmod +x guix-install.sh ./guix-install.sh --uninstall
Špecifikovanie ďalších kanálov
Okrem dvoch predvolených možno pridať aj ďalšie kanály, ktoré si možno predstaviť ako repozitáre (nie je to úplne presné, lebo repozitáre majú u seba uložné konkrétne balíčky, kdežto kanál môže len odkazovať na iné/cudzie git úložiská).
Robí sa to editovaním ~/.config/guix/channels.scm
(cons (channel
(name 'variant-packages)
(url „https://<adresa>.git“))
%default-channels)
Všimnite si, že úryvok vyššie je kód v Scheme; používa sa cons (párová dvojica) pridanie kanála do zoznamu kanálov, ku ktorému je viazaná premenná %default-channels.
Viac o autorizácii kanálov a pod. v príslušných stránkach dokumentácie.
Ešte jeden príkaz na záver: weather
Vtipný príkaz guix weather – názov je ironický — v zmysle „ako je vonku“ = dostupnosť služieb.
$ guix weather
computing 32402 package derivations for x86_64-linux...
looking for 38258 store items on https://bordeaux.guix.gnu.org...
https://bordeaux.guix.gnu.org ☀
99.1% substitutes available (37925 out of 38258)
at least 134266.6 MiB of nars (compressed)
352048.9 MiB on disk (uncompressed)
0.041 seconds per request (1568.2 seconds in total)
24.4 requests per second
(continuous integration information unavailable)
looking for 38258 store items on https://ci.guix.gnu.org...
https://ci.guix.gnu.org ☀
98.8% substitutes available (37801 out of 38258)
at least 226829.8 MiB of nars (compressed)
360040.0 MiB on disk (uncompressed)
0.006 seconds per request (233.4 seconds in total)
163.9 requests per second
0.0% (0 out of 457) of the missing items are queued
at least 1000 queued builds
powerpc64le-linux: 527 (52.7%)
riscv64-linux: 414 (41.4%)
x86_64-linux: 55 (5.5%)
i686-linux: 2 (.2%)
aarch64-linux: 2 (.2%)
build rate: 302.09 builds per hour
x86_64-linux: 301.49 builds per hour
aarch64-linux: -15.79 builds per hour
i686-linux: 17.48 builds per hour
„Každý nástroj potrebuje dobré meno. Toto je štýl Guix.“
Tabuľka hlavných príkazov a porovnanie s APT
| APT | Guix | Význam |
|---|---|---|
apt update | guix pull | Aktualizuje zoznam dostupných balíkov/softvéru. |
apt upgrade | guix upgrade | Aktualizuje všetky nainštalované balíky na najnovšie verzie. |
apt install <názov> | guix package -i <názov> | Nainštaluje špecifikovaný balík. |
apt remove <názov> | guix package -r <názov> | Odinštaluje špecifikovaný balík. |
apt autoremove | guix package --delete-generations + guix gc | Odstráni nepoužívané závislosti/staré generácie balíkov. |
apt search <reťazec> | guix search <reťazec> | Vyhľadá balíky podľa zadaného názvu alebo popisu. |
apt show <názov> | guix show <názov> | Zobrazí detailné informácie o balíku. |
apt list --installed | guix package --list-installed | Zoznam nainštalovaných balíkov. |
apt purge <názov> | guix package -r <názov> | Odinštaluje balík vrátane konfiguračných súborov. |
apt clean | guix gc | Vyčistí úložisko stiahnutých balíkov (Guix má iný mechanizmus). |
prepínač -s | prepínač --dry-run | vypíše, čo bude spravené = test akcie pred vykonaním |
Záver
GNU Guix predstavuje alternatívu v svete správy balíkov, spojením spoľahlivosti systémov (ako Nix, ktorý bol inšpiráciou) s pokročilými možnosťami správy systému. Jeho model „replikovateľnej infraštruktúry“ umožňuje zrkadlenie prostredí medzi systémami. Koncepcia atomických operácií a rollbacku/generácií zvyšuje stabilitu systému.
Na druhej strane — je to nové, vcelku komplexné — a teda je potrebná investícia do času a chuti.
Je to odlišný prístup: namiesto inštalácie softvéru do operačného systému spoločne s ním udržujeme celú replikovateľnú infraštruktúru.

Pre pridávanie komentárov sa musíte prihlásiť.