Installation de Linux

Petite guide expliquant les différentes notions rentrant en jeu lors de l'installation de Linux (Arch Linux)

Introduction

Je vais détailler l'installation du système d'exploitation GNU/Linux. Plus particulièrement pour exemple, l'installation de Arch Linux, une distribution GNU/Linux que j'ai l'habitude d'installer.

GNU est un ensemble de logiciels essentiels pour un système d'exploitation. C'est un projet qui a été lancé afin de développer un système d'exploitation libre et open source. Linux est un noyau de système d'exploitation.

Les différentes notions

Il y a plusieurs concepts à maîtriser pour comprendre ce que l'on fait lorsqu'on installe un système d'exploitation, plus particulièrement ici, lorsqu'on installe Arch. Ces concepts sont les suivants :

  • Gestion du stockage

    1. Partitionnement du disque

    2. Formatage (filesystems)

    3. Points de montage

  • Installation du noyau

  • Installation du bootloader

  • Configurations de base de la machine

Nous allons faire une petite parenthèse sur le fonctionnement du stockage non volatile dans la suite du guide. En revanche, pour ce qui est des autres points, nous diront simplement :

  • Le noyau est la partie centrale du système d'exploitation qui gère les ressources matérielles de l'ordinateur et permet aux logiciels de communiquer avec le matériel. C'est essentiellement le cœur du système d'exploitation.

  • Le bootloader est le programme exécuté par l'ordinateur lors de son démarrage, il charge le noyau du système d'exploitation en mémoire et lance son exécution. En résumé, le bootloader démarre le système d'exploitation en chargeant le noyau.

Gestion du stockage

Partitions

Il est possible de partionner un unique disque afin de s'en servir comme "plusieurs disques". C'est une manière de voir la chose. Un même disque est capable de contenir plusieurs partitions formatées différemment. Lorsqu'on se sert d'un disque comme d'un espace de stockage simple, alors une seule partition est suffisante, prenant alors toute la place disponible sur le disque. Cependant, pour un système d'exploitation, au moins 3 partitions sont nécessaires :

  • Une partition de boot (pour que l'OS s'exécute au démarrage de l'ordinateur, c'est le rôle du bootloader, et prenne possession des composants qui sont à sa disposition, c'est le rôle du noyau)

  • Une partition de swap. C'est un espace de stockage réservé pour étendre la mémoire virtuelle de l'ordinateur. Elle sert d'extension à la RAM mais surtout de sauvegarde d'état actuel de la RAM lors d'une mise en veille (hibernation) de l'OS. Il est donc recommandé de lui réserver un espace de stockage de la même taille que la RAM disponible sur l'ordinateur.

  • Une partition de stockage. Oui, c'est évident, mais l'OS a besoin d'une partition pour stocker tout le reste. Toutes ses librairies, ses modules, les logiciels installés, etc.. C'est aussi là que vous pouvez stocker tous les fichiers sur lesquels vous voulez travailler sans nécessairement recourir à un disque supplémentaire.

Formats (systèmes de fichier)

Les fs (filesystems) ou encore systèmes de fichier en français ou simplement format, sont des ensembles de règles que l'on va suivre pour stocker avec cohérences des données sur un disque. Effectivement, si vous voulez stocker des données, il faut bien décider d'une manière de les stocker, et que l'ordinateur sur lequel vous branchez votre disque connaisse la manière dont vous avez organisé/stocké vos données. Le formatage, c'est simplement ça, décrire la manière dont on veut stocker les données. Il existe plusieurs fs. J'ai pris le temps de créer un tableau d'informations sur les principaux systèmes de fichier existants :

Filesystem
Taille max par fichier
Taille max du volume
OS compatibles

NTFS

  • 16EB (Windows)

  • 16TB (MacOS)

  • 256TB (Linux)

  • 256TB (Windows)

  • 8PB (Linux/MacOS)

  • Windows NT >3.1

  • MacOS X >10.3 (Read-Only)

  • Linux >2.6 (Read-Only)

FAT32

4GB

  • 2TB (Windows)

  • 8TB (MacOS)

  • 16TB (Linux)

  • Windows

  • MacOS

  • Linux

exFAT

128PB

128PB

  • Windows

  • Linux >5.4

  • MacOS X >6.5

ext4

256PB

256PB

  • Linux >0.96

Exemple d'installation de Arch Linux

Maintenant que toutes les subtilités nécessaires à la compréhension globale de l'installation d'un système d'exploitation. Voici un exemple d'installation de Arch Linux, commenté pour plus de clarté :

loadkeys fr #Se mettre en AZERTY
ping google.com #Vérifier la connexion internet, si pas de connexion internet, suivre le tuto du wiki de Arch : 
#https://wiki.archlinux.org/title/installation_guide#Connect_to_the_internet

lsblk #Visionner nos disques et partitions
cfdisk #Créer les partitions de sda mettre EFI sur la partition de boot (partition de boot de 512M, de swap de autant de RAM dont le PC dispose et tout le reste pour l'OS)

#Formatage
mkfs.fat -F 32 /dev/sda2 #Partition de boot
mkswap /dev/sda3 #Partition de swap
mkfs.ext4 /dev/sda1 #Partition de l'os

#Montage sur le disque d'installation
mount /dev/sda1 /mnt #l'OS
swapon /dev/sda3 #Le swap
mount --mkdir /dev/sda2 /mnt/boot/efi #Partition de boot

#Installer les modules importants sur le disque principal :
pacman-key --init
pacman-key --populate
#Téléchargement du noyau et d'autres trucs utiles
pacstrap /mnt base linux linux-firmware
pacstrap /mnt sof-firmware base-devel grub efibootmgr vim networkmanager

#Générer le fichier fstab pour l'automount durant le boot
genfstab /mnt > /mnt/etc/fstab

#Chroot dans notre système
arch-chroot /mnt
#Installer grub et générer la configuration de grub
mkdir /boot/grub
grub-mkconfig > /boot/grub/grub.cfg
grub-install --target=x86_64-efi --no-floppy --recheck /dev/sda

#Indiquer notre localité par lien symbolique
ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
#Synchroniser l'horloge système
hwclock  --systohc
#Décommenter la ligne de notre choix dans le fichier et mettre à jour.
vim /etc/locale.gen
locale-gen
echo "LANG=fr_FR.UTF-8" > /etc/locale.conf
echo "KEYMAP=fr" > /etc/vconsole.conf
#Nommer la machine
echo "nommez_votre_machine" > /etc/hostname

#Désactiver root en remplaçant /bin/bash pour root par /usr/bin/nologin
vim /etc/passwd
#Configuration des utilisateurs
useradd -m -G wheel -s /bin/bash votre_pseudo
passwd votre_pseudo #Ajouter un mot de passe
#Ajouter le groupe wheel et sudo aux sudoers
#Décommenter la ligne : %wheel ALL=(ALL) NOPASSWD: ALL
EDITOR=vim visudo

#Activer le module d'internet avant le reboot
systemctl enable NetworkManager
exit
umount -R /mnt
reboot

Mis à jour

Ce contenu vous a-t-il été utile ?