đ§ Installer Arch Linux avec l'interface graphique Gnome
Mes notes pour installer Arch Linux avec l'interface graphique Gnome.
Arch Linux se démarque un peu dans le monde Unix/Linux, notamment par sa philosophie et ses choix techniques. Sans partir dans les débats, je vous propose ici une documentation technique pour installer Arch Linux, chiffrer intégralement systÚme et utiliser l'interface graphique Gnome.
Version | Date | Commentaires |
---|---|---|
1 | 03/2014 | Création du document |
2 | 04/2021 | Reformatage du document et mise en place LVM |
2.1 | 06/2021 | Correction de la commande de génération des packs de langue |
2.2 | 11/2021 | Correction syntaxe et orthographe, mise Ă jour des images, remise en place de bash plutĂŽt que zsh |
3 | 06/2022 | Reformatage du document et ajout de la partie interface graphique Gnome |
3.1 | 06/2022 | Modification de l'installation pour chiffrer intégralement le disque et ajout des sources en fin de document |
3.2 | 09/2024 | Mise à jour de la liste des paquets, ajout de systemd-resolved dans la liste des services activés |
Cet article se base en partie sur lâexcellente procĂ©dure de Frederic BEZIES, Ă cette adresse : https://blog.fredericbezies-ep.fr/2016/10/01/guide-dinstallation-darchlinux-version-doctobre-2016/ et wiki Archlinux. Il ne sâagit pas dâune copie, juste dâune interprĂ©tation personnelle avec quelques inspirations.
Pourquoi Arch Linux ?
Jâutilise principalement la distribution Debian, que ce soit en tant que professionnel ou pas. Le systĂšme de paquets apt
qu'utilise Debian Ă©vite au mieux les problĂšmes d'incompatibilitĂ© et empĂȘche de casser son systĂšme (trop) rapidement. Toutefois, cette fiabilitĂ© a un prix : vous n'avez pas les derniĂšres fonctionnalitĂ©s tout de suite (parfois au bout de plusieurs mois).
Ce qui mâa plu avec Arch Linux, câest son principe de mise Ă jour. On parle de Rolling Release. Les mises Ă jour seront disponibles trĂšs vite une fois sortie de dĂ©veloppement et non pas aprĂšs une pĂ©riode spĂ©cifique de tests et validations par l'Ă©quipe en charge de la distribution.â
âLe risque de casse en rolling release est mesurĂ©, mais rĂ©el, bien plus importants que sous Debian (par exemple). Ayez toujours des sauvegardes Ă jour et testez-les de temps Ă autre.
De plus, Arch Linux est connu pour ĂȘtre facilement hackable, internet regorge de nombreux articles sur le sujet. NĂ©anmoins, prĂ©cision qui a son importante : ce n'est pas une distribution Ă destination des dĂ©butants. Arch Linux vous permet un contrĂŽle trĂšs vaste de votre systĂšme, ce qui implique que vous devez lui dire que faire. Si vous ne savez pas/ne comprenez pas ce que vous faites, prĂ©fĂ©rez Debian.
DĂ©marrage et prĂ©paration de lâinstallation
Dans cette documentation, j'utiliserai l'hyperviseur de type 2 "Oracle VirtualBox". Une machine virtuelle sera générée avec 1 vCPU et 2 Gb de mémoire vive. Un seul disque dur virtuel de 25 Gb y a été attaché.
Pré-requis
Au démarrage de l'image ISO, le clavier sera par défaut en qwerty. Ayant un clavier avec la disposition azerty, il faut appuyer sur les touches loqdkeys fr
(pour faire correspondre la touche A avec la touche Q)
Passons aux partitions.
Création du schéma de partition
Il existe plusieurs utilitaires pour modifier les partitions du disque dur. Pour que ce soit le plus simple et intuitif possible, jâutilise l'outil cgdisk
.
Saisissez le chemin du disque dur (souvent, par défaut '/dev/sda'). Pour trouver votre disque, effectuez la commande fdisk -l
. Une interface graphique va alors apparaßtre pour que vous puissiez gérer vos partitions. Pour cet article, j'ai saisi cgdisk /dev/sda
.
L'utilitaire CGDisk a pour particularitĂ© de forcer l'utilisation de GPT et des normes UEFI. Vous voyez donc votre disque dur vierge de toute partition dans la fenĂȘtre. En bas de cette fenĂȘtre, il y a des boutons, entre crochets, tels que "[ New ]", "[ Write ]", "[ Quit ]" âŠ
SĂ©lectionnez lâespace libre disponible avec les flĂšches directionnelles du clavier, puis dirigez-vous sur le bouton "[ New ]". Appuyez ensuite sur la touche "Entrer" pour valider. Lorsque la question vous sera posĂ©e concernant le premier secteur, validez le choix par dĂ©faut.
Voici le schéma de partitions que je vous propose :
- partition
boot
â 512Mo â : Lâespace "boot" est, comme son nom lâindique, vous permettant dâinstaller tout le programme de boot (Grub2 dans notre cas) pour pouvoir dĂ©marrer le systĂšme. Le type de cette partition estef00
. - partition
system
â 20 Go â : Le systĂšme prend quelques Go une fois installĂ© (sans surcouche graphique, et avec un bundle de paquets essentiels Ă une utilisation de base). Type de partition :"Linux Filesystem" 8300
.
Il n'y a que deux partitions principales, une pour le démarrage, l'autre pour la partie LVM. Les partitions systÚme (/, /home et /tmp) seront créées via les utilitaires LVM (vgcreate, pvcreate, lvcreate...).
Quand vous crĂ©ez une partition, l'utilitaire vous demande de saisir le premier secteur - laissez par dĂ©faut ce qui est proposĂ©. Vous n'ĂȘtes pas obligĂ© de saisir un nom de partition. Pour enregistrer le schĂ©ma de partition sur le disque, sĂ©lectionnez le bouton "[ Write ]".
Selon la configuration de vos disques, lâemplacement de lâinstallation, ou encore les autres partitions que vous avez sur votre systĂšme, les "/dev/sdâŠ" peuvent ĂȘtre diffĂ©rents que dans lâexemple. Pour afficher la configuration, saisissez fdisk -l
.
Volontairement, il n'y a pas de partition de type swap. Aujourd'hui, les machines ayant Ă©normĂ©ment de RAM et les logiciels Ă©tant performants, l'intĂ©rĂȘt d'avoir une partition swap est limitĂ©e, pour ne pas dire inutile.
Création des systÚmes de fichiers
Le choix technique s'est portĂ© sur LVM : possibilitĂ© de faire des snapshot, Ă©tendre/rĂ©duire des volumes Ă chaud, gestion assez simple des partitionsâŠ
Cependant, il vous faut créer un premier volume avec l'outil cryptsetup
, qui sera la base comportant les volumes LVM. Le choix des algorithmes de chiffrement est crucial pour avoir un systÚme chiffré rapide à l'usage. Lancez la commande cryptsetup benchmark
- des tests seront effectués pendant quelques secondes, vous affichant un tableau avec les résultats des tests.
Dans la VM de test, voici ce que ça donne :
La cryptographie n'est pas du tout mon domaine, je suis un utilisateur des algorithmes mais pas plus. Dans l'image ci-dessus, le meilleur résultat est la ligne "aes-xts", avec une clé de 256 bits. J'utiliserai donc cette configuration pour cryptsetup.
Voici les commandes Ă saisir pour initier le stockage :
mkfs.vfat -F32 /dev/sda1
cryptsetup --type luks2 --cipher aes-xts-plain64 --hash sha256 --iter-time 2500 --pbkdf argon2id --use-passphrase luksFormat /dev/sda2
Maintenant, ouvrons ce stockage (montage dans /dev/mapper/luks
) et créons la partie lvm :
cryptsetup luksOpen /dev/sda2 luks
pvcreate /dev/mapper/luks
La base étant maintenant présente, il est possible de créer le stockage avec lvm. Je l'appellerai "stoLocal", libre à vous de changer ce nom.
vgcreate stoLocal /dev/mapper/luks
Deux commandes sont Ă apprendre pour afficher la configuration LVM : pvdisplay
et vgdisplay
.
Créons les volumes logiques ; ici, je crée trois volumes (systÚme, dossier pour les utilisateurs et le stockage temporaire), il vous est possible d'en créer d'autres si besoin.
lvcreate -L 8G stoLocal -n root
lvcreate -L 2G stoLocal -n home
lvcreate -L 1G stoLocal -n tmp
Les volumes sont créés, mais pas encore exploitables. Par défaut, le module capable de montrer les volumes au systÚme n'est pas chargé dans le noyau et donc les partitions ne sont pas encore visibles.
Pour se faire, exécutez ces trois commandes :
modprobe dm_mod
vgscan
vgchange -ay
Le module est chargé dans le noyau, le stockage est maintenant vu en tant que "lvm2" (résultat attendu). De plus, les volumes logiques créés récemment seront désormais visibles. Effectuez un fdisk -l
: les volumes sont dorénavant présents.
Montage des partitions systĂšme
Formatons les volumes logiques avec btrfs !
mkfs.btrfs /dev/mapper/stoLocal-root
mkfs.btrfs /dev/mapper/stoLocal-home
mkfs.btrfs /dev/mapper/stoLocal-tmp
La partition Ă monter en premier est "root", /
pour installer le systÚme et y créer les points de montage nécessaires.
mount /dev/mapper/stoLocal-root /mnt
Notre systĂšme est maintenant montĂ©, deux rĂ©pertoires essentiels doivent ĂȘtre crĂ©Ă©s, les dossiers /boot/efi
et /home
(pour le démarrage et le dossier utilisateur) :
mkdir /mnt/home
mkdir -p /mnt/boot/efi
⊠puis monter ces dossiers pour pouvoir les exploiter et configurer le systÚme correctement :
mount -t vfat /dev/sda1 /mnt/boot/efi
mount /dev/mapper/stoLocal-home /mnt/home
Installation du systĂšmes
MĂ J du gestionnaire de paquets dâArch Linux
Depuis 2024, la liste des miroirs de paquets se génÚre automatiquement, en choisissant les serveurs les plus proches de chez vous. Le paquet reflector
se charge de tester et sélectionner les serveurs pour pacman selon votre position.
Installation du systĂšme
Au lancement de lâutilitaire pacman, les listes de miroirs de paquets seront mises Ă jour. Avec commande ci-dessous, vous aurez un systĂšme Arch Linux minimaliste et fonctionnel, avec quelques outils indispensables pour une utilisation bureautique (lĂ©gĂšre) quotidienne. En moyenne, il y a environ 220 Mo Ă tĂ©lĂ©charger dans les dĂ©pĂŽts pour plus de 130 paquets, noyau compris.
pacstrap /mnt base base-devel linux lvm2
Une fois le systÚme installé, je vous suggÚre ces quelques paquets, pour une facilité d'utilisation de votre machine :
pacstrap /mnt vi vim nano grub efibootmgr less openssh sudo systemd-resolvconf ntp linux-firmware dhcpcd acpid cronie logrotate inetutils sysfsutils e2fsprogs netctl man-db man-pages ttf-dejavu ttf-liberation ttf-opensans ttf-joypixels lsof strace htop iotop iftop
Les paquets que je vous prĂ©sente sont tous lĂ Ă titre indicatif. Il nâest pas nĂ©cessaire de tous les installer certes, mais ils vous seront utiles dans de nombreux cas.
Génération du fichier "fstab"
Quâest ce que le fichier "fstab" ? via WikipĂ©dia
Le fichier fstab (File Systems TABle) est la table des diffĂ©rents systĂšmes de fichiers [âŠ] sous Unix/Linux : il contient une liste des disques utilisĂ©s au dĂ©marrage et des partitions de ces disques.
Pour chaque partition, il indique comment elle sera utilisĂ©e et intĂ©grĂ©e Ă lâarborescence du systĂšme de fichiers global (câest-Ă -dire le point de montage). La crĂ©ation se fait aisĂ©ment :
genfstab -Up /mnt >> /mnt/etc/fstab
DĂ©finition de la langue systĂšme
Il faut modifier un fichier de configuration permettant de gĂ©nĂ©rer le langage de la machine⊠Ou plutĂŽt, la langue de lâinterface. Le fichier Ă modifier est "locale.gen" (dans /etc/) : nano /mnt/etc/locale.gen
Dans ce fichier, toutes les langues supportĂ©s par Linux sont prĂ©sentes. Par dĂ©faut, il nây a aucune langue. Enlever le caractĂšre de commentaire Ă la ligne fr_FR.UTF-8
. Vous pouvez enregistrer & fermer le fichier une fois la modification apportée.
De plus, créez un fichier locale.conf pour prendre en compte la langue d'affichage souhaitée et y saisir LANG="fr_FR.UTF-8"
:â
nano /mnt/etc/locale.conf
# contenu
LANG="fr_FR.UTF-8"
LC_COLLATE=C
Les fichiers de configuration sont maintenant prĂȘts, lançons la gĂ©nĂ©ration des packs de langues : arch-chroot /mnt locale-gen
.
Il faut aussi créer un fichier "vconsole.conf" pour que votre terminal puisse garder la configuration souhaitée et prendre en compte les caractÚres spécifiques (UTF-8), en plus de garder ces paramÚtres à chaque redémarrage.
echo "KEYMAP=fr" > /mnt/etc/vconsole.conf
Nom de la machine
Il faut maintenant donner un nom Ă notre station, pour quâelle puisse ĂȘtre identifiable sur un rĂ©seau, mais aussi pour nous. Il faut pour cela crĂ©er un fichier "hostname" dans le dossier /etc/.
echo "nom_machine" > /mnt/etc/hostname
Date & heure de la machine
Par dĂ©faut, les installations dâArch Linux (tout comme les autres distributions Linux) sont Ă lâheure universelle "UTC", qui peut ĂȘtre diffĂ©rente de votre fuseau horaire. Ici, je prends Paris. Le choix se fait en fonction des capitales des pays, visible dans /usr/share/zoneinfo/Europe/
.
arch-chroot /mnt ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
Autre point intéressant, la partie horloge systÚme. Ici, je fixe l'horloge sur le "localtime" (comme la date/heure machine).
arch-chroot /mnt hwclock --systohc --localtime
Génération des comptes utilisateurs
N'oublions pas de créer un mot de passe pour l'utilisateur "root", sans quoi vous ne pourrez pas accéder à la machine ! Saisissez la commande passwd
et écrivez le mot de passe souhaité.
De plus, j'en profite pour créer un utilisateur "julien" et son mot de passe associé.
arch-chroot /mnt passwd root
arch-chroot /mnt useradd -g users -G storage -m -s /bin/bash julien
arch-chroot /mnt passwd julien
Nous avons donc créer un utilisateur et attribué un bash, les groupes "users" et "storage" (nécessaire pour avoir un minimum de droits sur le systÚme et l'accÚs aux périphériques de stockage) puis nous lui avons créé un mot de passe.
Génération et configuration du Grub
Il faut commencer tout dâabord par crĂ©er les "ramdisk", pour gĂ©rer et gĂ©nĂ©rer correctement les fichiers nĂ©cessaires quant Ă lâutilisation de la mĂ©moire de notre PC. Toutefois, pour rappel, nous utilisons LVM et le chiffrement du disque (module "encrypt"). Par dĂ©faut, le module n'est pas chargĂ© et une configuration doit ĂȘtre effectuĂ©e :
sed -i '/^HOOK/s/filesystems/lvm2 encrypt filesystems/' /mnt/etc/mkinitcpio.conf
J'utilise la commande "sed" pour faire la modification, mais il est tout Ă fait possible de faire un nano /mnt/etc/mkinitcpio.conf
et de recherchez la ligne "HOOKS=(...)", puis y ajouter entre les parenthĂšses les modules lvm2
et encrypt
. Les autres modules déjà présents sont nécessaires, ne les supprimez pas.
Maintenant, générons ce ramdisk : arch-chroot /mnt mkinitcpio -p linux
Ătape suivante, le dĂ©marrage. Il convient de crĂ©er le fichier capable de dĂ©marrer tous nos pĂ©riphĂ©riques lors du boot de notre machine, tout en dĂ©tectant le noyau Linux Ă utiliser / lancer. La commande est commune Ă toutes les distributions Linux, y comprit Arch Linux.
Générons ensuite le GRUB UEFI dans /boot/efi/EFI/
et ses modules :
arch-chroot /mnt grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck
La gĂ©nĂ©ration se fait assez rapidement. En cas d'erreur, les messages s'afficheront immĂ©diatement. LâexĂ©cution de la commande retourne normalement "Installation terminĂ©e, sans erreurs". Si vous avez des messages d'erreur, il faut corriger le problĂšme dĂšs maintenant, sans quoi vous ne pourrez pas dĂ©marrer votre machine.
Une modification manuelle doit ĂȘtre effectuĂ©e au niveau du grub, pour prendre en compte le conteneur LUKS : nano /mnt/etc/default/grub
. Ajoutez dans la ligne entre les guillemets de GRUB_CMDLINE_LINUX
ceci :
cryptdevice=/dev/sda2:luks:allow-discards
Enfin, effectuez cette commande pour créer les fichiers "grub" : arch-chroot /mnt grub-mkconfig -o /boot/grub/grub.cfg
.
Finalisation de l'installation et redémarrage
DerniĂšre chose avant d'ĂȘtre de redĂ©marrer, l'activation de quelques services. En effet, il est souhaitable d'avoir des services dĂ©jĂ prĂȘts Ă l'emploi une fois la machine dĂ©marrĂ©e, ça Ă©vitera aussi des recherches fastidieuses.
arch-chroot /mnt systemctl enable {dhcpcd,ntpd,acpid,cronie,system-resolved}
Nous pouvons maintenant terminer lâinstallation ! DĂ©montez le systĂšme installĂ© via la commande umount -R /mnt
, redémarrez la machine et entrez dans votre nouvelle machine !
Installation de l'interface graphique Gnome
Dans Arch Linux, le groupe d'utilisateurs disposant de droits privilégiés s'intitule "wheel". Il se peut que vous ayez changé ce paramÚtre pour que ce soit le groupe sudo
en lieu et place Ă wheel
. Pour ce faire, ajouter votre compte utilisateur dans le groupe concerné :
su root
# saisir le mot de passe root
usermod -aG wheel nomCompteUtilisateur
Remplacez nomCompteUtilisateur
par votre nom d'utilisateur (dans ce document, ce serait "julien").
Installation du serveur graphique
Tout commence par lâinstallation du serveur "X.Org" avec la commande sudo pacman -S xorg
.
Il est possible d'utiliser Wayland, attention cependant à la compatibilité de vos applications. Si vous souhaitez essyer, saisissez la commande sudo pacman -S wayland
. Ces paquets ne sont pas liés à l'interface graphique gnome.
Les dĂ©pendances seront installĂ©es automatiquement. Vous avez le nĂ©cessaire pour lancer la majoritĂ© des interfaces graphiques. Toutefois, vous ne pourrez lancer lâinterface seulement aprĂšs avoir installĂ© le pilote de votre carte graphique.
Installation du pilote graphique
Machine disposant dâun GPU physique (type AMD ou nVidia)
Arch Linux dispose dans ses dépÎts de nombreux paquets pour gérer la majorité des GPU disponibles sur le marché. Vous pouvez afficher la liste de tous les drivers disponibles par la commande : sudo pacman -Ss xf86-video
. Attention, la liste est longue⊠!
Pour que ce soit plus simple, voici une petite liste des pilotes usuels :
- Intel â libre :
sudo pacman -S xf86-video-intel
- nVidia â libre :
sudo pacman-S xf86-video-nouveau
- nVidia â propriĂ©taire :
sudo pacman-S nvidia
- ATI â libre :
sudo pacman-S xf86-video-ati
- ATI â propriĂ©taire :
sudo pacman-S xf86-video-admgpu
Comme vous pouvez le constater, les pilotes libres commencent par "xf86-video-".
- VMWare
Si vous avez installé votre machine virtuelle dans VMWare Player ou Workstation, le paquet "xf86-video-vmware" aura tout le nécessaire : sudo pacman -S xf86-video-vmware
.
- Virtualbox
Procédure assez simple aussi pour Virtualbox, installez le paquet xf86-video-vesa
.
Une prĂ©caution est Ă prendre quant aux GPU physiques : vous ne devez pas installer le pilote propriĂ©taire ET le pilote libre. Pour les PC Portable disposant de la technologie "Optimus" dânVidia, vous devrez installer en plus le paquet "bumblebee" (et bon courage pour rĂ©ussir Ă faire fonctionner correctement cette technologie).
Installation de Gnome
Gnome est une interface graphique pour Linux (toute distributions confondues). Lâinstallation se fait via cette commande :
sudo pacman -S gnome-control-center gnome-icon-theme gnome-session gnome-shell gnome-tweaks nautilus gnome-power-manager xdg-user-dirs-gtk gdm gnome-software-packagekit-plugin
En moyenne, 300 Mo sont Ă tĂ©lĂ©charger et lâinstallation va peser plus dâ1,2 Go sur le disque. Il nây a pas que lâinterface graphique dans le mĂ©ta-paquet "Gnome" : de nombreux outils (calculatrice, calendrier, bloc-notes, terminal...) seront aussi installĂ©s.
Lorsque Gnome est installĂ©, il est maintenant possible de lancer et dâactiver le serveur gestionnaire des fenĂȘtres, vous permettant ainsi d'utiliser l'interface graphique :
sudo systemctl enable gdm.service
Le service "gdm" sera lancĂ© Ă chaque dĂ©marrage de lâordinateur, affichant ainsi la mire de connexion.
Fin de lâinstallation
Notre installation est maintenant complÚte avec un systÚme d'exploitation à jour, des paquets essentiels pour une utilisation basique, un premier utilisateur configuré et une interface graphique.
Il faut donc redémarrer votre machine, pour tester la bonne mise en route du systÚme. Profitez bien de votre nouvelle machine !
Sources
- https://blog.fredericbezies-ep.fr/2016/10/01/guide-dinstallation-darchlinux-version-doctobre-2016/
- https://wiki.archlinux.org/
- https://wiki.archlinux.org/title/dm-crypt/Device_encryption#Encryption_options_for_LUKS_mode
- https://wiki.archlinux.org/title/dm-crypt/Encrypting_an_entire_system#LVM_on_LUKS
- https://gist.github.com/mjnaderi/28264ce68f87f52f2cabb823a503e673