tech:guix_le_gestionnaire_de_paquets_complementaire_multi_distro
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| tech:guix_le_gestionnaire_de_paquets_complementaire_multi_distro [2025/09/25 15:03] – Jean-Baptiste | tech:guix_le_gestionnaire_de_paquets_complementaire_multi_distro [2026/06/29 15:30] (Version actuelle) – Jean-Baptiste | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | < | ||
| + | {{tag> | ||
| + | |||
| + | # Guix le gestionnaire de paquets complémentaire multi distro | ||
| + | |||
| + | Avantage : | ||
| + | * Indépendance par rapport à la distro | ||
| + | * Reproductibilité, | ||
| + | * Réversibilité | ||
| + | * Permettre à des utilisateurs (non root) de facilement installer programmes | ||
| + | * Compilation | ||
| + | ** Plus de souplesse | ||
| + | ** Plus de confiance dans un code source vérifiable que dans un fichier binaire | ||
| + | |||
| + | Inconvénient : | ||
| + | * Toujours en bêta | ||
| + | * Compilation | ||
| + | ** Plus lent | ||
| + | ** Nécessite un compilateur installé et plusieurs bibliothèques (libraries) | ||
| + | * Que GNU/Linux, ne support pas BSD et autres | ||
| + | |||
| + | Liens : | ||
| + | * http:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | |||
| + | Voir : | ||
| + | * https:// | ||
| + | * https:// | ||
| + | |||
| + | Voir aussi : | ||
| + | * Flatpak | ||
| + | * [AppImage](https:// | ||
| + | * Snap | ||
| + | * http:// | ||
| + | * http:// | ||
| + | |||
| + | |||
| + | ## Installation | ||
| + | |||
| + | ** Note : Copier-coller pour archive perso ** | ||
| + | Ce référer à la doc officiel</ | ||
| + | |||
| + | Source : https:// | ||
| + | |||
| + | |||
| + | ### Préinstall | ||
| + | |||
| + | Voir les dépendances : https:// | ||
| + | |||
| + | ~~~bash | ||
| + | apt-get install guile-2.0-dev guile-2.0 libgcrypt20-dev libbz2-dev libsqlite3-dev autopoint | ||
| + | ~~~ | ||
| + | |||
| + | Source : https:// | ||
| + | |||
| + | |||
| + | ~~~bash | ||
| + | groupadd --system guixbuild | ||
| + | for i in `seq -w 1 10`; | ||
| + | do | ||
| + | useradd -g guixbuild -G guixbuild | ||
| + | -d /var/empty -s `which nologin` | ||
| + | -c "Guix build user $i" --system | ||
| + | guixbuilder$i; | ||
| + | done | ||
| + | ~~~ | ||
| + | |||
| + | ~~~ | ||
| + | useradd is a low level utility for adding users. On Debian, administrators should usually use adduser(8) instead. | ||
| + | ~~~ | ||
| + | |||
| + | |||
| + | ### Install | ||
| + | |||
| + | Le serveur de clefs keys.gnupg.net ne semble plus accessible | ||
| + | ~~~bash | ||
| + | # gpg --keyserver keys.gnupg.net --recv-keys 3D9AEBB5 | ||
| + | gpg --keyserver hkp:// | ||
| + | ~~~ | ||
| + | |||
| + | ~~~bash | ||
| + | wget ftp:// | ||
| + | gpg --verify guix-binary-0.10.0.system.tar.xz.sig | ||
| + | ~~~ | ||
| + | |||
| + | ~~~bash | ||
| + | tar --warning=no-timestamp -xf guix-binary-0.10.0.system.tar.xz | ||
| + | mv var/guix /var/ | ||
| + | mv gnu / | ||
| + | ~~~ | ||
| + | |||
| + | ~~~bash | ||
| + | ln -sf / | ||
| + | ~~~ | ||
| + | |||
| + | ~~~bash | ||
| + | cp / | ||
| + | systemctl start guix-daemon | ||
| + | systemctl status guix-daemon | ||
| + | systemctl enable guix-daemon | ||
| + | ~~~ | ||
| + | |||
| + | ~~~bash | ||
| + | mkdir -p / | ||
| + | cd / | ||
| + | ln -s / | ||
| + | ~~~ | ||
| + | |||
| + | ~~~bash | ||
| + | mkdir -p / | ||
| + | cd / | ||
| + | for i in / | ||
| + | do | ||
| + | ln -s $i | ||
| + | done | ||
| + | cd - | ||
| + | ~~~ | ||
| + | |||
| + | Ajout de la clef publique pour le dépôt hydra.gnu.org | ||
| + | ~~~bash | ||
| + | # Faut-il utiliser " | ||
| + | # ./ | ||
| + | guix archive --authorize < / | ||
| + | ~~~ | ||
| + | |||
| + | ~~~ | ||
| + | warning: failed to install locale: Invalid argument | ||
| + | ~~~ | ||
| + | |||
| + | https:// | ||
| + | ~~~bash | ||
| + | guix package -i glibc-locales | ||
| + | guix package -i glibc-utf8-locales | ||
| + | export GUIX_LOCPATH=$HOME/ | ||
| + | export PATH=" | ||
| + | ~~~ | ||
| + | |||
| + | ~~~bash | ||
| + | ls $GUIX_LOCPATH/ | ||
| + | export LC_ALL=fr_FR.UTF-8 | ||
| + | # LC_ALL=C.UTF-8 | ||
| + | ~~~ | ||
| + | |||
| + | On refait : | ||
| + | ~~~bash | ||
| + | guix archive --authorize < / | ||
| + | ~~~ | ||
| + | Plus de `warning: failed to install locale: Invalid argument` | ||
| + | |||
| + | |||
| + | ### Postinstall | ||
| + | |||
| + | Voir https:// | ||
| + | |||
| + | ~~~bash | ||
| + | chgrp guixbuild -R /gnu/store | ||
| + | chmod 1775 /gnu/store | ||
| + | ~~~ | ||
| + | |||
| + | ~~~bash | ||
| + | guix pull | ||
| + | ~~~ | ||
| + | |||
| + | Erreur : | ||
| + | ~~~ | ||
| + | Starting download of / | ||
| + | From http:// | ||
| + | | ||
| + | unpacking '/ | ||
| + | substitute: warning: failed to install locale: Invalid argument | ||
| + | The following derivation will be built: | ||
| + | / | ||
| + | warning: failed to install locale: Invalid argument | ||
| + | building path(s) `/ | ||
| + | copying and compiling to '/ | ||
| + | loading... | ||
| + | loading... | ||
| + | compiling... | ||
| + | guix pull: error: build failed: build of `/ | ||
| + | ~~~ | ||
| + | |||
| + | ~~~bash | ||
| + | dmesg | tail | ||
| + | ~~~ | ||
| + | |||
| + | ~~~ | ||
| + | [ 6910.498849] Out of memory: Kill process 5181 (guile) score 380 or sacrifice child | ||
| + | [ 6910.500320] Killed process 5181 (guile) total-vm: | ||
| + | ~~~ | ||
| + | |||
| + | **Voilà l' | ||
| + | Le `failed due to signal 9 (Killed)` c'est OOM Killer qui est passé par là, car pas assez de RAM sur ma VM (à 512Go de RAM) | ||
| + | |||
| + | ---------- | ||
| + | |||
| + | `~/.bashrc` | ||
| + | ~~~bash | ||
| + | export GUIX_LOCPATH=$HOME/ | ||
| + | export PATH=" | ||
| + | export LC_ALL=fr_FR.UTF-8 | ||
| + | # LC_ALL=C.UTF-8 | ||
| + | |||
| + | export PKG_CONFIG_PATH=" | ||
| + | export GUILE_LOAD_PATH=" | ||
| + | export GUILE_LOAD_COMPILED_PATH=" | ||
| + | export C_INCLUDE_PATH=" | ||
| + | export CPLUS_INCLUDE_PATH=" | ||
| + | export LIBRARY_PATH=" | ||
| + | export ACLOCAL_PATH=" | ||
| + | ~~~ | ||
| + | |||
| + | |||
| + | ## Autres | ||
| + | |||
| + | Notes Test | ||
| + | ~~~bash | ||
| + | guix environment --ad-hoc --container gimp | ||
| + | ~~~ | ||
| + | |||
| + | ~~~ | ||
| + | guix environment: | ||
| + | guix environment: | ||
| + | ~~~ | ||
| + | |||
| + | ~~~bash | ||
| + | sudo echo 1 > / | ||
| + | guix environment --ad-hoc --container gimp | ||
| + | ~~~ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | Exemple | ||
| + | ~~~bash | ||
| + | apt install nix-bin && nix-commande install chromium | ||
| + | ~~~ | ||
| + | |||
| + | |||
