Installer Gentoo facilement (OpenRC)
Table des matières
Gentoo est une distribution GNU/Linux sympathique, conçue pour être optimisée pour le matériel de l'utilisateur. Tous les programmes sont donc compilés à partir du code source.
Gentoo utilise le gestionnaire de paquets Portage.
Calculate Linux dont je parle beaucoup sur ce site est basé sur Gentoo, mais est plus "facile" d'emploi
Ce didacticiel traite les cas d'installation en mode :
- BIOS ou UEFI
- Partition standard ou LVM
Dans un premier temps, il est nécessaire de télécharger le CD d'installation. Prendre l'iso disponible ici :
Vérifier que la machine dispose du réseau, surtout d'Internet.
Disposer d'une deuxième machine avec un client SSH est un plus (le copier coller sera plus facile)
Insérer le CD dans la machine
Booter sur le CD.
Sur l'invite de commande boot: valider en appuyant sur Entrée.
Le Live CD charge les modules et démarre.
Une invite demande de sélectionner la langue. Je choisis 16 (fr).
Le chargement est terminé lorsque le prompt livecd ~ # s'affiche.
Si le clavier n'est pas en français :
On vérifie que nous disposons bien d'une IP :
Si besoin, demander une IP à notre serveur DHCP :
On teste la connexion à internet (Ctrl+C pour annuler) :
On configure le démon sshd
Et on décommente PermitRootLogin qu'on positionne à yes
On démarre le service ssh :
Et on initialise le mot de passe root :
On se connecte depuis un autre PC sur notre Gentoo :
Ce sera plus facile pour faire du copier/coller.
Il existe plusieurs manières de partitionner son disque, avec des outils différents.
Moi, je vais utiliser cfdisk, il est plus "facile" à utiliser que fdisk.
Partitionner à sa guise, dans ce tutoriel, je vais faire :
Ce qui me donne avec la commande fdisk ce résultat au final :
On formate les partitions :
On monte la partition racine dans /mnt/gentoo
On créé les points de montage des autres partitions et on monte celles-ci dans leurs dossiers respectifs (exemple avec /home sur /dev/sda2)
On en profite pour monter le SWAP :
Vérifier que la date est au format UTC (c'est à dire à l'heure de Londres).
C'est OK dans mon cas.
Modifier si besoin la date et l'heure :
Le site de Gentoo propose les liens vers les "stage 3" de chaque architecture. Prendre celle qui convient le mieux.
Extraire ensuite l'archive :
On édite le fichier make.conf pour lui ajouter quelques options supplémentaires.
Le fichier /etc/portage/make.conf est le fichier de configuration dans lequel on va définir les variables de notre future architecture (nombre de coeurs, carte vidéo, périphériques d'entrée, langue, choix des variables d'utilisation, etc... )
On peut d'abord vérifier que les variables concernant la compilation sont :
On peut afiner plus l'optimisation de GCC mais ce n'est pas le but de ce tutoriel.
On sélectionne un miroir proche qu'on ajoute dans le make.conf :
On configure ensuite les dépôts en créant le dossier repos.conf :
Puis on copie le fichier de config du dépôt Gentoo dans le futur système :
Dans un premier temps, on se copie le fichier de résolution de noms DNS dans la future arborescence :
On monte ensuite les dossiers proc et dev dans /mnt/gentoo
On change l’environnement du live CD pour basculer vers l'environnement final.
On chroot le système.
On met à jour des variables d'environnement :
Pour ne pas s’emmêler les pinceaux, on peut ajouter un repère à notre prompt pour bien distinguer que l'on est en chroot :
On va maintenant télécharger et extraire l'arbre de portage (la dernière version). C'est la liste de tous les logiciels disponible sous Gentoo :
L'opération prend un petit peu de temps.
Ensuite, on va sélectionner son profil.
Lister les profils via :
Quand j'ai mis à jour ce tutoriel, j'avais :
Sélectionner le profil qui vous convient (ici default/linux/amd64/17.1 ) :
Vérifier de nouveau avec
que le profil sélectionné est bon.
Une fois le profil sélectionné et le make.conf personnalisé, on peut éventuellement (facultatif) faire une mise à jour du world avant de continuer :
Les locales, c'est la langue du système et son encodage. Configurer tout cela pour du français :
Mettre ceci pour du français compatible UTF-8
On génère les locales :
On liste ensuite les locales disponibles :
La liste donne ceci chez moi :
On sélectionne sa locale concernée (renseigne le /etc/env.d/02locale automatiquement) :
On configure la disposition du clavier pour la console TTY :
Modifier la ligne keymap ainsi pour disposer d'un clavier AZERTY :
On met à jour l'environnement :
Vu que nous sommes sur Paris en France, configurons ainsi le fuseau horaire :
Vu que nous sommes sur Paris en France, configurons ainsi le fuseau horaire :
Et on configure le paquet timezone-data :
Après changement du fuseau horaire, n'hésitez pas à voir si l'heure est bonne.
Si besoin, redéfinir la date :
Vérifier que l'horloge est bien en UTC :
Dans le cadre d'une VM, il est nécessaire d'appliquer cette commande pour synchroniser l'horloge matérielle à l'horloge système :
Editer le fichier fstab pour renseigner les partitions et leur point de montage :
Exemple :
Pour des UUID :
Installer les sources du noyau :
On peut aussi installer les paquets pciutils et usbutils contenant les outils lspci et lsusb :
Dans le cas d'un matériel spécifique, on peut aussi installer linux-firmware :
On se rend dans les sources :
On fait nettoie les sources :
On règle les options du noyau :
Sauvegarder le fichier .config.
On compile le noyau (mettez comme valeur à "j" le nombre de processeurs +1) :
On installe les modules :
Puis on installe le noyau :
Si notre gentoo est installée en LVM, on installe le paquet lvm2 :
On démarre le service lvm et on l'ajoute au boot :
Il est également nécessaire de générer un initramfs. Sans cela, le système ne démarrera pas.
On installe dracut :
Puis on génère le initramfs avec :
Exemple, si mon noyau s'appelle 4.19.86-gentoo-adrien
Configurer le nom d'hôte de la machine. Éditer le fichier hostname :
On peut aussi configurer à notre guise le fichier hosts :
Exemple :
Marquer comme installé manuellement netifrc :
Pour configurer une IP fixe, repérer le nom de l'interface réseau avec
Ensuite, on édite a configuration de l'interface réseau (je prends un exemple avec le nom eth0) :
Ajouter la configuration du réseau. Voici un exemple sur mon serveur :
Si on veux utiliser les IP dynamique, il faut installer un client DHCP :
Repérer le nom de l'interface réseau avec
Ensuite, on édite a configuration de l'interface réseau (je prends un exemple avec le nom eth0) :
Ajouter une ligne (ou l'éditer) de la configuration du réseau pour indiquer qu'on utilise DHCP :
Pour activer la carte réseau au démarrage, il suffit de créer un lien symbolique du service réseau avec le nom de l'interface
Puis on active ce service au démarrage :
N'oublions pas le plus important, le mot de passe root !
N'oublions pas de lancer le service SSH au boot, s'il s'agit d'un serveur :
On ne va pas se promener sur notre nouveau système en root non ?
Pour cela, il faut ajouter un utilisateur au moins :
Voici une brève descriptions des groupes plutôt utiles :
Exemple :
Ne pas oublier d'initialiser le mot de passe via la commande
Définir la variable GRUB_PLATFORMS dans le fichier make.conf :
Cas BIOS :
Cas UEFI 64bits :
Ensuite, on installe grub2 :
Une fois grub installé, on l'installe sur notre disque dur (MBR) :
Puis on génère la configuration :
On sort du chroot :
On supprime les fichiers précédemment téléchargés :
On revient à la racine du live CD et on démonte tout ce dont on a plus besoin :
On reboot, on enlève le Live CD et on croise les doigts
Voila Gentoo est installée
On installe rsyslog et logrotate :
On démarre le service au boot :
On installe cron :
On démarre le service au boot :
Si on le souhaite, on peut installer le service NTP pour synchroniser l'horloge automatiquement via le réseau :
On démarre le service :
On l'ajoute au démarrage de la machine :
Installons quelques outils pratiques :
Si on a installé eix, on peut configurer le fait que eix-sync fasse : emerge --sync + layman -S + eix-update + eix-diff en configurant /etc/eix-sync.conf :
eselect-repository permet d'ajouter des "overlays" c'est à dire des dépôts complémentaires. Je le trouve plus utile sur un PC que sur un serveur.
Installer eselect-repository
Lister les overlays :
Activer un overlay :
Désactiver un overlay :
Ajouter un overlay non listé (non officiel) :
Exemple avec mon overlay :
Et voila, c'est terminé
Si on veut installer un environnement de bureau, retrouvez la suite dans un second article ici : https://www.linuxtricks.fr/wiki/installer-gentoo-facilement-environnement-de-bureau
- Introduction
- Avant installation
- Partitionnement
- Installer les fichiers d'installation de Gentoo
- Configuration essentielle avant le chroot
- Installer le système de base
- Installer le chargeur d'amorçage
- Finalisation de l'installation du système
- Derniers réglages
- Installer un environnement de bureau
Introduction
Gentoo est une distribution GNU/Linux sympathique, conçue pour être optimisée pour le matériel de l'utilisateur. Tous les programmes sont donc compilés à partir du code source.
Gentoo utilise le gestionnaire de paquets Portage.
Calculate Linux dont je parle beaucoup sur ce site est basé sur Gentoo, mais est plus "facile" d'emploi
Ce didacticiel traite les cas d'installation en mode :
- BIOS ou UEFI
- Partition standard ou LVM
Avant installation
Obtenir le média d'installation
Dans un premier temps, il est nécessaire de télécharger le CD d'installation. Prendre l'iso disponible ici :
- Gentoo 32bits : http://distfiles.gentoo.org/releases/x86/autobuilds/ ou chez Esslingen http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/releases/x86/autobuilds/
- Gentoo 64bits : http://distfiles.gentoo.org/releases/amd64/autobuilds/ ou chez Esslingen http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/releases/amd64/autobuilds/
- Gentoo toutes architectures : Se rendre directement sur la page officielle de Gentoo et choisir la bonne ISO https://www.gentoo.org/downloads/
Prérequis
Vérifier que la machine dispose du réseau, surtout d'Internet.
Disposer d'une deuxième machine avec un client SSH est un plus (le copier coller sera plus facile)
Préparer l'installation
Insérer le CD dans la machine
Booter sur le CD.
Sur l'invite de commande boot: valider en appuyant sur Entrée.
Le Live CD charge les modules et démarre.
Une invite demande de sélectionner la langue. Je choisis 16 (fr).
Le chargement est terminé lorsque le prompt livecd ~ # s'affiche.
Si le clavier n'est pas en français :
Code BASH :
loadkeys fr
On vérifie que nous disposons bien d'une IP :
Code BASH :
ip a
Si besoin, demander une IP à notre serveur DHCP :
Code BASH :
dhcpcd
On teste la connexion à internet (Ctrl+C pour annuler) :
Code BASH :
ping -c2 linuxtricks.fr
Configurer l'accès distant ssh
Sur la machine locale
On configure le démon sshd
Code BASH :
vi /etc/ssh/sshd_config
Et on décommente PermitRootLogin qu'on positionne à yes
On démarre le service ssh :
Code BASH :
/etc/init.d/sshd start
Et on initialise le mot de passe root :
Code BASH :
passwd
Sur la machine distante
On se connecte depuis un autre PC sur notre Gentoo :
Code BASH :
ssh root@Ip_machine
Ce sera plus facile pour faire du copier/coller.
Partitionnement
Il existe plusieurs manières de partitionner son disque, avec des outils différents.
Moi, je vais utiliser cfdisk, il est plus "facile" à utiliser que fdisk.
Code BASH :
cfdisk
Partitionner à sa guise, dans ce tutoriel, je vais faire :
- une partition racine de 20Go
- une partition /home de 10Go
- une partition SWAP de 2Go
Code BASH :
cfdisk (util-linux 2.22.2) Disk Drive: /dev/sda Size: 32212254720 bytes, 32.2 GB Heads: 255 Sectors per Track: 63 Cylinders: 3916 Name Flags Part Type FS Type [Label] Size (MB) --------------------------------------------------------------------------------------------- sda1 Boot Primary Linux 20003.89 sda2 Primary Linux 10001.95 sda3 Primary Linux swap / Solaris 1998.75 Pri/Log Free Space 207.70 * [ Bootable ] [ Delete ] [ Help ] [ Maximize ] [ Print ] [ Quit ] [ Type ] [ Units ] [ Write ] Wrote partition table to disk Toggle bootable flag of the current partition
Ce qui me donne avec la commande fdisk ce résultat au final :
Code BASH :
fdisk -l Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sda1 * 63 39070079 19535008+ 83 Linux /dev/sda2 39070080 58605119 9767520 83 Linux /dev/sda3 58605120 62508914 1951897+ 82 Linux swap / Solaris
On formate les partitions :
Code BASH :
mkfs.ext4 /dev/sda1 mkfs.ext4 /dev/sda2 mkswap /dev/sda3
On monte la partition racine dans /mnt/gentoo
Code BASH :
mount /dev/sda1 /mnt/gentoo
On créé les points de montage des autres partitions et on monte celles-ci dans leurs dossiers respectifs (exemple avec /home sur /dev/sda2)
Code BASH :
mkdir /mnt/gentoo/home mount /dev/sda2 /mnt/gentoo/home
On en profite pour monter le SWAP :
Code BASH :
swapon /dev/sda3
Vérifier que la date est au format UTC (c'est à dire à l'heure de Londres).
Code BASH :
date Thu Jul 25 08:29:50 UTC 2013
C'est OK dans mon cas.
Modifier si besoin la date et l'heure :
Code BASH :
date MMJJhhmmAAAA
Installer les fichiers d'installation de Gentoo
Stage 3 : Le système
Le site de Gentoo propose les liens vers les "stage 3" de chaque architecture. Prendre celle qui convient le mieux.
Code BASH :
cd /mnt/gentoo
32bits
Code BASH :
wget http://distfiles.gentoo.org/releases/x86/autobuilds/current-stage3-i686/stage3-i686-*.tar.xz
64bits
Code BASH :
wget http://distfiles.gentoo.org/releases/amd64/autobuilds/current-stage3-amd64/stage3-amd64-*.tar.xz
Extraire ensuite l'archive :
Code BASH :
tar xJvpf stage3-*.tar.xz
Configuration essentielle avant le chroot
Configuration du fichier make.conf
On édite le fichier make.conf pour lui ajouter quelques options supplémentaires.
Le fichier /etc/portage/make.conf est le fichier de configuration dans lequel on va définir les variables de notre future architecture (nombre de coeurs, carte vidéo, périphériques d'entrée, langue, choix des variables d'utilisation, etc... )
Code BASH :
nano -w /mnt/gentoo/etc/portage/make.conf
On peut d'abord vérifier que les variables concernant la compilation sont :
Code BASH :
CFLAGS="-march=native -O2 -pipe" CXXFLAGS="${CFLAGS}"
On peut afiner plus l'optimisation de GCC mais ce n'est pas le but de ce tutoriel.
Code BASH :
USE="python" MAKEOPTS="-j13" # 13 car j'ai 12 cores : nb cores+1 LINGUAS="fr" #Langue (anciennement) L10N="fr" #Langue VIDEO_CARDS="fbdev vesa intel i915 nvidia nouveau radeon amdgpu radeonsi virtualbox vmware" #Cartes graphiques, choisir les cartes adéquats. Garder fbdev (framebuffer) et vesa (générique) INPUT_DEVICES="libinput synaptics keyboard mouse evdev jokstick wacom" # Périphériques d'entrées utilisés (clavier souris + si affinités) EMERGE_DEFAULT_OPTS="${EMERGE_DEFAULT_OPTS} --quiet-build=y" # Pour ne pas avoir la compilation verbeuse
Sélection des miroirs
On sélectionne un miroir proche qu'on ajoute dans le make.conf :
Code BASH :
mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf
On configure ensuite les dépôts en créant le dossier repos.conf :
Code BASH :
mkdir -p /mnt/gentoo/etc/portage/repos.conf
Puis on copie le fichier de config du dépôt Gentoo dans le futur système :
Code BASH :
cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf
Installer le système de base
Copie des informations DNS
Dans un premier temps, on se copie le fichier de résolution de noms DNS dans la future arborescence :
Code BASH :
cp -L /etc/resolv.conf /mnt/gentoo/etc/
Montage et chroot
On monte ensuite les dossiers proc et dev dans /mnt/gentoo
Code BASH :
mount -t proc /proc /mnt/gentoo/proc mount --rbind /dev /mnt/gentoo/dev mount --rbind /sys /mnt/gentoo/sys
On change l’environnement du live CD pour basculer vers l'environnement final.
On chroot le système.
Code BASH :
chroot /mnt/gentoo /bin/bash
On met à jour des variables d'environnement :
Code BASH :
env-update && source /etc/profile
Pour ne pas s’emmêler les pinceaux, on peut ajouter un repère à notre prompt pour bien distinguer que l'on est en chroot :
Code BASH :
export PS1="[chroot] $PS1"
Portage
On va maintenant télécharger et extraire l'arbre de portage (la dernière version). C'est la liste de tous les logiciels disponible sous Gentoo :
Code BASH :
emerge-webrsync
L'opération prend un petit peu de temps.
Configurer le profile
Ensuite, on va sélectionner son profil.
Lister les profils via :
Code BASH :
eselect profile list
Quand j'ai mis à jour ce tutoriel, j'avais :
Code TEXT :
Available profile symlink targets: [1] default/linux/amd64/17.0 (stable) [2] default/linux/amd64/17.0/selinux (stable) [3] default/linux/amd64/17.0/hardened (stable) [4] default/linux/amd64/17.0/hardened/selinux (stable) [5] default/linux/amd64/17.0/desktop (stable) [6] default/linux/amd64/17.0/desktop/gnome (stable) [7] default/linux/amd64/17.0/desktop/gnome/systemd (stable) [8] default/linux/amd64/17.0/desktop/plasma (stable) [9] default/linux/amd64/17.0/desktop/plasma/systemd (stable) [10] default/linux/amd64/17.0/developer (stable) [11] default/linux/amd64/17.0/no-multilib (stable) [12] default/linux/amd64/17.0/no-multilib/hardened (stable) [13] default/linux/amd64/17.0/no-multilib/hardened/selinux (stable) [14] default/linux/amd64/17.0/systemd (stable) [15] default/linux/amd64/17.0/x32 (dev) [16] default/linux/amd64/17.1 (stable) [17] default/linux/amd64/17.1/selinux (stable) [18] default/linux/amd64/17.1/hardened (stable) [19] default/linux/amd64/17.1/hardened/selinux (stable) [20] default/linux/amd64/17.1/desktop (stable) [21] default/linux/amd64/17.1/desktop/gnome (stable) [22] default/linux/amd64/17.1/desktop/gnome/systemd (stable) [23] default/linux/amd64/17.1/desktop/plasma (stable) [24] default/linux/amd64/17.1/desktop/plasma/systemd (stable) [25] default/linux/amd64/17.1/developer (stable) [26] default/linux/amd64/17.1/no-multilib (stable) [27] default/linux/amd64/17.1/no-multilib/hardened (stable) [28] default/linux/amd64/17.1/no-multilib/hardened/selinux (stable) [29] default/linux/amd64/17.1/systemd (stable) [30] default/linux/amd64/17.0/musl (exp) [31] default/linux/amd64/17.0/musl/hardened (exp) [32] default/linux/amd64/17.0/musl/hardened/selinux (exp) [33] default/linux/amd64/17.0/uclibc (exp) [34] default/linux/amd64/17.0/uclibc/hardened (exp)
Sélectionner le profil qui vous convient (ici default/linux/amd64/17.1 ) :
Code BASH :
eselect profile set 16
Vérifier de nouveau avec
Code BASH :
eselect profile list
que le profil sélectionné est bon.
Mise à jour du world
Une fois le profil sélectionné et le make.conf personnalisé, on peut éventuellement (facultatif) faire une mise à jour du world avant de continuer :
Code BASH :
emerge -avuDN @world
Locales
Les locales, c'est la langue du système et son encodage. Configurer tout cela pour du français :
Code BASH :
nano -w /etc/locale.gen
Mettre ceci pour du français compatible UTF-8
Code BASH :
fr_FR.UTF-8 UTF-8
On génère les locales :
Code BASH :
locale-gen
On liste ensuite les locales disponibles :
Code BASH :
eselect locale list
La liste donne ceci chez moi :
On sélectionne sa locale concernée (renseigne le /etc/env.d/02locale automatiquement) :
Code BASH :
eselect locale set X
On configure la disposition du clavier pour la console TTY :
Code BASH :
nano -w /etc/conf.d/keymaps
Modifier la ligne keymap ainsi pour disposer d'un clavier AZERTY :
Code BASH :
keymap="fr"
On met à jour l'environnement :
Code BASH :
env-update && source /etc/profile && export PS1="[chroot] $PS1"
Configurer le fuseau horaire
Code BASH :
cp /usr/share/zoneinfo/Europe/Paris /etc/localtime
Vu que nous sommes sur Paris en France, configurons ainsi le fuseau horaire :
Code BASH :
echo "Europe/Paris" > /etc/timezone
Et on configure le paquet timezone-data :
Code BASH :
emerge --config sys-libs/timezone-data
Après changement du fuseau horaire, n'hésitez pas à voir si l'heure est bonne.
Code BASH :
date
Si besoin, redéfinir la date :
Code BASH :
date MMJJhhmmAAAA
Vérifier que l'horloge est bien en UTC :
Code BASH :
nano -w /etc/conf.d/hwclock
Code BASH :
clock="UTC"
Dans le cadre d'une VM, il est nécessaire d'appliquer cette commande pour synchroniser l'horloge matérielle à l'horloge système :
Code BASH :
hwclock --systohc
Fichier fstab
Editer le fichier fstab pour renseigner les partitions et leur point de montage :
Code BASH :
nano -w /etc/fstab
Exemple :
Code BASH :
#/dev/BOOT /boot ext2 defaults,noatime 1 2 /dev/sda1 / ext4 defaults,noatime 0 1 /dev/sda2 /home ext4 defaults,noatime 0 2 /dev/sda3 none swap sw 0 0
Pour des UUID :
Code BASH :
UUID="aaaaa-aaaa-aaa-aaaaa" /mnt/test ext4 defaults 0 0
Configurer le kernel
Installer les sources et compiler
Installer les sources du noyau :
Code BASH :
emerge -a gentoo-sources
On peut aussi installer les paquets pciutils et usbutils contenant les outils lspci et lsusb :
Code BASH :
emerge -a pciutils usbutils
Dans le cas d'un matériel spécifique, on peut aussi installer linux-firmware :
Code BASH :
emerge -a linux-firmware
On se rend dans les sources :
Code BASH :
cd /usr/src/linux
On fait nettoie les sources :
Code BASH :
make mrproper
On règle les options du noyau :
Code BASH :
make menuconfig
Sauvegarder le fichier .config.
On compile le noyau (mettez comme valeur à "j" le nombre de processeurs +1) :
Code BASH :
make -j9
On installe les modules :
Code BASH :
make modules_install
Puis on installe le noyau :
Code BASH :
make install
Si on utilise du LVM
Si notre gentoo est installée en LVM, on installe le paquet lvm2 :
Code BASH :
emerge lvm2
On démarre le service lvm et on l'ajoute au boot :
Code BASH :
/etc/init.d/lvm start rc-update add lvm boot
Il est également nécessaire de générer un initramfs. Sans cela, le système ne démarrera pas.
On installe dracut :
Code BASH :
emerge -a dracut
Puis on génère le initramfs avec :
Code BASH :
dracut -a lvm --kver $version
Exemple, si mon noyau s'appelle 4.19.86-gentoo-adrien
Code BASH :
dracut -a lvm --kver 4.19.86-gentoo-adrien
Définir le nom d'hôte
Configurer le nom d'hôte de la machine. Éditer le fichier hostname :
Code BASH :
nano -w /etc/conf.d/hostname
Code TEXT :
hostname="gentoo"
On peut aussi configurer à notre guise le fichier hosts :
Code BASH :
nano -w /etc/hosts
Exemple :
Code TEXT :
127.0.0.1 gentoo.domaine.lan gentoo localhost
Configuration du réseau
Marquer comme installé manuellement netifrc :
Code BASH :
emerge -a --noreplace net-misc/netifrc
IP Fixe
Pour configurer une IP fixe, repérer le nom de l'interface réseau avec
Code BASH :
ip a
Ensuite, on édite a configuration de l'interface réseau (je prends un exemple avec le nom eth0) :
Code BASH :
nano -w /etc/conf.d/net
Ajouter la configuration du réseau. Voici un exemple sur mon serveur :
Code BASH :
config_enp0s3="192.168.21.251/24" routes_enp0s3="default via 192.168.21.254" dns_servers="8.8.8.8"
IP Dynamique
Si on veux utiliser les IP dynamique, il faut installer un client DHCP :
Code BASH :
emerge -a dhcpcd
Repérer le nom de l'interface réseau avec
Code BASH :
ip a
Ensuite, on édite a configuration de l'interface réseau (je prends un exemple avec le nom eth0) :
Code BASH :
nano -w /etc/conf.d/net
Ajouter une ligne (ou l'éditer) de la configuration du réseau pour indiquer qu'on utilise DHCP :
Code BASH :
config_enp0s3="dhcp"
Activer le réseau au redémarrage
Pour activer la carte réseau au démarrage, il suffit de créer un lien symbolique du service réseau avec le nom de l'interface
Code BASH :
cd /etc/init.d ln -sv net.lo net.enp0s3
Puis on active ce service au démarrage :
Code BASH :
rc-update add net.enp0s3 default
Définir un mot de passe root
N'oublions pas le plus important, le mot de passe root !
Code BASH :
passwd
Configuration finale
Service SSH
N'oublions pas de lancer le service SSH au boot, s'il s'agit d'un serveur :
Code BASH :
rc-update add sshd default
Ajout d'utilisateurs
On ne va pas se promener sur notre nouveau système en root non ?
Pour cela, il faut ajouter un utilisateur au moins :
Code BASH :
useradd -m -G users,groupe1,group2,group3 -s /bin/bash nom_user
Voici une brève descriptions des groupes plutôt utiles :
- audio : accès autorisé aux périphériques audio
- cdrom : accès direct autorisé aux lecteurs optiques
- portage : permet d'utiliser emerge --pretend
- plugdev : permet de monter de périphériques à chaud et de les utiliser, par exemple des appareils photos : numériques ou des clés USB
- video : accès autorisé au matériel de capture vidéo et à l'accélération matérielle
- wheel : commande su utilisable
Exemple :
Code BASH :
useradd -m -G users,wheel,audio,cdrom,video,portage -s /bin/bash adrien
Ne pas oublier d'initialiser le mot de passe via la commande
Code BASH :
passwd nom_user
Installer le chargeur d'amorçage
Définir la variable GRUB_PLATFORMS dans le fichier make.conf :
Cas BIOS :
Code TEXT :
GRUB_PLATFORMS="pc"
Cas UEFI 64bits :
Code TEXT :
GRUB_PLATFORMS="pc efi-64"
Code BASH :
nano -w /etc/portage/make.conf
Ensuite, on installe grub2 :
Code BASH :
emerge -a grub
Une fois grub installé, on l'installe sur notre disque dur (MBR) :
Code BASH :
grub-install /dev/sda
Puis on génère la configuration :
Code BASH :
grub-mkconfig -o /boot/grub/grub.cfg
Finalisation de l'installation du système
Préparation au redémarrage
On sort du chroot :
Code BASH :
exit
On supprime les fichiers précédemment téléchargés :
Code BASH :
rm -f /mnt/gentoo/*.tar.xz
On revient à la racine du live CD et on démonte tout ce dont on a plus besoin :
Code BASH :
cd / umount -R /mnt/gentoo
On reboot, on enlève le Live CD et on croise les doigts
Voila Gentoo est installée
Derniers réglages
Logs et Journalisation
On installe rsyslog et logrotate :
Code BASH :
emerge -a app-admin/rsyslog app-admin/logrotate
On démarre le service au boot :
Code BASH :
rc-update add rsyslog default
Planificateur de tâches
On installe cron :
Code BASH :
emerge -a sys-process/cronie
On démarre le service au boot :
Code BASH :
rc-update add cronie default
Service NTP
Si on le souhaite, on peut installer le service NTP pour synchroniser l'horloge automatiquement via le réseau :
Code BASH :
emerge -a net-misc/ntp
On démarre le service :
Code BASH :
/etc/init.d/ntpd start
On l'ajoute au démarrage de la machine :
Code BASH :
rc-update add ntpd default
Quelques outils
Outils divers
Installons quelques outils pratiques :
Code BASH :
emerge -a gentoolkit portage-utils htop app-misc/screen eix nmon
Si on a installé eix, on peut configurer le fait que eix-sync fasse : emerge --sync + layman -S + eix-update + eix-diff en configurant /etc/eix-sync.conf :
Code BASH :
echo '*' > /etc/eix-sync.conf
eselect-repository
eselect-repository permet d'ajouter des "overlays" c'est à dire des dépôts complémentaires. Je le trouve plus utile sur un PC que sur un serveur.
Installer eselect-repository
Code BASH :
emerge -a eselect-repository
Lister les overlays :
Code BASH :
eselect repository list
Activer un overlay :
Code BASH :
eselect repository enable nom
Désactiver un overlay :
Code BASH :
eselect repository disable nom
Ajouter un overlay non listé (non officiel) :
Code BASH :
eselect repository add nom synctype syncurl
Exemple avec mon overlay :
Code BASH :
eselect repository add adrien-overlay git https://github.com/aaaaadrien/adrien-overlay.git
Et voila, c'est terminé
Installer un environnement de bureau
Si on veut installer un environnement de bureau, retrouvez la suite dans un second article ici : https://www.linuxtricks.fr/wiki/installer-gentoo-facilement-environnement-de-bureau