Chapitre 1

01. Arch Linux

Documentations de la distribution Arch Linux

Sous-sections de 01. Arch Linux

I. Téléchargement

I.1 - Image ISO

Tous les mois une nouvelle image iso est disponible sur le site de Arch Linux.

Vous pouvez la télécharger à l’adresse : https://archlinux.org/download/.

Choisissez un miroir Français comme gandi.net pour télécharger la dernière version en cours. (version actuelle 2024.07.01)

I.2 - Préparation d’un support d’installation

Actuellement la meilleure méthode pour installer Arch Linux est de préparer une clé USB amorçable à l’aide de l’utilitaire Ventoy.

Pour télécharger Ventoy rendez-vous à l’adresse : https://github.com/ventoy/Ventoy/releases.

Ensuite pour créer votre clé USB Ventoy, vous pouvez suivre cette documentation.

Pour finir copiez l’image iso (le fichier .iso) de Arch Linux sur cette clé USB afin d’amorcer votre ordinateur sur le logiciel d’installation de Arch Linux.

II. Amorçage

II.1 - BIOS/UEFI

Sur un ordinateur récent, il faudra désactiver le Secure boot (l’Amorçage sécurisé), seulement pris en charge par Microsoft Windows.

II.2 - Amorçage de Arch Linux

Insérer votre clé USB Ventoy dans un port USB de votre ordinateur et démarrez le.

Selon le type de machine vous devrez appuyer sur une touche pour afficher le menu qui permettra de sélectionner le périphérique à amorcer, ici notre clé USB Ventoy.

Pour une machine Dell c’est la touche F12, pour une machine HP c’est la touche F9.

Pour un autre type de machine, veuillez vous référer à son manuel.

Dans cet exemple, je me baserai sur un (ancien) portable Dell Latitude E6420. Il est équipé du dernier BIOS fournit par Dell, la version A25.

Après avoir démarré le portable, appuyez plusieurs fois sur la touche F12 jusqu’à l’affichage du menu d’amorçage.

Sélectionnez votre clé USB en mode UEFI.

Important

Veillez à ne pas sélectionner le mode BIOS qui est l’ancien mode.

Vous devriez arriver sur l’écran suivant. Appuyez sur la touche Entrée pour valider la première option Arch Linux install medium (x86_x64, BIOS).

Arch Linux - Menu de démarrage Arch Linux - Menu de démarrage

Arch Linux démarrera et affichera une invite de commandes afin que vous puissiez commencer l’installation sur votre ordinateur.

Arch Linux - Invite de commandes Arch Linux - Invite de commandes

III. Installation

III.1 - Clavier

Par défaut Arch Linux démarre avec un clavier US en mode console. Il faut donc modifier cette configuration pour définir un clavier Français. Pour cela tapez la commande suivante :

loadkeys fr-latin9

III.2 - Mode d’amorçage

Dans cette documentation je partirai du principe que l’installation de Arch Linux se fera en mode UEFI et non en mode BIOS. Si votre ordinateur est très ancien et non compatible UEFI, veuillez vous référer à la documentation officielle de Arch Linux pour une installation en mode BIOS. III.3 - Connexion réseau

Veuillez vérifier que votre connexion filaire soit bien détectée avec la commande :

ip link

Vous devriez en plus de l’interface lo voir une deuxième interface qui correspond à votre carte réseau filaire, comme enp0s3 ici. Elle devrait avoir comme status UP.

Si vous ordinateur est connecté à une Box équipée d’un serveur DHCP, vous pouvez vérifier que cette interface a récupéré une adresse IP. Pour cela utilisez la commande :

ip a

Ici, la commande nous donne comme adresse ip : 192.168.1.15

Nous pouvons vérifier que nous avons bien le réseau en tapant la commande :

ping archlinux.org
PING archlinux.org (95.217.163.246) 56(84) bytes of data.
64 bytes from archlinux.org (95.217.163.246): icmp_seq=1 ttl=63 time=42.4 ms
64 bytes from archlinux.org (95.217.163.246): icmp_seq=2 ttl=63 time=43.0 ms
^C
--- archlinux.org ping statistics ---
2 packets trnsmitted, 2 received, 0% packet loss, time 1003ms
rtt min/max/mdev = 42.437/42.718/42.999/0.281 ms

Appuyez sur les touches <Ctrl>+<C> en même temps pour arrêter la commande et vérifiez que tous les ping soient passés (0% loss).

Si votre interface n’a pas récupéré d’adresse ip il faut la configurer manuellement.

Je pars du principe que votre Box utilise le réseau 192.168.1.0/24 pour votre réseau local.

Exécutez les commandes suivantes pour configurer votre interface :

ip address add 192.168.1.15/24 192.168.1.255 + dev enp0s3
Important

Vérifiez que cette adresse n’est pas déjà utilisée sur votre réseau.

Si cela est le cas et que vous avez un conflit d’adresse ip, veuillez utiliser la commande ci-dessous avant de réassigner une nouvelle adresse à votre interface réseau :

ip address del 192.168.1.15/24 dev enp0s3

On ajoute une route (adresse de la passerelle) pour accéder à l’Internet :

ip route add 192.168.1.254 via address dev enp0s3

Maintenant vous devriez avoir accès à l’Internet, pour cela utilisez la commande ping vue ci-dessus.

III.4 - Mise à jour de l’heure système

Exécutez la commande suivante :

timedatectl set-ntp true

III.5 - Partitionnement du disque

C’est probablement l’étape la plus importante.

Les disques sur GNU/Linux ont des noms comme /dev/sda, /dev/nvme0n1 ou /dev/mmcblk0.

Dans le cas de ce Dell Latitude E6420 équipé d’un disque de type SSD 512 GB, il sera identifié comme /dev/sda.

Remarque

Pour les ordinateurs les plus récents ce sera plutôt des disques de type NVMe (/dev/nvme0n1).

Pour ce disque dur, nous allons appliquer le schéma de partitionnement suivant :

Partition Taille Type Point de montage
/dev/sda1 512 MB vfat /mnt/boot
/dev/sda2 8 GB swap
/dev/sda3 Tout le reste LVM

Pour cela exécutez les commandes suivantes.

On vérifie le nom de notre disque dur :

fdisk -l
Disk /dev/sda : 512 GiB
Disk Model :
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Le disque est bien identifié sous le nom /dev/sda.

Début du partitionnement :

fdisk /dev/sda

Command (m for help): g

Created a new GPT disklabel (GUID :  XXXXX).

Command (m for help): n
Partition number (1-128, default 1):
First sector (2048-XXXXXXXXXX, default 2048):
Last Sector : +512M

Created a new partition 1 of type 'Linux filesystem' and of size 512 MiB.

Command (m for help): n
Partition number (2-128, default 2):
First sector (1050624-XXXXXXXXXX, default 1050624):
Last Sector : +8G

Created a new partition 2 of type 'Linux filesystem' and of size 8 GiB.

Command (m for help): n
Partition number (3-128, default 3):
First sector (1050624-XXXXXXXXXX, default 1050624):
Last Sector : +20G

Created a new partition 2 of type 'Linux filesystem' and of size 20 GiB.

Command (m for help): n
Partition number (4-128, default 4):
First sector (2099200-XXXXXXXXXX, default 2099200):
Last Sector :

Created a new partition 3 of type 'Linux filesystem' and of size 483 GiB.

Command (m for help): t
Partition number (1-4, default 4): 1
Partition type or alias (type L to list all): 1

Changed type of partition 'Linux filesystem' to 'EFI System'

Command (m for help): t
Partition number (1-4, default 4): 2
Partition type or alias (type L to list all): 19

Changed type of partition 'Linux filesystem' to 'Linux swap'

Command (m for help): t
Partition number (1-4, default 4):
Partition type or alias (type L to list all): 43

Changed type of partition 'Linux filesystem' to 'Linux LVM'

Command (m for help): w
The partition tables has been altered.
Calling ioctl() to re-read partition table.
Syncing disk.

Le nouveau schéma de partitionnment est en place.

Maintenant nous allons créer les volumes logiques dans notre partition Linux LVM.

Pour cela exécutez les commandes suivantes :

pvcreate /dev/sda4
  Physical volume "/dev/sda4" successfully created.

vgcreate sys /dev/sda4
  Volume group "sys" successfully created

lvcreate -L 20G -n usr sys
  Logical volume "usr" created.

lvcreate -L 20G -n var sys
  Logical volume "var" created.

lvcreate -L 10G -n tmp sys
  Logical volume "tmp" created.

lvcreate -L 100G -n opt sys
  Logical volume "opt" created.

lvcreate -l 100%FREE -n home sys
  Logical volume "home" created.

Vous pouvez voir les nouvelles partitions, toujours avec la même commande :

fdisk -l

III.6 - Formatage des partitions

Pour formater les partitions, exécutez les commandes suivantes :

# Partition EFI System
mkfs.fat -F 32 /dev/sda1

# Partition swap
mkswap /dev/sda2

# Partition /
mkfs.ext4 -m0 /dev/sda3

# Partition /usr
mkfs.ext4 -m0 /dev/mapper/sys-usr

# Partition /var
mkfs.ext4 -m0 /dev/mapper/sys-var

# Partition /tmp
mkfs.ext4 -m0 /dev/mapper/sys-tmp

# Partition /home
mkfs.ext4 -m0 /dev/mapper/sys-home

III.7 - Montage des partitions

Exécutez les commandes :

mount /dev/sda3 /mnt
mount --mkdir /dev/sda1 /mnt/boot
mount --mkdir /dev/mapper/sys-usr /mnt/usr
mount --mkdir /dev/mapper/sys-var /mnt/var
mount --mkdir /dev/mapper/sys-tmp /mnt/tmp
mount --mkdir /dev/mapper/sys-home /mnt/home
swapon /dev/sda2

III.8 - Installation

Installation des paquets essentiels :

pacstrap /mnt base linux linux-firmware
Remarque

Si vous ne voulez pas la dernière version du noyau (la 5.18 actuellement) mais une version LTS (plus stable, mais plus ancienne) vous pouvez remplace linux par linux-lts.

La commande à exécuter sera alors :

pacstrap /mnt base linux-lts linux-firmware

Creation du fichier /etc/fstab.

Pour créer ce fichier exécutez la commande :

genfstab -U /mnt >> /mnt/etc/fstab

On se chroot avec la commande :

arch-chroot /mnt

On fixe le fuseau horaire avec la commande :

ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime

Pour la/les locales du système, exécutez les commandes suivantes :

# Installation de vi
pacman -S vi
# Édition du fichier /etc/locale.gen
# Décommentez la ligne fr_FR.UTF-8

# Activer la locale
locale-gen

# Créez le fichier /etc/locale.conf
echo "LANG=fr_FR.UTF-8" > /etc/locale.conf

Définissez votre mappage clavier en mode console :

echo "KEYMAP=fr-latin9" > /etc/vconsole.conf

Déclarez le nom de votre machine :

echo "archlinux" > /etc/hostname

Si vous êtes en DHCP, ajoutez et activez au démarrage le paquet suivant :

pacman -S dhcpcd
systemctl enable dhcpcd
Important

Si vous avez déclarez une partition de type LVM veuillez :

1 - installer le paquet suivant :

pacman -S lvm2

2- modifier le fichier /etc/mkinitcpio.conf en modifiant les paramètres suivants :

HOOKS=(base udev ... block lvm2 filesystems)

par :

HOOKS=(base systemd ... block lvm2 filesystems)

NB : Si vous avez une partition /usr séparée de la racine de votre futur système, il faut, toujours dans la variable HOOKS ce ce fichier, rajouter les paramètres :

usr fsck shutdown

soit :

HOOKS=(base systemd autodetect microcode modconf block lvm2 filesystems keyboard usr fsck shutdown)

Création d’un nouveau initramfs avec la commande :

mkinitcpio -P

On change le mot de passe root avec la commande :

passwd

III.9 - Chargeur de démarrage

Nous utiliserons comme chargeur de démarrage GRUB, pour cela exécutez les commandes suivantes :

pacman -S grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg

III.10 - Redémarrage du système

Pour quitter le mode chroot, appuyez sur les touches <Ctrl>+<d> ou en tapant exit.

Démontez toutes les partitions montées sur /mnt avec la commande :

umount -R /mnt

Et redémarrez le système :

reboot

III.11 - Ajout d’un utilisateur

Afin de ne pas utiliser votre nouveau système GNU/Linux directement en root ce qui est très dangereux, il faut créer un compte normal.

Pour cela utiliser les commandes suivantes :

useradd -c "Normal user" -m -s /bin/bash nuser
passwd nuser

III.12 - sudo

Si vous voulez à partir de ce nouvel utilisateur exécuter des commandes en tant que root avec la commande sudo, il faut installer le paquet suivant :

pacman -S sudo

Et le paramétrer :

chmod u+w /etc/sudoers
sed -i -e "s/\# \%sudo/\%sudo/g" /etc/sudoers
chmod u-w /etc/sudoers
groupadd -g 972 sudo
gpasswd -a nuser sudo

Vous pouvez maintenant vous connecter en tant qu’utilisteur nuser et utiliser la commande sudo pour exécuter des commandes en tant que root.

IV. Serveur X

IV.1 - Pilotes

Afin de pouvoir utiliser un serveur graphique (Xorg ou Wayland), il faut installer le pilote graphique associé à votre carte graphique.

Remarque

Dans le cas d’une installtion de Arch Linux en tant que système invité sous Virtualbox, vous devrez installer le paquet suivant :

pacman -S virtualbox-guest-utils

Exécutez la commande suivante pour identifier votre carte graphique :

lspci -v | grep -A1 -e VGA -e 3D

Vous pouvez afficher tous les pilotes disponibles avec la commande :

pacman -Ss xf86-video

Si vous avez une carte Intel vous pouvez installer le paquet :

# Le paquet mesa est nécessaire pour OpenGL
pacman -S xf86-video-intel mesa

Si vous avez une carte graphique NVidia, vous avez le choix entre 3 pilotes :

nvidia            : pour les dernières génération de cartes graphiques
nvidia-470xx-dkms : pour d'anciennes cartes graphiques
nvidia-390xx      : pour les plus anciennes
Important

Le Dell Latitude E6420 utilise la technologie Optimus. Ce portable possède deux cartes graphiques, une carte Intel (celle inclue avec le processeur) et une carte NVidia (pour les applications les plus exigeantes).

Dans le cas présent nous n’utiliserons pas la carte Intel mais seulement la carte graphique NVidia.

Pour ce portable, il faudra installer le paquet nvidia-390xx.

L’installation du paquet nvidia se fait via l’utilitaire pacman, par contre pour les deux autres il faudra utiliser la commande yay.

Pour cela il faut installer les paquets suivants :

pacman -S --needed git base-devel

Il faut ensuite télécharger et installer le logiciel yay avec les commandes ci-dessous.

Remarque

Les commandes ci-dessous sont à exécuter en tant qu’utilisateur normal, dans notre cas il faudra se connecter avec l’utilisateur nuser :

git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

Pour l’installation du pilote sur un Dell Latitude E6420, procédez comme ceci :

pacman -S linux-headers
yay -S nvidia-390xx nvidia-390xx-utils
Remarque

Le paquet nvidia-390xx-utils est nécessaire pour les applications utilisant OpenGL (comme Ultimaker Cura).

IV.2 - Xorg

IV.2.1 - Installation

Pour installer Xorg, exécutez la commande suivante :

pacman -s xorg-server xorg-apps

IV.2.2 - Gestionnaire d’écran

Nous utiliserons comme gestionnaire d’écran LightDM, pour cela exécutez la commande suivante pour l’installer :

pacman -S lightdm lightdm-gtk-greeter
systemctl enable lightdm

IV.2.3 - Gestionnaire de fenêtres

Comme gestionnaire de fenêtres, nous utiliserons Xfce4.

L’installation se fait à l’aide de la commande :

pacman -S xfce4 xfce4-goodies

Nous utiliserons jack2 comme dépendance.

#### IV.2.4 - Clavier en Français

Pour avoir un clavier Français sous Xorg il faut créer le fichier /etc/X11/xorg.conf.d/00-keyboard.conf et ajouter les lignes suivantes :

Section "InputClass"
    Identifier         "Keyboard Layout"
    MatchIsKeyboard    "yes"
    Option             "XkbLayout"  "fr"
    Option             "XkbVariant" "latin9" # accès aux caractères spéciaux plus logique avec "Alt Gr" (ex : « » avec "Alt Gr" w x)
EndSection

IV.2.5 - Audio

Remarque

Nous utiliseron ALSA comme système de gestion de son.

Pour avoir le son sous Xorg/Xfce4, il faut installer les paquets suivants :

pacman -S alsa-utils alsa-plugins pulseaudio pulseaudio-alsa pulseaudio-bluetooth pulseaudio-equalizer pulseaudio-jack pamixer pavucontrol

Il faudra redémarrer le système pour prendre en compte tous ces changements avec la commande :

shutdown -r now         (ou reboot)