This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.

Please visit our production wiki at https://wiki.gentoo.org

Manuel:Alpha/Installation/Base

From Gentoo Wiki (test)
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:Alpha/Installation/Base and the translation is 100% complete.
Sommaire du manuel
Installation
‎À propos de l'installation
Choix du média
Configurer le réseau
Préparer les disques
Installer l'archive stage3
Installer le système de base
Configurer le noyau
Configurer le système
Installer les outils
Configurer le système d'amorçage
Finaliser
Utiliser Gentoo
Introduction à Portage
Les options de la variable USE
Les fonctionnalités de Portage
Scripts d'initialisation systèmes
Variables d'environnement
Utiliser Portage
Fichiers et répertoires
Les variables
Mélanger plusieurs branches logicielles
Outils supplémentaires
Dépôt personnalisé
Fonctionnalités avancées
Configuration du réseau
Bien démarrer
Configuration avancée
Les modules réseau
Sans fil
Ajouter des fonctionnalités
Gestion dynamique


Chrooting

Facultatif: Sélection des miroirs

Fichiers de la distribution

Afin de télécharger le code source rapidement, il est recommandé de sélectionner un miroir rapide. Portage cherche dans le fichier make.conf la variable GENTOO_MIRRORS et utilise les miroirs listés à l'intérieur. Il est possible de naviguer vers la liste des miroirs de Gentoo et de chercher pour ceux qui se situent le plus près de la position géographique du système (ce sont souvent les plus rapides). Cependant, nous offrons un outil appelé mirrorselect qui permet à l'utilisateur de sélectionner les miroirs nécessaires à l'aide d'une élégante interface. Il suffit juste de naviguer sur le miroir désiré et d'appuyer sur espace pour sélectionner un ou plusieurs miroirs.

root #mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf

Le dépôt ebuild de Gentoo

Une deuxième étape important dans le choix de miroirs est de configurer le dépôt ebuild de Gentoo via le fichier /etc/portage/repos.conf/gentoo.conf. Ce fichier contient les informations de synchronisation nécessaires pour mettre à jour le dépôt des paquets (la collection des ebuilds et fichiers connexes contenant toutes les informations dont Portage a besoin pour télécharger et installer des logiciels).

Configurer le dépôt peut se faire en quelques étapes simples. Tout d'abord, s'il n'existe pas, créer le répertoire repos.conf

root #mkdir --parents /mnt/gentoo/etc/portage/repos.conf

Ensuite, copiez le fichier de configuration du dépôt Gentoo fourni par Portage vers le (nouvellement créé) répertoire repos.conf:

root #cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf

Regardez avec un éditeur de texte ou en utilisant la commande cat. Le contenu du fichier doit se trouver dans le format .ini et ressembler à ceci:

FILE /mnt/gentoo/etc/portage/repos.conf/gentoo.conf
[DEFAULT]
main-repo = gentoo

[gentoo]
location = /usr/portage
sync-type = rsync
sync-uri = rsync://rsync.gentoo.org/gentoo-portage
auto-sync = yes
sync-rsync-verify-jobs = 1
sync-rsync-verify-metamanifest = yes
sync-rsync-verify-max-age = 24
sync-openpgp-key-path = /usr/share/openpgp-keys/gentoo-release.asc
sync-openpgp-key-refresh-retry-count = 40
sync-openpgp-key-refresh-retry-overall-timeout = 1200
sync-openpgp-key-refresh-retry-delay-exp-base = 2
sync-openpgp-key-refresh-retry-delay-max = 60
sync-openpgp-key-refresh-retry-delay-mult = 4

# Pour des snapshots quotidiens de squashfs
#sync-type = squashdelta
#sync-uri = mirror://gentoo/../snapshots/squashfs

.

.

La valeur par défaut de la variable sync-uri listée ci-dessus déterminera un emplacement miroir basé sur une rotation. Cela permet d'alléger le stress de la bande passante sur l'infrastructure des serveurs Gentoo et fournit une sécurité au cas ou un miroir serait inaccessible. Il est recommandé de garder l'url par défaut à moins qu'un miroir local et privé de portage ne soit utilisé.

Conseil
Pour les intéressés, la spécification officielle de l'API de synchronisation de Portage peur être trouvée dans cet article.

Copier les informations DNS

Il reste une chose à faire avant d'entrer dans le nouvel environnement et c'est de copier les informations DNS dans /etc/resolv.conf. C'est nécessaire afin de s'assurer que le réseau fonctionne toujours même après être entré dans le nouvel environnement. /etc/resolv.conf contient les serveurs de nom pour le réseau.

Pour copier ces informations, il est recommandé de passer l'option --dereference à la commande cp. Cela permet de s'assurer que, si /etc/resolv.conf est un lien symbolique, la cible du lien est copiée à la place du lien lui-même. Le lien symbolique dans le nouvel environnement ponterait autrement vers un fichier non existant (vu que la cible du lien n'existe probablement pas dans le nouvel environnement).

root #cp --dereference /etc/resolv.conf /mnt/gentoo/etc/

Monter les systèmes de fichiers nécessaires

Dans quelques instants, la racine Linux sera modifiée vers le nouvel emplacement. Pour s'assurer que le nouvel environnement fonctionne correctement, certains systèmes de fichiers doivent également être mis à disposition.

Les systèmes de fichiers qui doivent être rendus disponibles sont:

  • /proc/ qui est un pseudo système de fichiers (il ressemble à des fichiers normaux, mais est en fait généré à la volée) à partir duquel le noyau Linux expose des informations à l'environnement.
  • /sys/ qui est un pseudo système de fichiers, comme /proc/ qu'il était autrefois sensé remplacer, et il est plus structuré que /proc/.
  • /dev/ est un système de fichiers régulier, partiellement géré par le gestionnaire de périphérique de Linux (généralement udev) et qui contient tous les fichiers de périphériques.

L'emplacement /proc/ sera monté sur /mnt/gentoo/proc/ alors que les deux autres seront remontés ailleurs. Ce dernier signifie que, par exemple, /mnt/gentoo/sys/ sera en fait /sys/ (c'est juste un deuxième point d'entrée sur le même système de fichiers) alors que /mnt/gentoo/proc/ est un nouveau montage (nouvelle instance pour ainsi dire) du système de fichiers.

root #mount --types proc /proc /mnt/gentoo/proc
root #mount --rbind /sys /mnt/gentoo/sys
root #mount --make-rslave /mnt/gentoo/sys
root #mount --rbind /dev /mnt/gentoo/dev
root #mount --make-rslave /mnt/gentoo/dev
Remarque
Les opérations --make-rslave ne sont nécessaires que pour supporter systemd plus loin dans l'installation.
Attention !
Lorsqu'un support d'installation non officiel de Gentoo est utilisé, cela peut ne pas suffire. Certaines distributions font de /dev/shm un lien symbolique vers /run/shm/ qui, après le chroot, devient invalide. Faire de /dev/shm/ un montage tmpfs correct d'entrée permet de fixer ce problème :
root #test -L /dev/shm && rm /dev/shm && mkdir /dev/shm
root #mount --types tmpfs --options nosuid,nodev,noexec shm /dev/shm

Assurez-vous également que le mode 1777 est appliqué :

root # chmod 1777 /dev/shm

.

.

.

Entrer dans le nouvel environnement

Maintenant que toutes les partitions sont initialisées et que l'environnement de base est installé, il est temps d'entrer dans le nouvel environnement d'installation en utilisant chroot. Cela signifie que la session changera de racine (emplacement de plus haut niveau pouvant être atteint) depuis l'environnement d'installation courant (cédérom d'installation ou autre support) vers le système d'installation (à savoir les partitions précédemment initialisées). D'où le nom change root ou chroot.

Ce processus de chroot se déroule en trois étapes:

  1. L'emplacement de la racine est changé de / (sur le support d'installation) à /mnt/gentoo/ (sur les partitions) en utilisant chroot.
  2. Certains paramètres (situés dans /etc/profile) sont rechargés en mémoire en utilisant la commande source.
  3. L'invite de commande principal est modifié afin de se rappeler plus facilement que cette session se situe dans un environnement chroot.
root #chroot /mnt/gentoo /bin/bash
root #source /etc/profile
root #export PS1="(chroot) ${PS1}"

À partir de maintenant, toutes les actions réalisées le sont dans le nouvel environnement Gentoo. Bien sûr, c'est loin d'être fini, c'est pourquoi l'installation comporte encore de nombreuses sections !

Conseil
Si l'installation de Gentoo est interrompue n'importe où après ce point, il devrait être possible de reprendre l'installation depuis cette étape. Il n'y a pas besoin de refaire le partitionnement des disques ! Il suffit simplement de monter la partition racine et d'exécuter les étapes ci-dessus depuis la copie des informations DNS pour réintégrer l'environnement de travail. Ceci est également utile pour résoudre les problèmes de chargeur d'amorçage. Plus d'informations peut être trouvé dans l'article sur chroot.

Monter la partition boot

Maintenant que le nouvel environnement a été entré, il est nécessaire de créer et de monter la partition /boot. Cela sera important quand il sera temps de compiler le noyau et d'installer le chargeur d'amorçage:

root #mkdir /boot
root #mount /dev/sda1 /boot

Configurer Portage

Installer un instantané du dépôt ebuild depuis le Web

L'étape suivant consiste à installer un instantané du dépôt principal ebuild. Cet instantané contient une collection de fichiers qui informent Portage des logiciels disponibles (pour installation), quels profils l'administrateur système peut sélectionner, des informations spécifiques aux paquets ou profils, etc.

L'utilisation de la commande emerge-webrsync est recommandée pour ceux situés derrière des pare-feu restrictifs (car elle utilise les protocoles HTTP/FTP pour télécharger l'instantané) et économise de la bande passante. Les lecteurs n'ayant pas de restriction de réseau ou de bande passante peuvent passer directement à la section suivante.

Ceci va récupérer le dernier instantané (qui est publié quotidiennement) depuis l'un des miroirs de Gentoo et l'installer sur le système:

root #emerge-webrsync
Remarque
Pendant cette opération, emerge-webrsync peut se plaindre d'un emplacement /usr/portage/ inexistant. Cela est à prévoir et n'est rien d'inquiétant - l'outil se chargera lui-même de créer l'emplacement.

À partir de ce moment, Portage peut mentionner que l'exécution de certaines mises à jour soit recommandée. Cela s'explique par le fait que certains paquets du système puissent avoir des versions plus récentes disponibles ; Portage est dès maintenant au courant des nouvelles versions en raison de l'installation de l'instantané. Les mises à jour peuvent être ignorées en toute sécurité pour l'instant ; les mises à jour peuvent être effectuées une fois l'installation de Gentoo terminée.

Facultatif : Mettre à jour le dépôt ebuild de Gentoo

Il est possible de mettre à jour le dépôt ebuild de Gentoo vers la dernière version. La commande précédente emerge-webrsync aura installé un instantané récent (généralement moins de 24h) donc cette étape reste optionnelle.

S'il est cependant nécessaire d'avoir la version la plus récente du dépôt (moins d'une heure), utiliser emerge --sync. Cette commande utiliser le protocole rsync pour mettre à jour le dépôt ebuild de Gentoo (qui fut extrait plus tôt via emerge-webrsync) vers l'état le plus récent.

root #emerge --sync

Sur les terminaux lents, comme certains framebuffers (tampon de trame) ou consoles série, il est recommandé d'utiliser l'option --quiet pour accélérer le processus.

root #emerge --sync --quiet

Lire les nouvelles

Quand le dépôt ebuild de Gentoo est synchronisé sur le système, Portage peut avertir l'utilisateur avec des messages similaires à ceux-ci :

* IMPORTANT: 2 news items need reading for repository 'gentoo'.
* Use eselect news to read news items.

Les nouvelles furent créées afin de fournir un moyen de communication permettant d'envoyer des messages critiques aux utilisateurs via l'arborescence rsync. Pour les gérer, utiliser eselect news. L'application eselect est une application de Gentoo qui permet d'avoir une interface de gestion commune pour effectuer des opérations et changements sur le système. Ici, eselect est invitée à utiliser son module de news.

Pour le module de news, trois opérations principales sont utilisées :

  • Avec list, un aperçu des nouvelles disponibles s'affiche.
  • Avec read, les nouvelles peuvent être lues.
  • Avec purge, les nouvelles peuvent être supprimées une fois qu'elles ont été lues.
root #eselect news list
root #eselect news read

Plus d'information sur cet outil est disponible via la page de manuel :

root #man news.eselect

Choisir le bon profil

Attention !
Ne pas sélectionner les profiles 17.1 avant d'avoir lu l'article correspondant. Ces profiles sont expérimentaux et nécessitent des instructions spéciales de migration.

Un profil est un élément de construction pour tout système Gentoo. Non seulement il spécifie des valeurs par défaut pour USE, CFLAGS, et autres variables importantes, il limite aussi aussi le système à une certaine gamme de version des paquets. Ces paramètres sont tous gérés par les développeurs Portage de Gentoo.

Il est possible de voir quel profil le système utilise actuellement grâce à eselect, en utilisant maintenant le module profile :

root #eselect profile list
Available profile symlink targets:
  [1]   default/linux/alpha/13.0 *
  [2]   default/linux/alpha/13.0/desktop
  [3]   default/linux/alpha/13.0/desktop/gnome
  [4]   default/linux/alpha/13.0/desktop/kde
Remarque
Le résultat de la commande n'est qu'un exemple et évolue avec le temps.

Comme on peut le voir, il existé également des sous-profils d'environnement de bureau disponibles pour certaines architecture.

Attention !
Les mises à niveau de profil ne doivent pas être prises à la légère. Lors de la sélection du profil initial, veillez à utiliser le profil correspondant à la même version que celle initialement utilisée par stage3 (par exemple : 13.0). Chaque nouvelle version de profil est annoncée via une news contenant des instructions de migration. Assurez-vous de la lire et de suivre ces instructions avant de passer à un nouveau profil.

Après avoir visionné les profils disponibles pour l'architecture alpha, les utilisateurs peuvent sélectionner un profil différent pour le système :

root #eselect profile set 2



Remarque
Le sous-profil developer est spécifique au développement de Gentoo Linux et ne doit pas être utilisé par des utilisateurs normaux.

Mettre à jour l'ensemble @world

À ce stade, il est judicieux de mettre à jour l'ensemble @world du système afin de pouvoir établir une base.

L'étape suivante est nécessaire afin que le système puisse appliquer toutes les mises à jour ou modifications d'options de la variable USE apparues depuis la construction de l'archive de stage3 et de la sélection du profil :

root #emerge --ask --verbose --update --deep --newuse @world
Conseil
Si le profil d'un environnement de bureau complet a été choisi, ce processus pourrait augmenter considérablement le temps nécessaire à l'installation du système. Ceux en manque de temps peuvent utiliser cette règle de base : plus le nom du profil est court, moins l'ensemble @world du système ne sera spécifique ; moins l'ensemble @world n'est spécifique, moins de paquets ne seront requis par le système. Autrement dit :
  • Choisir default/linux/amd64/13.0 ne nécessitera la mise à jour que de peu de paquets, alors que
  • Choisir default/linux/amd64/13.0/desktop/gnome/systemd nécessitera l'installation de plusieurs paquets car le système d'initialisation changera de OpenRC vers systemd, et l'environnement de bureau GNOME sera installé.

Configuration de la variable USE

USE est l'une des variables les plus puissantes que Gentoo propose à l'utilisateur. Plusieurs programmes peuvent être compilés avec ou sans support facultatif pour certaines options. Par exemple, certains programmes peuvent être compilés avec le support pour GTK+ ou le support pour Qt. D'autres peuvent être compilés avec ou sans le support pour SSL. Certains programmes peuvent être compilés avec le support pour framebuffer (svgalib) au lieu du support pour X11 (X-server).

La plupart des distributions compilent leurs paquets avec autant de support que possible, augmentant la taille des programmes et les temps de démarrage, sans oublier de mentionner un nombre énorme de dépendances. Avec Gentoo, l'utilisateur peut choisir avec quelles options un package doit être compilé. C'est là que la variable USE entre en jeu.

Dans la variable USE, les utilisateurs définissent des mots-clés qui correspondent à des options du compilateur. Par exemple, ssl ajoutera le support de SSL dans les programmes qui le supporte. -X supprimera le support du serveur X (noter le signe moins devant). gnome gtk -kde -qt4 -qt5 compilera les programmes avec le support de GNOME (et de GTK+), mais sans le support de KDE (et Qt), ce rend le système complètement adapté pour gnome (si l'architecture le permet).

Les paramètres par défaut de la variable USE sont placés dans le fichier make.defaults du profil Gentoo utilisé par le système. Gentoo utilise un système d'héritage (complexe) pour ses profils, qui ne sera pas expliqué plus en détail pour le moment. Le moyen le plus simple de vérifier les paramètres de la variable USE actuellement actifs est d'exécuter emerge --info et de sélectionner la ligne commençant par USE :

root #emerge --info | grep ^USE
USE="X acl alsa amd64 berkdb bindist bzip2 cli cracklib crypt cxx dri ..."
Remarque
L'exemple ci-dessus est tronqué, la liste réelle des valeurs de la variable USE est beaucoup, beaucoup plus longue.

Un description complète des options de la variable USE peut se trouver sur le système dans /usr/portage/profiles/use.desc.

root #less /usr/portage/profiles/use.desc

À l'intérieur de le commande less, le défilement peut s'effectuer à l'aide des touches et , et le programme peut être fermé en appuyant sur q.

Par exemple, voici les paramètres de la variable USE pour un système basé sur KDE avec le support pour DVD, ALSA et l'enregistrement de CD :

root #nano -w /etc/portage/make.conf
FILE /etc/portage/make.confActiver les paramètres de la variable USE pour un système basé sur KDE avec le support pour DVD, ALSA et l'enregistrement de CD
USE="-gtk -gnome qt4 qt5 kde dvd alsa cdr"

Quand la variable USE est définie dans /etc/portage/make.conf, les options sont ajoutées (ou supprimées si l'option commence par le signe -) de cette liste par défaut. Les utilisateurs qui souhaitent ignorer les paramètres par défaut de la variable USE et gérer toutes les options eux-mêmes doivent commencer la définition de la variable USE dans le fichier make.conf par -* :

FILE /etc/portage/make.confIgnorer les options par défaut de la variable USE
USE="-* X acl alsa"
Attention !
Bien que possible, utiliser -* (comme vu dans l'exemple ci-dessus) est découragé car les options par défaut de la variable USE, choisies avec soins, peuvent être configurées dans certains ebuild afin d'éviter les conflits et autres erreurs.


Fuseau horaire

Sélectionner le fuseau horaire pour le système. Rechercher les fuseaux horaires disponibles dans /usr/share/zoneinfo/, puis l'écrire dans le fichier /etc/timezone.

root #ls /usr/share/zoneinfo

Si le fuseau horaire choisi est Europe/Brussels :

root #echo "Europe/Brussels" > /etc/timezone

Veuillez éviter les fuseaux horaires tels que /usr/share/zoneinfo/Etc/GMT* car leurs noms d'indiquent pas les zones attendues. Par exemple, GMT-8 est en réalité GMT+8.

Ensuite, reconfigurer le paquet sys-libs/timezone-data, qui se chargera de mettre à jour le fichier /etc/localtime, en se basant sur le champ /etc/timezone. Le fichier /etc/localtime est utilisé par la bibliothèque C du système pour connaître dans quel fuseau horaire celui-ci se situe.

root #emerge --config sys-libs/timezone-data

Configurer les paramètres régionaux

La plupart des utilisateurs n'utiliseront qu'un ou deux paramètres régionaux sur leur système.

Les paramètres régionaux spécifient non seulement la langue que l'utilisateur doit utiliser pour interagir avec le système, mais aussi les règles pour trier les chaînes de caractères, afficher les dates et les heures, etc.

Les paramètres régionaux que le système doit supporter doivent être mentionnés dans /etc/locale.gen.

root #nano -w /etc/locale.gen

Les paramètres régionaux suivant sont un exemple pour avoir et l'anglais (États-Unis) et le français avec les formats de caractères correspondants (comme UTF-8).

FILE /etc/locale.genActiver les paramètres régionaux US et FR avec les formats de caractères correspondants
en_US ISO-8859-1
en_US.UTF-8 UTF-8
fr_FR ISO-8859-1
fr_FR.UTF-8 UTF-8
Attention !
Il est fortement recommandé d'utiliser au moins une option de paramètres régionaux en UTF-8 car beaucoup d'applications le requièrent.

L'étape suivante consiste à exécuter la commande locale-gen. Elle génère toutes les paramètres régionaux spécifiés dans le fichier /etc/locale.gen.

root #locale-gen

Pour vérifier que les paramètres régionaux sélectionnés sont maintenant disponibles, exécuter locale -a.

Une fois terminé, il est maintenant temps de définir les paramètres régionaux du système. Encore une fois, eselect sera utilisé, cette fois avec le module locale.

Avec eselect locale list, les choix disponibles sont affichés :

root #eselect locale list
Available targets for the LANG variable:
  [1] C
  [2] POSIX
  [3] en_US
  [4] en_US.iso88591
  [5] en_US.utf8
  [6] fr_FR
  [7] fr_FR.iso88591
  [8] fr_FR.iso885915
  [9] fr_FR.utf8
  [ ] (free form)

Avec eselect locale set VALEUR, les paramètres régionaux corrects peuvent être définis :

root #eselect locale set 9

Manuellement, cela peut être réalisé via le fichier /etc/env.d/02locale :

FILE /etc/env.d/02localeConfigurer manuellement les paramètres régionaux du système
LANG="fr_FR.UTF-8"
LC_COLLATE="C"

S'assurer que les paramètres régionaux soient correctement appliqués, car le système afficherait autrement des avertissements et erreurs lors des compilations du noyau et d'autres logiciels plus tard dans l'installation.

Mettre maintenant l'environnement à jour :

root #env-update && source /etc/profile && export PS1="(chroot) $PS1"

Un guide complet sur les paramètres régionaux existe afin d'aider l'utilisateur lors de ce processus. Un autre article intéressant est l'article sur UTF-8 qui contient des informations spécifiques pour activer le support de l'UTF-8 sur le système.