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