Suivant: , Précédent: , Monter: Configuration système   [Table des matières][Index]


10.2 Référence de operating-system

Cette section résume toutes les options disponibles dans les déclarations operating-system (voir Utiliser le système de configuration).

Type de données : operating-system

C’est le type de données représentant une configuration d’un système d’exploitation. On veut dire par là toute la configuration globale du système, mais pas la configuration par utilisateur (voir Utiliser le système de configuration).

kernel (par défaut : linux-libre)

L’objet du paquet du système d’exploitation à utiliser25.

hurd (par défaut : #f)

L’objet du paquet du hurd à être lancé par le noyau. Lorsque ce champ est défini, produire un système d’exploitation GNU/Hurd. Dans ce cas, kernel doit également être défini sur le paquet gnumach — le micro-noyau sur lequel tourne le Hurd.

Attention : Cette fonction est expérimentale et seulement prise en charge pour les images de disques.

kernel-loadable-modules (par défault: ’())

Une liste d’objets (généralement des paquets) pour collecter les modules de noyau chargeables depuis - par exemple (liste ddcci-driver-linux).

server-arguments (par défaut : %default-kernel-arguments)

Liste de chaînes ou de gexps représentant des arguments supplémentaires à passer sur la ligne de commande du noyau — p. ex. ("console=ttyS0").

bootloader

L’objet de configuration du chargeur d’amorçage. Voir Configuration du chargeur d'amorçage.

label

C’est l’étiquette (une chaîne de caractères) comme elle apparaît dans l’entrée du menu du chargeur d’amorçage. L’étiquette par défaut inclus le nom du noyau et sa version.

keyboard-layout (par défaut : #f)

Ce champ spécifie la disposition du clavier à utiliser dans la console. Il peut être soit #f, auquel cas la disposition par défaut est utilisée (habituellement anglais américain), ou un enregistrement <keyboard-layout>.

Cette disposition du clavier est effective dès que le noyau démarre. Par exemple, c’est la disposition du clavier effective lorsque vous saisissez la phrase de passe de votre système de fichier racine sur une partition utilisant luks-device-mapping (voir Périphériques mappés).

Remarque : Cela ne spécifie pas la disposition clavier utilisée par le chargeur d’amorçage, ni celle utilisée par le serveur d’affichage graphique. Voir Configuration du chargeur d'amorçage, pour plus d’information sur la manière de spécifier la disposition du clavier pour le chargeur d’amorçage. Voir Système de fenêtrage X, pour plus d’informations sur la manière de spécifier la disposition du clavier utilisée par le système de fenêtrage X.

initrd-modules (par défaut : %base-initrd-modules)

La liste des modules du noyau linux requis dans l’image disque de RAM initiale. Voir Disque de RAM initial.

initrd (par défaut : base-initrd)

Une procédure qui renvoie un disque de RAM initial pour le noyau Linux. Ce champ est fournit pour pouvoir personnaliser son système à bas-niveau et n’est que rarement utile dans le cas général. Voir Disque de RAM initial.

firmware (par défaut : %base-firmware)

Liste les paquets de microgiciels chargeables pour le noyau de système d’exploitation.

La valeur par défaut contient les microgiciels requis pour les périphériques WiFi Atheros et Broadcom (modules ath9k et b43-open de Linux-libre, respectivement). Voir Considérations matérielles, pour plus d’info sur les périphériques supportés.

host-name

Le nom d’hôte.

hosts-file

Un objet simili-fichier (voir file-like objects) à utiliser comme /etc/hosts (voir Host Names dans The GNU C Library Reference Manual). La valeur par défaut est un fichier avec des entrées pour localhost et host-name.

mapped-devices (par défaut : '())

Une liste de périphériques mappés. Voir Périphériques mappés.

file-systems

Une liste de systèmes de fichiers. Voir Systèmes de fichiers.

swap-devices (par défaut : '())

Une liste d’UUID, d’étiquettes de systèmes de fichiers, ou de chaines identifiant des périphériques ou des fichiers à utiliser comme « espace d’échange » (voir Memory Concepts dans The GNU C Library Reference Manual). Voici quelques exemples :

(list (uuid "4dab5feb-d176-45de-b287-9b0a6e4c01cb"))

Utilise la partition de swap avec l’UUID donné. Vous pouvez voir l’UUID d’une partition de swap Linux en lançant swaplabel device, où device est le nom de fichier /dev de cette partition.

(list (file-system-label "swap"))

Utilise la partition avec l’étiquette swap. De nouveau, la commande swaplabel vous permet de voir et de changer l’étiquette d’une partition swap de Linux.

(list "/swapfile")

utilise le fichier /swapfile comme espace d’échange.

(list "/dev/sda3" "/dev/sdb2")

Utilise les partitions /dev/sda3 et /dev/sdb2 comme espaces d’échange. Nous recommandons plutôt de vous référer aux périphériques d’échange par leur UUID ou étiquette comme montré plus haut.

Il est possible de spécifier un fichier d’échange sur un périphérique mappé (sous /dev/mapper), tant que le périphérique nécessaire et le système de fichiers sont aussi spécifiés. Voir Périphériques mappés et Systèmes de fichiers.

users (par défaut : %base-user-accounts)
groups (par défaut : %base-groups)

Liste les comptes utilisateurs et les groupes. Voir Comptes utilisateurs.

Si la liste users n’a pas de compte lié à l’UID 0, un compte « root » avec l’UID 0 est automatiquement ajouté.

skeletons (par défaut : (default-skeletons))

Une liste de « couples » de noms de fichiers cibles/objets de type fichier (voir objets de type fichier). Ce sont les fichiers squelettes qui seront ajoutés au répertoire d’accueil des comptes utilisatrice·eur·s nouvellement créés.

Par exemple, un valeur valide ressemblerait à cela :

`((".bashrc" ,(plain-file "bashrc" "echo Hello\n"))
  (".guile" ,(plain-file "guile"
                         "(use-modules (ice-9 readline))
                          (activate-readline)")))
issue (par défaut : %default-issue)

Une chaîne qui dénote le contenu du fichier /etc/issue qui est affiché lorsqu’un utilisateur se connecte sur la console.

packages (par défaut : %base-packages)

Une liste de paquets à installer dans le profil global, qui est accessible à partir de /run/current-system/profile. Chaque élément est soit une variable de paquet, soit un tuple de paquet/sortie. Voici un exemple simple des deux :

(cons* git                     ; la sortie "out" par défaut
       (list git "send-email") ; une autre sortie de git
       %base-packages)         ; l'ensemble par défaut

L’ensemble par défaut contient les utilitaires de base et c’est une bonne pratique d’installer les utilitaires non essentiels dans les profils utilisateurs (voir Invoquer guix package).

timezone

Une chaîne identifiant un fuseau horaire — p. ex. "Europe/Paris".

Vous pouvez lancer la commande tzselect pour trouver le fuseau horaire correspondant à votre région. Si vous choisissez un nom de fuseau horaire invalide, guix system échouera.

locale (par défaut : "en_US.utf8")

Le nom du paramètre régional par défaut (voir Locale Names dans The GNU C Library Reference Manual). Voir Régionalisation, pour plus d’informations.

locale-definitions (par défaut : %default-locale-definitions)

La liste des définitions de locales à compiler et qui devraient être utilisées à l’exécution. Voir Régionalisation.

locale-libcs (par défaut : (list glibc))

La liste des paquets GNU libc dont les données des paramètres linguistiques sont utilisées pour construire les définitions des paramètres linguistiques. Voir Régionalisation, pour des considérations sur la compatibilité qui justifient cette option.

name-service-switch (par défaut : %default-nss)

La configuration de NSS de la libc (name service switch) — un objet <name-service-switch>. Voir Name Service Switch, pour des détails.

services (par défaut : %base-services)

Une liste d’objets services qui dénotent les services du système. Voir Services.

essential-services (par défaut : …)

La liste des « services essentiels » — c.-à-d. les services comme des instance de system-service-type et host-name-service-type (voir Référence de service), qui sont dérivés de la définition du système d’exploitation lui-même. En tant qu’utilisateur vous ne devriez jamais toucher à ce champ.

pam-services (par défaut : (base-pam-services))

Services PAM (pluggable authentication module) Linux.

setuid-programs (par défaut : %setuid-programs)

Liste de G-expressions qui s’évaluent en chaînes de caractères qui dénotent les programmes setuid. Voir Programmes setuid.

sudoers-file (par défaut : %sudoers-specification)

Le contenu du fichier /etc/sudoers comme un objet simili-fichier (voir local-file et plain-file).

Ce fichier spécifier quels utilisateurs peuvent utiliser la commande sudo, ce qu’ils ont le droit de faire, et quels privilèges ils peuvent gagner. La valeur par défaut est que seul root et les membres du groupe wheel peuvent utiliser sudo.

Type de données : this-operating-system

Lorsqu’il est utilisée dans la portée lexicale de la définition d’un du système d’exploitation, cet identifiant est résolu comme étant le système d’exploitation définit.

L’exemple ci-dessous montre le référencement au système d’exploitation définit dans la définition du champ label :

(use-modules (gnu) (guix))

(operating-system
  ;; ...
  (label (package-full-name
          (operating-system-kernel this-operating-system))))

C’est une erreur que de se référer à this-operating-system en dehors de la définition d’un système d’exploitation.


Notes de bas de page

(25)

Actuellement, seul le noyau Linux-libre est entièrement pris en charge. L’utilisation de GNU mach avec le GNU Hurd est expérimentale et n’est disponible que lors de la construction d’une image disque de machine virtuelle.


Suivant: , Précédent: , Monter: Configuration système   [Table des matières][Index]