Gentoo Logo

[ << ] [ < ] [ Sommaire ] [ > ] [ >> ]


6. Installer le système de base de Gentoo

Table des matières :

6.a. Changement de racine (chrooting)

Facultatif : sélection des miroirs

Il est recommandé de choisir un miroir rapide pour télécharger les sources. Portage utilise la variable GENTOO_MIRRORS définie dans make.conf pour connaitre les différents serveurs à contacter. Vous pouvez consulter la liste de nos miroirs et en choisir quelques-uns proches de chez vous, car ils sont en général les plus rapides pour vous. Cependant, l'outil mirrorselect vous présente la même liste et vous permet de les choisir et de les enregistrer plus facilement.

Exemple de code 1.1 : définir la variable GENTOO_MIRRORS avec mirrorselect

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

Une autre variable importante de make.conf est SYNC qui indique à Portage le serveur à utiliser pour synchroniser votre arbre Portage (l'ensemble des ebuilds, des scripts et autres fichiers dont Portage a besoin pour installer des paquets). Au lieu de définir SYNC manuellement, vous pouvez aussi utiliser mirrorselect.

Exemple de code 1.2 : choisir un miroir pour RSYNC avec mirrorselect

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

Après avoir utilisé mirrorselect, il est conseillé de vérifier le contenu de /mnt/gentoo/etc/portage/make.conf.

Note : si vous désirez déclarer un serveur SYNC à la main dans make.conf, vous devriez consulter la liste des mirroirs de la communauté pour trouver les mirroirs les plus proches de chez vous. Nous vous conseillons de choisir un pool, comme rsync.us.gentoo.org, plutôt que de choisir un seul mirroir. Ceci permet de répartir la charge et fournit une solution de repli quand un mirroir est hors service.

Copier l'information DNS

Il reste une dernière chose à faire avant d'entrer dans le nouvel environnement. Il s'agit de copier l'information DNS de /etc/resolv.conf. Vous devez le faire afin d'assurer le bon fonctionnement du réseau dans le nouvel environnement. /etc/resolv.conf contient les serveurs de noms pour votre réseau.

Exemple de code 1.3 : copier l'information DNS

(L'option -L garantit qu'on ne copie pas un lien symbolique.)
# cp -L /etc/resolv.conf /mnt/gentoo/etc/

Monter les systèmes de fichiers requis (/proc et /dev)

Dans un moment, nous allons changer la racine de Linux vers le nouvel emplacement. Pour être sûr que le nouvel environment fonctionne correctement, nous devons rendre certains fichiers disponibles.

Montez le système de fichiers /proc sur /mnt/gentoo/proc pour permettre à l'installation d'utiliser les informations fournies par le noyau même lorsqu'on se trouve dans l'environnement sous la nouvelle racine, et montez-liez les systèmes de fichiers /dev et /sys.

Exemple de code 1.4 : monter /proc et /dev

# mount -t proc none /mnt/gentoo/proc
# mount --rbind /sys /mnt/gentoo/sys
# mount --rbind /dev /mnt/gentoo/dev

Attention : Lorsque vous utilisez un médium d'installation non Gentoo, ceci peut ne pas suffire. Quelques distributions font de /dev/shm un lien symbolique vers /run/shm qui, après le changement de racine, devient invalide. Faire de /dev/shm une interface de montage de système de fichiers temporaire correct peut résoudre ce problème.

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 notre nouvel environnement d'installation en changeant la racine de Linux (chrooting). Cela signifie que l'on passe de l'environnement d'installation actuel (CD d'installation ou autre environnement d'installation) à l'environnement de votre système (soit les partitions initialisées).

Le changement de racine se fait en trois étapes. D'abord, on déplace la racine / depuis l'environnement d'installation vers /mnt/gentoo sur vos partitions, en utilisant chroot. Puis nous rechargeons en mémoire quelques paramètres de configuration fournis par /etc/profile via la commande source. La dernière étape consiste à redéfinir l'invite de commande pour que nous nous rapellions que nous sommes dans un environnement après changement de racine.

Exemple de code 1.5 : entrer dans le nouvel environnement

# chroot /mnt/gentoo /bin/bash
# source /etc/profile
# export PS1="(chroot) $PS1"

Félicitations ! Vous êtes maintenant dans votre propre environnement Gentoo Linux. Bien sûr, ce dernier est loin d'être complet. C'est pourquoi il reste encore quelques sections à ce guide d'installation :-)

Si, à n'importe quel moment, vous avez besoin d'accéder au nouvel environnement depuis un autre terminal ou une autre console, tout ce que vous avez à faire et d'exécuter à nouveau les étapes précédentes.

6.b. Configurer Portage

Installer un instantané de Portage

Vous devez maintenant installer un instantané de Portage, c'est à dire, une collection de fichiers qui disent à Portage quel programmes vous pouvez installer, quels profils sont disponibles, etc.

Nous recommandons d'utiliser la commande emerge-webrsync. Ceci ira chercher l'instantané de Portage le plus récent (que la communauté Gentoo met à jour quotidiennement) depuis l'un de nos mirroirs et l'installera sur votre système.

Exemple de code 2.1 : exécuter emerge-webrsync pour installer un instantané de Portage

# emerge-webrsync

Note : Durant cette opération, il se peut que emerge-webrsync se plaigne d'un emplacement /usr/portage manquant. Il faut s'y attendre et il n'y a rien à craindre de cela - l'outil va créer l'emplacement pour nous.

À partir de ce poin, Portage peut indiquer que certaines mises à jours sont recommandées. C'est parce que certains paquets systèmes disposent d'une version plus récente que celle installées par l'archive d'étape 3 et que Portage en prend conscience parce qu'un nouvel instantané vient d'être installé. Vous pouvez ne pas en tenir compte pour le moment et ne faire la mise à jour qu'après la fin de l'installation.

Facultatif : mettre l'arbre de Portage à jour

Vous pouvez maintenant mettre votre arbre Portage à jour. emerge --sync utilise le protocole rsync pour mettre l'arbre de Portge à jour (celui que vous êtes allé chercher auparavant avec emerge-webrsync.)

Exemple de code 2.2 : mise à jour de l'arbre de Portage

# emerge --sync
(Si vous utilisez un terminal lent comme certains tampons de trames ou une
connexion série, vous pouvez ajouter l'option --quiet pour gagner du
temps :)
# emerge --sync --quiet

Si vous vous trouvez derrière un pare-feu qui bloque le trafic rsync, vous pouvez pour l'instant ignorer cette étape car vous avez déjà un arbre récent.

Si vous recevez un avertissement vous suggérant de mettre Portage à jour parce qu'une nouvelle version est disponible, il est recommandé de le faire. Utilisez la commande emerge --oneshot portage. On peut aussi vous signaler de prendre connaissance de certaines nouvelles. Plus sur ce point après.

Lecture des nouvelles

Lors de la synchronisation d'un arbre Portage, Portage peut attirer votre attention sur les points suivants :

Exemple de code 2.3 : portage vous informe que des nouvelles sont à lire

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

Les nouvelles de Portage ont été créées pour permettre de communiquer des messages critiques aux utilisateurs via la synchronisation. Pour les lire, vous devez utiliser eselect news. Avec la sous-commande read vous pouvez lire toutes les nouvelles. Avec la sous-commande list vous pouvez en avoir une vue d'ensemble et avec purge vous pouvez les éliminer dès que vous les avez lues et que vous n'en avez plus besoin.

Exemple de code 2.4 : lecture des nouvelles de Portage

# eselect news list
# eselect news read

Des informations détaillées sont disponibles sur le lecteur de nouvelles par le biais de sa page de manuel : man news.eselect.

Choisir le bon profil

Qu'est-ce qu'un profil ?

Un profil est un composant important d'une installation de Gentoo. Il spécifie non seulement les valeurs par défaut des options de compilation (les variables CFLAGS et CXXFLAGS) et d'autres paramètres importants (comme la variable USE), mais aussi quels paquets sont disponibles ou pas. Les profils sont mis à jour par les développeurs Gentoo.

Les utilisateurs n'avaient pas à se préoccuper des profils jusqu'à présent. Cependant, il existe des situations dans lesquelles vous pourriez estimer qu'un changement de profil est nécessaire.

Pour connaitre le profil que vous utilisez, lancez la commande suivante :

Note : La sortie de la commande ci-dessous est juste donnée à titre d'exemple. Elle peut évoluer dans le temps.

Exemple de code 2.5 : connaitre le profil utilisé

# eselect profile list
Available profile symlink targets:
  [1]   default/linux/ia64/13.0 *
  [2]   default/linux/ia64/13.0/desktop
  [3]   default/linux/ia64/13.0/desktop/gnome
  [4]   default/linux/ia64/13.0/desktop/kde

Les sous-profils desktop sont également disponibles pour d'autres architectures. La commande eselect profile list vous listera les profils disponibles.

Après avoir examiné les différents profils possibles pour votre architecture, vous pouvez en changer si vous le désirez :

Exemple de code 2.6 : changer de profil

# eselect profile set 2

Note : le sous-profil developer est réservé aux tâches de développement pour Gentoo Linux. Il n'est pas destiné à créer un environnement global de développement.

Configurer la variable USE

USE est une des plus puissantes variables mises à la disposition des utilisateurs de Gentoo. Plusieurs programmes peuvent être compilés avec ou sans le support optionnel disponible pour certaines fonctionnalités. Par exemple, certains programmes peuvent être compilés avec la prise en charge de GTK ou de Qt. D'autres peuvent être compilés avec ou sans prise en charge de SSL. Certains programmes peuvent même être compilés avec une prise en charge du tampon de trames « framebuffer » (svgalib) plutôt que de X11 (serveur X).

La plupart des distributions compilent leurs paquets avec une prise en charge aussi complète que possible, augmentant ainsi la taille des programmes et le temps de chargement, sans mentionner le nombre énorme de dépendances qui en résulte. Avec Gentoo, vous pouvez définir les options à utiliser lors de la compilation d'un paquet. C'est ici que la variable USE entre en jeu.

La variable USE contient des mots-clés que vous choisissez et qui correspondent à des options de compilation. Par exemple, ssl compilera la prise en charge de ssl dans les programmes qui le supportent. -X retirera la prise en charge du serveur X (remarquez le signe moins devant le mot-clé). gnome gtk -kde -qt3 -qt4 compilera vos programmes avec la prise en charge de GNOME (et GTK), mais sans la prise en charge de KDE (ni Qt). Le résultat sera un système complètement optimisé pour GNOME.

Les options par défaut de la variable USE se trouvent dans les fichiers make.defaults de votre profil. Vous trouverez ces fichiers make.defaults dans le répertoire sur lequel le lien /etc/portage/make.profile pointe, ainsi que dans tous ses répertoires parents. Les options par défaut de la variableUSE sont donc la somme de toutes les options de la variable USE de ces fichiers. Vos modifications à /etc/portage/make.conf sont jugées en fonction de ces options par défaut. Si vous ajoutez quelque chose aux options de la variableUSE, c'est ajouté à la liste par défaut. Si vous retirez quelque chose des options de la variable USE (en le précédant du signe moins), c'est retiré de la liste par défaut (en supposant que cela s'y trouvait). Ne modifiez jamais quoi que ce soit dans le répertoire /etc/portage/make.profile car ces fichiers sont écrasés lors des mises à jour de Portage !

Une description complète de la variable USE peut être consultée dans la seconde partie du Manuel Gentoo, La variable USE. Une description complète des options disponibles se trouve dans le fichier /usr/portage/profiles/use.desc qui devrait déjà être sur votre système.

Exemple de code 2.7 : afficher les options de la variable USE disponibles

# less /usr/portage/profiles/use.desc
(Utilisez les flèches de votre clavier pour faire défiler
le texte et tapez 'q' pour quitter.)

L'exemple suivant montre les options de la variable USE pour un système basé sur KDE avec prise en charge d'ALSA, pour les DVD et pour la gravure de CD :

Exemple de code 2.8 : ouverture de /etc/portage/make.conf

# nano -w /etc/portage/make.conf

Exemple de code 2.9 : options de la variable USE

USE="-gtk -gnome  qt4 kde dvd alsa cdr"

6.c. Fuseau horaire

Vous devez maintenant choisir votre fuseau horaire afin que votre système sache où il se trouve. Cherchez votre fuseau horaire dans /usr/share/zoneinfo, puis copiez-le sur /etc/localtime.

Exemple de code 3.1 : définir l'information relative au fuseau horaire

# ls /usr/share/zoneinfo
(En supposant que vous désiriez utiliser  Europe/Brussels)
# echo "Europe/Brussels" > /etc/timezone

Évitez les fuseaux du type /usr/share/zoneinfo/Etc/GMT* car leur nom prête à confusion. Par exemple, GMT-8 est en fait GMT+8.

Ensuite, reconfigurez le paquet timezone-data, qui mettra à jour le fichier /etc/localtime pour nous, en se basant sur l'entrée /etc/timezone. Le fichier /etc/localtime est utilisé par la bibliothèque système C pour déterminer dans quel fuseau horaire se trouve le système.

Exemple de code 3.2 : reconfigurer les informations de fuseau horaire (timezone-data)

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

6.d. Configurer les locales

YVous n'utiliserez probablement qu'une ou deux locales sur votre système. Vous devez spécifier les locales dont vous avez besoin dans /etc/locale.gen.

Exemple de code 4.1 : Éditer /etc/locale.gen

# nano -w /etc/locale.gen

Les locales suivantes sont un exemple pour disposer à la fois de l'anglais (US) et de l'allemand. avec les formats de caractères associés (tels qu'UTF-8).

Exemple de code 4.2 : Spécifier les locales

en_US ISO-8859-1
en_US.UTF-8 UTF-8
de_DE ISO-8859-1
de_DE@euro ISO-8859-15

Note : Vous pouvez choisir les locales désirées dans la liste en exécutant la commande locale -a.

Attention : nous vous recommandons fortement d'utiliser au moins une locale UTF-8 car certaines applications l'exigent.

L'étape suivante consiste à utiliser la commande locale-gen. Elle générera toutes les locales que vous avez spécifiées dans le fichier /etc/locale.gen .

Exemple de code 4.3 : exécuter locale-gen

# locale-gen

Vous pouvez vérifier que les locales que vous avez selectionnées sont disponible via la commande locale -a.

Une fois cela fait, vous avez la possibilité de définir les paramètres de locale valable pour tout le système. Grâce à la commande eselect locale list, les cibles disponibles sont affichées.

Exemple de code 4.4 : afficher les paramètres de langue (LANG) disponibles

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

Via eselect locale set <value> on peut définir la locale :

Exemple de code 4.5 : Définir la variable LANG

# eselect locale set 9

On peut toujours définir cela à la main dans le fichier /etc/env.d/02locale :

Exemple de code 4.6 : Définir la locale par défaut dans le fichier /etc/env.d/02locale

LANG="de_DE.UTF-8"
LC_COLLATE="C"

Assurez-vous qu'une locale est définie, sinon vous risquez d'avoir des avertissements et des erreurs lors de la compilation du noyau et le déploiement d'autres programnes plus loin dans la phase d'installation.

N'oubliez pas de recharger votre environment:

Exemple de code 4.7 : recharger l' environment du shell

# env-update && source /etc/profile

Nous tenons un Guide de Localization complet à votre disposition pour vous aider dans ce processus. Vous pouvez également lire l' article UTF-8 pour des informations très détaillées sur activer UTF-8 sur votre système.


[ << ] [ < ] [ Sommaire ] [ > ] [ >> ]


Imprimer

Voir tout

Dernière mise à jour le 17 août 2014

Résumé : Maintenant que le fichier stage3 est installé et configuré nous cherchons à disposer d'un système Gentoo de base. Ce chapitre explique comment le rendre opérationnel.

Sven Vermeulen
Author

Grant Goodyear
Author

Roy Marples
Author

Daniel Robbins
Author

Chris Houser
Author

Jerry Alexandratos
Author

Seemant Kulleen
Gentoo x86 Developer

Tavis Ormandy
Gentoo Alpha Developer

Jason Huebel
Gentoo AMD64 Developer

Guy Martin
Gentoo HPPA developer

Tim Yamin
Gentoo IA64 developer

Pieter Van den Abeele
Gentoo PPC developer

Joe Kallar
Gentoo SPARC developer

Mike Frysinger
Gentoo * developer

John P. Davis
Editor

Pierre-Henri Jondot
Editor

Eric Stockbridge
Editor

Rajiv Manglani
Editor

Jungmin Seo
Editor

Stoyan Zhekov
Editor

Jared Hudson
Editor

Colin Morey
Editor

Jorge Paulo
Editor

Carl Anderson
Editor

Jon Portnoy
Editor

Zack Gilburd
Editor

Jack Morgan
Editor

Benny Chuang
Editor

Erwin
Editor

Joshua Kinard
Editor

Stuart Longland
Editor

Tobias Scherbaum
Editor

Xavier Neys
Editor

Joshua Saddler
Editor

Gerald J. Normandin Jr.
Reviewer

Donnie Berkholz
Reviewer

Ken Nowack
Reviewer

Lars Weiler
Contributor

José Fournier
Traducteur

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.