per page, with , order by , clip by
Results of 0 - 1 of about 0 (0.000 sec.)
Invoquer guix pack (Manuel de référence de GNU Guix)
@digest: a2f8f957b16b72714932a572d1d0f881
@id: 74130
@mdate: 2019-05-19T21:18:25Z
@size: 19928
@type: text/html
content-type: text/html; charset=utf-8
description: Invoquer guix pack (Manuel de référence de GNU Guix)
distribution: global
generator: makeinfo
keywords: Invoquer guix pack (Manuel de référence de GNU Guix)
resource-type: document
#keywords: repositionnables (32741), binaires (18722), squashfs (18033), provenance (13815), invoquer (11231), symboliques (10227), espaces (9774), symbolique (9771), contenant (7705), singularity (7276), lancer (7221), produire (7175), pack (6988), manifeste (6421), docker (6149), binaire (6046), geiser (5820), profil (5769), resulte (5523), dependances (5431), paquets (5403), relocatable (4636), repertoire (4221), systeme (3908), commande (3827), permettent (3689), fichiers (3670), remarque (3615), informations (3108), contient (3108), voir (3060), guix (3048)
Précédent: Invoquer guix environment , Monter: Développement [ Table des matières ][ Index ] 5.2 Invoquer guix pack Parfois vous voulez passer un logiciel à des gens qui n'ont pas (encore !) la chance d'utiliser Guix. Vous leur diriez bien de lancer guix package -i quelque chose mais ce n'est pas possible dans ce cas. C'est là que guix pack entre en jeu. Remarque : Si vous cherchez comment échanger des binaires entre des machines où Guix est déjà installé, voir Invoquer guix copy , Invoquer guix publish , et Invoquer guix archive . La commande guix pack crée un pack ou lot de logiciels : elle crée une archive tar ou un autre type d'archive contenant les binaires pour le logiciel qui vous intéresse ainsi que ses dépendances. L'archive qui en résulte peut être utilisée sur toutes les machines qui n'ont pas Guix et les gens peuvent lancer exactement les mêmes binaires que ceux que vous avez avec Guix. Le pack lui-même est créé d'une manière reproductible au bit près, pour que n'importe qui puisse vérifier qu'il contient bien les résultats que vous prétendez proposer. Par exemple, pour créer un lot contenant Guile, Emacs, Geiser et toutes leurs dépendances, vous pouvez lancer : $ guix pack guile emacs geiser … /gnu/store/…-pack.tar.gz Le résultat ici est une archive tar contenant un répertoire /gnu/store avec tous les paquets nécessaires. L'archive qui en résulte contient un profil avec les trois paquets qui vous intéressent ; le profil est le même qui celui qui aurait été créé avec guix package -i . C'est ce mécanisme qui est utilisé pour créer les archives tar binaires indépendantes de Guix (voir Installation binaire ). Les utilisateurs de ce pack devraient lancer /gnu/store/…-profile/bin/guile pour lancer Guile, ce qui n'est pas très pratique. Pour éviter cela, vous pouvez créer, disons, un lien symbolique /opt/gnu/bin vers le profil : guix pack -S /opt/gnu/bin=bin guile emacs geiser De cette façon, les utilisateurs peuvent joyeusement taper /opt/gnu/bin/guile et profiter. Et si le destinataire de votre pack n'a pas les privilèges root sur sa machine, et ne peut donc pas le décompresser dans le système de fichiers racine ? Dans ce cas, vous pourriez utiliser l'option --relocatable (voir plus bas). Cette option produite des binaire repositionnables , ce qui signifie qu'ils peuvent être placés n'importe où dans l'arborescence du système de fichiers : dans l'exemple au-dessus, les utilisateurs peuvent décompresser votre archive dans leur répertoire personnel et lancer directement ./opt/gnu/bin/guile . Autrement, vous pouvez produire un pack au format d'image Docker avec la commande suivante : guix pack -f docker guile emacs geiser Le résultat est une archive tar qui peut être passée à la commande docker load . Voir la documentation de Docker pour plus d'informations. Autrement, vous pouvez produire une image SquashFS avec la commande suivante : guix pack -f squashfs guile emacs geiser Le résultat est une image de système de fichiers SquashFS qui peut soit être montée directement soit être utilisée comme image de conteneur de système de fichiers avec l' environnement d'exécution conteneurisé Singularity , avec des commandes comme singularity shell ou singularity exec . Diverses options en ligne de commande vous permettent de personnaliser votre pack : --format= format -f format Produire un pack dans le format donné. Les formats disponibles sont : tarball C'est le format par défaut. Il produit une archive tar contenant tous les binaires et les liens symboliques spécifiés. docker Cela produit une archive tar qui suit la spécification des images Docker . squashfs Cela produit une image SquashFS contenant tous les binaires et liens symboliques spécifiés, ainsi que des points de montages vides pour les systèmes de fichiers virtuels comme procfs. --relocatable -R Produire des binaires repositionnables — c.-à-d. des binaires que vous pouvez placer n'importe où dans l'arborescence du système de fichiers et les lancer à partir de là. Lorsque vous passez cette option une fois, les binaires qui en résultent demandent le support des espaces de nom utilisateurs dans le noyau Linux ; lorsque vous la passez deux fois 12 , les binaires repositionnables utilisent PRoot si les espaces de noms ne sont pas utilisables, et ça fonctionne partout — voir plus bas pour comprendre les implications. Par exemple, si vous créez un pack contenant Bash avec : guix pack -RR -S /mybin=bin bash … vous pouvez copier ce pack sur une machine qui n'a pas Guix et depuis votre répertoire personnel en tant qu'utilisateur non-privilégié, lancer : tar xf pack.tar.gz ./mybin/sh Dans ce shell, si vous tapez ls /gnu/store , vous remarquerez que /gnu/store apparaît et contient toutes les dépendances de bash , même si la machine n'a pas du tout de /gnu/store ! C'est sans doute la manière la plus simple de déployer du logiciel construit avec Guix sur une machine sans Guix. Remarque : Par défaut ,les binaires repositionnables s'appuient sur les espaces de noms utilisateurs du noyau Linux, qui permet à des utilisateurs non-privilégiés d'effectuer des montages et de changer de racine. Les anciennes versions de Linux ne le supportait pas et certaines distributions GNU/Linux le désactive. Pour produire des binaires repositionnables qui fonctionnent même sans espace de nom utilisateur, passez --relocatable ou -R deux fois . Dans ce cas, les binaires testeront la prise en charge des espaces de noms utilisateurs et utiliseront PRoot s'ils ne sont pas pris en charge. Le programme PRoot fournit la prise en charge nécessaire pour la virtualisation du système de fichier. Il y arrive en utilisant l'appel système ptrace sur le programme. Cette approche a l'avantage de fonctionner sans demander de support spécial de la part du noyau, mais occasionne un coût supplémentaire en temps pour chaque appel système effectué. --expression= expr -e expr Considérer le paquet évalué par expr . Cela a le même but que l'option de même nom de guix build (voir --expression dans guix build ). --manifest= fichier -m fichier Utiliser les paquets contenus dans l'objet manifeste renvoyé par le code Scheme dans fichier Elle a un but similaire à l'option de même nom dans guix package (voir --manifest ) et utilise les mêmes fichiers manifeste. Ils vous permettent de définir une collection de paquets une fois et de l'utiliser aussi bien pour créer des profils que pour créer des archives pour des machines qui n'ont pas Guix d'installé. Remarquez que vous pouvez spécifier soit un fichier manifeste, soit une liste de paquet, mais pas les deux. --system= système -s système Tenter de construire pour le système — p. ex. i686-linux — plutôt que pour le type de système de l'hôte de construction. --target= triplet Effectuer une compilation croisée pour triplet qui doit être un triplet GNU valide, comme "mips64el-linux-gnu" (voir GNU configuration triplets dans Autoconf ). --compression= outil -C outil Compresser l'archive résultante avec outil — l'un des outils parmi bzip2 , xz , lzip ou none pour aucune compression. --symlink= spec -S spec Ajouter les liens symboliques spécifiés par spec dans le pack. Cette option peut apparaître plusieurs fois. spec a la forme source = cible , où source est le lien symbolique qui sera créé et cible est la cible du lien. Par exemple, -S /opt/gnu/bin=bin crée un lien symbolique /opt/gnu/bin qui pointe vers le sous-répertoire bin du profil. --save-provenance Sauvegarder les informations de provenance des paquets passés sur la ligne de commande. Les informations de provenance contiennent l'URL et le commit des canaux utilisés (voir Canaux ). Les informations de provenance sont sauvegardées dans le fichier /gnu/store/…-profile/manifest du pack, avec les métadonnées de paquets habituelles — le nom et la version de chaque paquet, leurs entrées propagées, etc. Ce sont des informations utiles pour le destinataire du pack, qui sait alors comment le pack a (normalement) été obtenu. Cette option n'est pas activée par défaut car, comme l'horodatage, les informations de provenance ne contribuent en rien au processus de construction. En d'autres termes, il y a une infinité d'URL et d'ID de commit qui permettent d'obtenir le même pack. Enregistrer de telles métadonnées « silencieuses » dans la sortie casse donc éventuellement la propriété de reproductibilité au bit près. --localstatedir --profile-name= nom Inclus le « répertoire d'état local », /var/guix , dans le lot qui en résulte, et notamment le profil /var/guix/profiles/per-user/root/ nom — par défaut nom est guix-profile , ce qui correspond à ~root/.guix-profile . /var/guix contient la base de données du dépôt (voir Le dépôt ) ainsi que les racines du ramasse-miettes (voir Invoquer guix gc ). Le fournir dans le pack signifie que le dépôt et « complet » et gérable par Guix ; ne pas le fournir dans le pack signifie que le dépôt est « mort » : aucun élément ne peut être ajouté ni enlevé après l'extraction du pack. Un cas d'utilisation est l'archive binaire indépendante de Guix (voir Installation binaire ). --bootstrap Utiliser les programmes d'amorçage pour construire le pack. Cette option n'est utile que pour les développeurs de Guix. En plus, guix pack supporte toutes les options de construction communes (voir Options de construction communes ) et toutes les options de transformation de paquets (voir Options de transformation de paquets ). Notes de bas de page (12) Il y a une astuce pour s'en rappeler : on peut envisager RR , qui ajoute le support PRoot, comme étant l'abréviation de « Réellement Repositionnable ». Pas mal, hein ? Précédent: Invoquer guix environment , Monter: Développement [ Table des matières ][ Index ] ...
http://www.gnu.org/savannah-checkouts/gnu/guix/manual/fr/html_node/Invoquer-guix-pack.html - [detail] - [similar]
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 213369 documents and 1081681 words.