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.

Note

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 :

Partitionnement du disque

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

Note

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 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.