Arch Linux : Pourquoi et comment ?

Bonjour à tous ! Pour ce premier article de 2020 nous allons parler du très connu Arch Linux.

Introduction

J'ai entrepris depuis maintenant un an un changement sur ma manière de fonctionner et d'utiliser les différents services et systèmes informatique. J'essaie d'utiliser essentiellement des outils/ressources respectueux de la vie privée et plus généralement des logiciels libres.

Par exemple Tutanota à la place de Gmail, LibreOffice à la place d'Office, Linux à la place de Windows, etc. Je peux faire un article sur ce sujet si ça vous intéresse (même s'il en existe déjà des milliers).

Au niveau de mon OS principal, j'utilisais jusqu'à présent PopOS, ce dernier est un système basé sur Ubuntu proposé par l'entreprise américaine System76. Il est très proche d'Ubuntu il intègre des outils en plus et une interface Gnome un peu plus plaisante. La version que j'utilise est basée sur la 18.04 LTS d'Ubuntu, une version très stable.

Avant d'utiliser cette solution j'ai utilisé plusieurs distributions : Kali (personnellement impossible à utiliser tous les jours), Debian, Ubuntu, BackBox...

J'ai donc installé pas mal de distribution durant l'année écoulée, généralement à grand coup de « Suivant, Suivant, Suivant » comme une grande partie des utilisateurs.

PopOS me convient parfaitement, simple, rapide et stable. Mais me considérant comme un utilisateur de Linux plutôt « avancé » j'avais également envie d'utiliser un OS dans ce style, qui me permettrait d'installer et d'utiliser le strict nécessaire sur ma machine et de comprendre réellement son fonctionnement.

C'est donc naturellement que je me suis tourné vers Arch Linux.

Arch Linux ?

Arch Linux est une distribution libre qui se veut rapide et légère, elle s'articule autour de la philosophie « KISS » ou « Keep It Simple, Stupid ». Il faut comprendre dans le sens « Garde ça simple ».

Il est prévu pour les utilisateurs « avancés » de Linux & même si vous n'êtes pas avancés je vous conseille de l'installer, c'est un exercice parfait pour apprendre.

Une autre particularité est que ce logiciel est en « Rolling Release« , c'est à dire qu'il est en développement constant et qu'il évolue très souvent. Il n'a pas de version majeure comme sous Ubuntu par exemple avec 18.04, 18.10, etc. D'autres OS utilisent ce système comme Gentoo par exemple. Ce système comporte des avantages et des inconvénients, vous utiliserez les dernières versions des paquets par exemple, ce qui est une bonne chose, mais vous serez également les premiers à rencontrer des bugs ou incompatibilités.

Pour finir, la communauté autour de ce système est énorme tout comme le wiki & le forum qui sont une sorte de bible pour les utilisateurs de Linux. Personnellement, m'est arrivé de trouver des solutions sur le forum ou le wiki d'Arch alors que mon problème concernait Debian.

Installation

Introduction

Nous allons maintenant voir comment installer Arch Linux (et vous allez voir rien à voir avec Debian ou Ubuntu) avec l'environnement graphique KDE.

Nous verrons également comment réaliser les actions de base comme installer un paquet, faire des mises à jour, etc.

Dans mon cas je vais utiliser une machine virtuelle car Arch Linux est déjà installé sur ma machine. Je vais cependant reproduire l'installation que j'ai réalisée sur mon poste, c'est à dire une installation en BIOS/Legacy avec une seule partition & sans Swap, l'installation la plus simple possible.

Cette installation concerne la version 2020.01.01 de l'OS.

Voici les caractéristiques de la machine :

  • RAM : 4Go
  • CPU : 1vCPU
  • Disque : 40Gb
  • Version : 2020.01.01

Si vous n'utilisez pas de VM vous pouvez créer une clé USB bootable avec la commande « dd » suivante :

dd if=/chemin/archlinux-2020.01.01-x86_64.iso of=/dev/xxx bs=4M status=progress

Il faudra remplacer « xxx » par votre clé USB.

Pour l'installation, vous pouvez également suivre la très complète documentation d'Arch Linux.

Lancement & gestion des disques

Vous arrivez maintenant sur l'interface de démarrage d'Arch :

Afin de poursuivre l'installation choisissez « Boot Arch Linux ». Nous voici maintenant avec un shell et l'utilisateur « root ». Dans un premier temps, si vous utilisez un clavier azerty il faut changer la disposition des touches :

loadkeys fr

Au niveau du partitionnement du disque, si vous avez peur de faire une bêtise vous pouvez utiliser un liveCD avec GParted. De mon côté j'ai utilisé la commande fdisk.

Je précise une nouvelle fois que dans mon cas il s'agit d'une utilisation en BIOS et non en UEFI. Les commandes suivantes ne sont pas correctes pour de l'UEFI.

Vérifier le nom de votre disque :

fdisk -l

Dans mon cas c'est le disque « /dev/sda » de 40Go. Pour la configuration il faut lancer les commandes suivantes :

fdisk /dev/sda

Après cette commande vous entrez de l'invit de commande de l'outil fdisk. Pour lister les partitions vous pouvez utiliser « p ».

Pour créer une partition il faut utiliser les commandes suivantes :

Nous pouvons maintenant formater la partition en ext4 avec la commande :

mkfs.ext4 /dev/sda

Et monter le système de fichier :

mount /dev/sda /mnt

Nous pouvons maintenant passer à l'installation de base de notre machine Arch.

Installation de base

Tout d'abord nous allons configurer le réseau. Vous pouvez vérifier que votre interface est bien présente :

ip link

Pour la configuration en statique vous pouvez lancer ces commandes :

1ip link set <interface> up
2ip address add <votre_adresse/masque> broadcast + dev <interface>
3ip route add 0.0.0.0/0 via <gateway> dev <interface>

Par exemple dans mon cas :

Pensez également à renseigner le serveur de nom dans le fichier /etc/resolv.conf :

nano /etc/resolv.conf

Vous avez maintenant un accès au réseau. Si vous disposez d'un serveur DHCP vous pouvez également lancer le démon avec la commande :

dhcpcd

Maintenant, passons à la configuration des miroirs, pour cela il faut se rendre dans le fichier /etc/pacman.d/mirrorlist et ne garder qu'un miroir, dans notre cas ça sera un miroir français.

nano /etc/pacman.d/mirrorlist

TIPS : Vous pouvez supprimer des lignes dans nano avec les touches CTRL + k

Nous pouvons maintenant passer à l'installation de base d'Arch :

pacstrap /mnt base linux linux-firmware

Vous pouvez également installer plusieurs utilitaires qui seront pratiques pour la suite :

pacstrap /mnt zip unzip vim mc syslog-ng lsb-release bash-completion base-devel

Après l'installation des outils de base, il faut générer le fichier fstab pour la gestion des partitions :

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

Nous pouvons maintenant passer à la configuration de l'OS, pour cela il faut se rendre dans ce dernier avec la commande suivante :

arch-chroot /mnt

Votre shell à normalement changé.

Pour la configuration de la zone géographique :

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

La création du fichier /etc/adjtime :

hwclock --systohc

Au niveau des locale, il faut dé-commenter « fr_FR.UTF-8 UTF-8 » dans le fichier /etc/locale.gen et lancer la commande :

locale-gen

Il faut ensuite créer le fichier « /etc/locale.conf » et configurer la variable LANG :

1vim /etc/locale.conf
2LANG=fr_FR.UTF-8

Même principe pour la gestion du clavier avec le fichier « /etc/vconsole.conf » :

1vim /etc/vconsole.conf
2KEYMAP=fr-latin9

Nous devons maintenant configurer le nom d'hôte de la machine dans les fichiers « /etc/hostname » & « /etc/hosts » :

1vim /etc/hostname
2arch-linux
1vim /etc/hosts
2127.0.0.1 localhost
3::1       localhost
4127.0.1.1 arch-linux

Il faut maintenant ajouter un mot de passe à l'utilisateur root :

passwd

Et pour finir, installer un bootloader, dans mon cas ça sera Grub2 :

pacman -S grub os-prober

Le paquet os-prober est indispensable dans le cas d'un dual-boot.

Pour terminer l'installation de grub vous devez lancer les commandes suivantes :

1grub-install --target=i386-pc /dev/sdX 
2grub-mkconfig -o /boot/grub/grub.cfg

Dans le cas où vous avez un système déjà installé avec Grub, vous pouvez la lancer et lancer la commande :

update-grub

Avant de redémarrer, vous pouvez installer le network manager pour éviter de refaire la configuration à la main :

pacman -Syy networkmanager

Pour terminer, il faut sortir du chroot, démonter le /mnt et reboot le système :

1exit
2umount -R /mnt
3reboot

Vous avez maintenant Arch Linux installé. Après le redémarrage vous devriez avoir l'interface de grub :

Post installation

Nous allons maintenant passer à l'installation des différents outils de base et de l'interface graphique KDE.

Tout d'abord ntp pour la synchronisation de l'heure :

pacman -Syy ntp

Puis Xorg qui permet de gérer l'affichage (comme Wayland) ainsi que les paquets pour gérer les périphériques (clavier, souris, trakcpad) :

pacman -S xorg-{server,xinit,apps} xf86-input-libinput xdg-user-dirs

Il faut maintenant installer les drivers de la carte graphique. Pour cela il faut d'abord l'identifier avec la commande suivante :

lspci | grep -e VGA -e 3D

Dans mon cas il s'agit d'une carte VMWare :

Généralement il s'agit d'Intel, AMD ou Nvidia. Les noms des drivers à installer sont disponibles ici.

Les drivers libres sont :

  • AMD : xf86-video-ati
  • Intel : xf86-video-intel
  • Nvidia : xf86-video-nouveau
  • VMWare : xf86-video-vmware

La commande pour installer le driver :

pacman -S xf86-video-vmware

Nous pouvons maintenant passer à l'installation de quelques outils comme Gimp ou encore LibreOffice :

pacman -S gimp libreoffice-still-fr hunspell-fr firefox-i18n-fr firefox-ublock-origin sudo

Il faut maintenant créer votre utilisateur et lui ajouter un mot de passe :

1useradd -m -g wheel -c 'Mickael Rigonnaux' -s /bin/bash mrigonnaux
2passwd mrigonnaux

Et pour terminer il faut dé-commenter la ligne suivante dans le fichier /etc/sudoers :

1visudo
2##Uncomment to allow members of group wheel to execute any command
3%wheel ALL=(ALL) ALL

Nous pouvons maintenant passer à l'installation de l'interface KDE.

Il faut utiliser l'utilisateur précédemment créé pour installer l'environnement.

Tout d'abord il faut installer KDE et ses différentes applications :

sudo pacman -S plasma kde-applications digikam elisa kdeconnect packagekit-qt5

Pour avoir le bon clavier lors du lancement il faut ensuite lancer :

sudo localectl set-x11-keymap fr

Nous avons maintenant installé KDE comme environnement de bureau, Xorg comme gestionnaire d'affichage et de fenêtre et pour finir SDDM comme « display manager », ce dernier permet de lancer l'environnement graphique et de gérer les connexions. SDDM s'est installé automatiquement avec KDE.

SDDM se lance avec la commande suivante :

sudo systemctl start sddm

Vous devriez maintenant avoir accès à l'interface de KDE :

Et pour finir vous pouvez activer SDDM au démarrage de la machine :

sudo systemctl enable sddm

Vous avez maintenant Arch Linux installé et fonctionnel !

Supplément

Comme vous avez pu le voir, le gestionnaire de paquet est pacman sur Arch Linux, voici les commandes principales :

 1## Installer un paquet 
 2pacman -S <pkg>
 3
 4## Installer et mettre à jour la liste des paquets
 5pacman -Syu <pkg>
 6
 7## Désinstaller un paquet 
 8pacman -Rsc <pkg>
 9
10## Chercher un paquet 
11pacman -Ss <query>
12
13## Faire une upgrade 
14pacman -Syu 
15
16## Lister les paquets installés 
17pacman -Qe
18
19## Chercher un paquet installé 
20pacman -Qs <query>
21
22## Lister les paquets inutiles
23pacman -Qdt
24
25## Désinstaller les paquets inutiles
26pacman -Rns $(pacman -Qdtq)

En plus de pacman, vous pouvez ajouter l'utilitaire yay qui permet d'installer des paquets issus des repo AUR (Arch User Repository) :

1sudo pacman -S git
2git clone https://aur.archlinux.org/yay
3cd yay
4makepkg -sri

De mon côté mon installation ressemble maintenant à ça :

J'utilise maintenant quotidiennement Arch mais je garde toujours mon dualboot avec Pop au cas où. Si vous voulez installer un autre environnement graphique vous avez différentes procédures sur le turoriel de Frederic Bezies.

Sources :

J’espère que cet article vous aura plu, si vous avez des questions ou des remarques sur ce que j’ai pu écrire n’hésitez pas à réagir avec moi par mail ou en commentaire !

Merci pour votre lecture et à bientôt !

Mickael Rigonnaux @tzkuat