Installation & personnalisation d'ArchLinux

Ce tutoriel a pour but de configurer correctement puis d'installer le système ArchLinux sur une machine à l'aide d'ArchLinux live depuis un CD ou une clé USB.

Création du support bootable et démarrage

Télécharger ArchLinux depuis le site officiel de la communauté Française : Télécharger l'image ISO .

Utiliser le logiciel Rufus pour créer une clé ou un disque dur USB bootable, ou graver l'ISO sur une disque optique.

Démarrer le pc sur lequel vous souhaitez installer ArchLinux, sur le support bootable le contenant. Dès qu'ArchLinux est chargé, vous pouvez utiliser les commandes linux standard avec tous les privilèges.

Configuration du clavier

Pour afficher toutes les configurations possibles du clavier :

 localectl list-keymaps 

Pour passer le clavier en Français :

 loadkeys fr-pc 

Configuration du réseau pour l'installation

Afin d'installer le noyau linux et les paquets essentiels, ArchLinux a besoin d'accèder aux dépôts sur Internet.

Tout d'abord, récupérer les paramètres réseau via DHCP sur l'interface enp0s3 (utiliser ip link pour afficher les cartes réseau detectées) :

dhcpcd enp0s3 

Si n'y a pas de serveur DHCP sur le réseau, configurer les paramètres IP statiques en créant un nouveau profil réseau avec Netctl (reprendre une configuration pré-faite dans /etc/netctl/examples et la sauvegarder dans /etc/netctl/). ⇒ Voir ce tutoriel pour la configuration IP sous ArchLinux

Vérifier la configuration IP du système :

ip a 

ou avec Net-tools (souvent installé par défaut) :

ifconfig 

Pour changer le nom de la machine (au cas où) :

hostnamectl set-hostname archtest.local 

ou modifier le fichier /etc/hostname

:!: Attention, les paramètres réseaux configurés ici ne sont valables que pour la version live d'ArchLinux, c'est à dire le temps de la préparation et de l'installation du système. Lorsqu'ArchLinux sera installé, il faudra les reconfigurer.

Configuration de la date et de l'heure du système

Vérifier la date et l'heure du système :

 timedatectl 

Plusieurs dates et heures vont alors s'afficher, s'assurer que Local time soit bien réglé, sinon voir plus bas. Universal time correspond à l'heure UTC/GMT et RTC Time à l'heure configurée dans le BIOS de la machine, mais ne sont pas importants.

Pour récupérer la date et l'heure automatiquement via le réseau :

 timedatectl set-ntp true 

Si ça ne fonctionne pas, séléctionner manuellement le fuseau horaire à utiliser :

 timedatectl set-timezone Europe/Paris 

Afficher les fuseaux horaires disponibles :

 timedatectl list-timezones 

Ou alors régler la date et l'heure précise manuellement (met aussi à l'heure le BIOS) :

 timedatectl set-time '2020-06-18 11:11:01' 

Partitionnement

Pour faire fonctionner ArchLinux correctement, il faut au moins 2 partitions :

  • Swap (pour le fichier d'échange), d'au moins le double de la capcité de la mémoire vive (si 4Go de ram alors prévoir une partition de swap de 8Go).
  • / (partition racine, pour le système, les applications, et les fichiers utilisateur)
  • efi (uniquement lorsque le système est démarré avec un firmware UEFI avec des tables de partition GPT)

Il est recommandé de faire une 3e partition dédiée au répertoire /home afin de séparer les fichiers systèmes des fichiers utilisateur (pas obligatoire).

Ouvrir l'utilitaire de partitionnement fdisk en précisant le disque dur que l'on souhaite partitionner :

fdisk /dev/sda 

Pour rappel, lister les disques comme ceci :

fdisk -l 

Une fois dans fdisk, afficher les partitions existantes avec p en validant avec ENTREE (au cas où le disque serait déja partitionné), et créer une nouvelle partition avec n :

Créer une nouvelle partition avec fdisk

Après avoir appuyé sur n, choisir le type de partition primaire en appuyant sur p, choisir un numéro de partition, ainsi que la taille de la partition (First et Last Sectors) :

Création d'une partition avec fdisk

Pour dimensionner une partition à la taille désirée, il suffit de préciser la valeur Last Sector en ajoutant + devant ainsi que l'unité derrière (M pour mégaoctects, G pour Gigaoctets et T pour terraoctets). Par exemple créer une partition de 10 Go on mettra +10G comme valeur.

Faire de même pour chaque partition. On peut voir ici mes deux partitions, l'une pour le swap (/dev/sda1) de 4,8Go, l'autre pour le système (/dev/sda2) de 5,2Go :

Partitions créees

Ensuite, il faut sélectionner le type de chaque partition. Lister les différents types disponibles avec la commande l.

Pour modifier le type de partition, utiliser la commande t. Puis choisir le numéro de partition à typer, et le code correspondant au type voulu.

Par exemple, pour la partition de swap, je choisis la partition 1, et le type 82, c'est à “Linux Swap / Solaris”, qui est adapté pour les partitions de swap :

Typage de la partition de swap

Et pour la partition système, je met le type 83, “Linux” :

Typage de la partition système

Enfin utiliser la commande w pour appliquer les réglages :

Appliquer les réglages du disque avec w

Pour créer partition de swap plus rapidement on peut aussi utiliser la commande mkswapManuel de la commande mkswap.

Pour finir, formatter les partitions créées, avec le système de fichier EXT4 pour les partitions non-swap :

mkfs.ext4 /dev/sda2 

Et en utilisant la commande de configuration mkswap, sur la partition Swap :

mkswap /dev/sda1

Montage automatique des partitions

Pour que les partitions précédemment créées soient montées au premier démarrage du système, commencer par le faire avec la partition système (celle avec la racine) :

mount /dev/sda2 /mnt

Puis monter aussi la partition Swap avec la commande swapon:

swapon /dev/sda1

:!: Si le système utilise un firmware UEFI, il faut monter la partition dédiée dans le répertoire /mnt/boot/efi :

mkdir -p /mnt/boot/efi && mount -t vfat /dev/sda1 /mnt/boot/efi 

Installation du système de base

On va maintenant installer les paquets de base qui constitueront le système de base d'ArchLinux.

Pour cela, utiliser le gestionnaire de paquets intégré pacman et préciser le répertoire monté correspondant à la racine du système :

pacstrap /mnt base linux linux-firmware

Pacman va alors télécharger le noyau linux et les paquets essentiels qui y sont liés. Cette opération peut prendre un certain temps en fonction de la bande passante disponible.

Ensuite, installer les fonctions réseau d'ArchLinux :

 pacstrap /mnt netctl dhcpcd 

En profiter aussi pour installer les paquets facultatifs mais que l'on aura besoin au premier démarrage pour la configuration :

pacstrap /mnt nettools dnsutils nano

Configuration du système

Générer le fichier fstab :

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

Définir le répertoire racine d'ArchLinux :

arch-chroot /mnt

Renseigner le nom de la machine dans le fichier /etc/hostname (remplacer Arch-PC par le nom de la machine) :

echo Arch-PC > /etc/hostname

Renseigner le nom de la machine aussi dans le fichier /etc/hosts pour qu'elle puisse résoudre son propre nom DNS :

echo '127.0.1.1 Arch-PC.local Arch-PC' >> /etc/hosts

Créer un lien symbolique /etc/localtime afin de choisir le fuseau horaire, par exemple pour la France :

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

Editer le fichier /etc/locale.gen et décommenter la ligne correspondant à la région où on se situe :

Ligne correspondant à la région utilisée à décommenter dans le fichier

Pour éditer des fichiers textes, on peut installer le programme nano, s'il n'a pas déja été installé avant :

pacman -S nano

Ajouter le nom de la région que l'on vient de décommenter au fichier /etc/locale.conf :

echo LANG="fr_FR.UTF-8" > /etc/locale.conf

Editer le fichier /etc/vconsole.conf afin d'y spécifier disposition du clavier à utiliser :

echo KEYMAP=fr > /etc/vconsole.conf

Configurer les RAMdisks initiaux avec :

mkinitcpio -p linux

Et enfin, attribuer un mot de passe à root :

passwd

Le système est presque prêt ! Il faut encore configurer le bootloader pour pouvoir le démarrer.

Configurer le bootloader

Dernière étape, afin que le système que l'on vient de paramètrer puisse démarrer, il faut configurer le bootloader.

D'abord, installer le paquet grub qui servira de bootloader :

pacman -S grub

Utiliser la commande suivante pour installer le système GRUB sur le disque /dev/sda :

grub-install --target=i386-pc --no-floppy --recheck /dev/sda

Puis générer le fichier de configuration de GRUB :

grub-mkconfig -o /boot/grub/grub.cfg

Le bootloader est prêt !

Premier démarrage

Avant de redémarrer, quitter le mode chrooté en faisant la commande exit ou le raccourci clavier CTRL+D, puis démonter le système de fichiers d'ArchLinux :

umount -R /mnt

Puis redémarrer le système :

reboot

Si le système plante au redémarrage, c'est normal, éteindre la machine et la rallumer manuellement.

Il faut maintenant configurer les interfaces réseau : Voir ce tutoriel

Pour simplement obtenir une adresse IP via DHCP, de façon temporaire :

dhcpcd enp0s3 

Mettre à jour la liste des paquets disponibles une fois connecté à Internet :

pacman -Sy

Installation d'une interface graphique

Il existe des centaines d'interfaces graphiques différentes pour ArchLinux, telles que :

Le mieux est de les comparer puis de choisir la plus appropriée.

Création d'un utilisateur

Ajouter un utilisateur (remplacer groupe et utilisateur par le nom du groupe auquel ajouter l'utilisateur et le nom de l'utilisateur a créer) :

 useradd -m -G groupe utilisateur 

Le groupe principal est facultatif.

Puis lui affecter un mot de passe :

passd utilisateur

Et le renseigner. Valider avec ENTREE.

Privilèges d'administration

Pour que l'utilisateur ait tous les droits, il faut installer le paquet sudo et ajouter l'utilisateur au groupe wheel avec la commande suivante :

gpasswd -a utilisateur wheel 

Enfin, à chaque commande demandant des privilèges, il faudra ajouter la commande sudo devant.

Explorateur de fichiers et terminal

:!: Attention ! En fonction de l'interface graphique, l'explorateur de fichier et le terminal ne sont pas toujours fournis par défaut.

Pour cela, il existe deux explorateurs de fichiers connus : Dolphin et Konqueror. A vous de choisir celui que vous préférez des deux, ou un autre !

Pareil pour le terminal, il existe par exemple Konsole, rxvt ou xterm. Bon choix !

Création d'un ISO Live personnalisé d'ArchLinux

Sources