Révision détaillée
This commit is contained in:
275
main.tex
275
main.tex
@@ -70,7 +70,7 @@ version={4.0},
|
||||
\subtitle{Département d'informatique}
|
||||
\author{Eric Hervet et Andy Couturier}
|
||||
\email{}
|
||||
\institute{Département d'informatique}
|
||||
\institute{Faculté des sciences}
|
||||
\uni{Université de Moncton}
|
||||
\location{Université de Moncton}
|
||||
\background{background.jpg}
|
||||
@@ -89,11 +89,34 @@ version={4.0},
|
||||
\end{wide}
|
||||
\end{frame}
|
||||
|
||||
\section{Pourquoi ?}
|
||||
|
||||
\begin{frame} \frametitle{Pourquoi ?}
|
||||
\begin{wide}
|
||||
\begin{itemize}[<+->]
|
||||
\item La plupart des distributions Linux ont un installateur graphique facile d'utilisation. Il existe même des scripts d'installation semi-automatiques pour Arch Linux.
|
||||
\item Le séminaire proposé consiste à installer Arch Linux manuelle avec des commandes dans un terminal.
|
||||
\item Mais pourquoi s'infliger des souffrances en installant manuellement Arch Linux ?
|
||||
\begin{itemize}
|
||||
\item \textbf{\Rightarrow\:Pour apprendre.}
|
||||
\end{itemize}
|
||||
\item Une personne informaticienne explore en profondeur pour comprendre le fonctionnement des systèmes, tandis qu'une personne technicienne se concentre sur leur mise en œuvre et leur maintenance. L'approche scientifique pousse toujours à approfondir la connaissance.
|
||||
\item En réalisant cette installation, vous allez :
|
||||
\begin{itemize}
|
||||
\item Mieux comprendre la structure d'un système d'exploitation.
|
||||
\item Comprendre le système de partitionnement et sa relation aux systèmes de fichiers.
|
||||
\item Comprendre le processus de démarrage d'un système d'exploitation.
|
||||
\item Apprendre à personnaliser et maîtriser votre environnement Linux.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{wide}
|
||||
\end{frame}
|
||||
|
||||
\section{Support d'installation}
|
||||
|
||||
\begin{frame} \frametitle{Support d'installation}
|
||||
\begin{wide}
|
||||
\begin{itemize}
|
||||
\begin{itemize}[<+->]
|
||||
\item Pour créer une clé USB qui contient l'image d'installation d'Arch Linux~:
|
||||
\begin{enumerate}
|
||||
\item Rendez vous à l'adresse \href{https://archlinux.org/download/}{https://archlinux.org/download/}.
|
||||
@@ -117,13 +140,13 @@ version={4.0},
|
||||
|
||||
\begin{frame} \frametitle{Table de Partitionnement}
|
||||
\begin{wide}
|
||||
\begin{itemize}
|
||||
\begin{itemize}[<+->]
|
||||
\item \textbf{Définition:} Une table de partitionnement est une structure située sur un disque décrivant comment l'espace de stockage est divisé en zones distinctes appelées partitions.
|
||||
\item \textbf{Rôle:} Elle détermine où chaque partition commence et se termine sur le disque et le type de système de fichiers de chaque partition.
|
||||
\item \textbf{Fonctionnement:}
|
||||
\begin{itemize}
|
||||
\item Placée généralement à un emplacement fixe sur le disque, elle est utilisée par l'ordinateur au démarrage pour détecter et gérer les partitions présentes.
|
||||
\item Indique quelles partitions sont amorçables (\textit{«~bootable~»}), aidant ainsi le processus de démarrage du système d'exploitation.
|
||||
\item Elle est placée généralement à un emplacement fixe sur le disque et est utilisée par l'ordinateur au démarrage pour détecter et gérer les partitions présentes.
|
||||
\item Elle indique quelles partitions sont amorçables (\textit{«~bootable~»}), aidant ainsi le processus de démarrage du système d'exploitation.
|
||||
\end{itemize}
|
||||
\item \textbf{Systèmes de fichiers:}
|
||||
\begin{itemize}
|
||||
@@ -137,13 +160,12 @@ version={4.0},
|
||||
\begin{frame}
|
||||
\frametitle{MBR vs GPT}
|
||||
\begin{wide}
|
||||
\begin{itemize}
|
||||
\begin{itemize}[<+->]
|
||||
\item Il y a deux formats de table de partitionnement possible.
|
||||
\item \textbf{MBR (Master Boot Record)}
|
||||
\begin{itemize}
|
||||
\item Taille maximale de disque : 2 TiB.
|
||||
\item Limité à 4 partitions primaires.
|
||||
\item Utilise un secteur de démarrage principal (\textit{446 bytes}).
|
||||
\item Plus ancien, compatible avec BIOS uniquement.
|
||||
\item Pas de redondance, si le MBR est corrompu, les données peuvent être inaccessibles.
|
||||
\end{itemize}
|
||||
@@ -174,7 +196,7 @@ version={4.0},
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
|
||||
\begin{itemize}
|
||||
\begin{itemize}[<+->]
|
||||
\item Les mountpoints entre parenthèses seront les mountpoints temporaires des partitions pendant l'installation. Ils se trouveront sur le système de fichier existant du support d'installation.
|
||||
\item Le type de partition \texttt{ef00} indique qu'il s'agit d'une partition EFI. Cela signifie que le système à un firmware UEFI pour le démarrage.
|
||||
\item La taille de 1 GiB est généralement suffisante pour stocker le noyau Linux et les fichiers de démarrage nécessaires.
|
||||
@@ -186,12 +208,12 @@ version={4.0},
|
||||
|
||||
\begin{frame} \frametitle{Partitionnement}
|
||||
\begin{wide}
|
||||
\begin{itemize}
|
||||
\begin{itemize}[<+->]
|
||||
\item Branchez la clé sur laquelle vous allez installer Arch Linux et ensuite faites immédiatement \command{dmesg} pour identifier le code \texttt{sdX} de la clé USB.
|
||||
\item \command{gdisk /dev/sdX} pour commencer à partitionner le disque interactivement.
|
||||
\begin{itemize}
|
||||
\setlength\itemsep{-0.05em}
|
||||
\item \keystroke{o} pour effacer toutes les partitions.
|
||||
\item \keystroke{o} puis \keystroke{y} pour effacer toutes les partitions.
|
||||
\item \keystroke{n} pour créer une nouvelle partition.
|
||||
\item \keystroke{Enter} pour choisir la partition par défaut (1).
|
||||
\item \keystroke{Enter} pour choisir le secteur de départ par défaut.
|
||||
@@ -212,9 +234,9 @@ version={4.0},
|
||||
\begin{frame}
|
||||
\frametitle{Formatage de la partition de démarrage}
|
||||
\begin{wide}
|
||||
\begin{itemize}
|
||||
\begin{itemize}[<+->]
|
||||
\item \command{mkfs.fat -F32 /dev/sdX1}
|
||||
\item \textbf{Conformité UEFI (Unified Extensible Firmware Interface)} : Le standard UEFI spécifie une partition système EFI (ESP) au format FAT32.
|
||||
\item \textbf{Conformité UEFI (Unified Extensible Firmware Interface)} : Le standard UEFI requiert une partition système EFI (ESP) au format FAT32.
|
||||
\item \textbf{Pilotes UEFI intégrés} : Les firmwares UEFI incluent des pilotes FAT. Sans ce format, l’UEFI ne peut ni localiser ni charger le bootloader, rendant le démarrage impossible.
|
||||
\item \textbf{Compatibilité universelle} : FAT32 est pris en charge nativement par la plupart des systèmes d’exploitation, simplifiant la mise à jour de la partition (fichiers EFI, bootloaders, etc.) depuis n’importe quelle plateforme.
|
||||
\end{itemize}
|
||||
@@ -223,49 +245,63 @@ version={4.0},
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Formatage de la partition racine}
|
||||
\small
|
||||
\begin{wide}
|
||||
\begin{itemize}
|
||||
\begin{itemize}[<+->]
|
||||
\item \command{mkfs.f2fs /dev/sdX2}
|
||||
\item \textbf{F2FS (Flash-Friendly File System)} a été conçu spécifiquement pour les supports de stockage à base de mémoire flash (SSD, eMMC, clés USB).
|
||||
\item \textbf{Log-structured file system} : Au lieu de réécrire directement au même endroit, les données modifiées sont toujours inscrites dans de nouveaux blocs. Cette approche transforme les accès aléatoires en flux d’écritures séquentielles, réduisant la fragmentation et améliorant considérablement les performances.
|
||||
\item \textbf{F2FS (Flash-Friendly File System)} a été conçu spécifiquement pour les supports de stockage à base de mémoire flash (SSD, eMMC, clés USB, cartes SD).
|
||||
\item \textbf{Log-structured file system} : Les données modifiées sont toujours inscrites dans de nouveaux blocs, au lieu de les réécrire directement au même endroit. Cela permet au système de grouper plusieurs écritures aléatoires en flux d’écritures séquentielles. Cela réduit la fragmentation, améliore considérablement les performances d'écriture et permet une répartition plus uniforme des écritures ce qui prolonge la durée de vie du support (wear-leveling).
|
||||
\item \textbf{Garbage collection} : L’espace est divisé en segments, et ceux contenant des données obsolètes sont régulièrement regroupés en blocs contigus. Ce processus limite l’amplification d’écriture, maintient un stockage homogène et préserve durablement les performances.
|
||||
\item \textbf{TRIM et wear-leveling} : Le TRIM indique au contrôleur flash quels blocs sont libres, lui permettant de répartir uniformément l'usure au niveau des cellules physiques du support (wear-leveling) et ainsi prolonger sa durée de vie.
|
||||
\item \textbf{TRIM} : Le TRIM indique au contrôleur flash quels blocs sont libres (fichiers supprimés), lui permettant de les utiliser pour répartir uniformément les écritures, ce qui prolonge la durée de vie du support (wear-leveling).
|
||||
\end{itemize}
|
||||
\end{wide}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame} \frametitle{Montage des partitions}
|
||||
\begin{wide}
|
||||
\begin{itemize}
|
||||
\begin{itemize}[<+->]
|
||||
\item Le montage des partitions sous Linux est le processus qui rend un système de fichiers prêt à être utilisé par le système d'exploitation. Cela implique d'associer un système de fichiers situé sur une partition à un répertoire spécifique du système de fichiers global appelé point de montage (mountpoint).
|
||||
\item \command{mount /dev/sdX2 /mnt} : On monte la partition racine dans le système de fichiers temporaire fourni par l’environnement d’installation.
|
||||
\item \command{mkdir /mnt/boot} : Création du répertoire \path{/mnt/boot} pour accueillir la partition de démarrage.
|
||||
\item \command{mount /dev/sdX1 /mnt/boot} : On monte la partition de démarrage dans ce répertoire, intégrant ainsi l’arborescence de \path{/mnt} dans celle du support d’installation, ce qui permet d’accéder à la structure complète du futur système.
|
||||
\item \command{mkdir /mnt/boot} : Création du répertoire \texttt{/mnt/boot} pour accueillir la partition de démarrage.
|
||||
\item \command{mount /dev/sdX1 /mnt/boot} : On monte la partition de démarrage dans le répertoire \texttt{boot} du système de fichiers racine.
|
||||
\item Ces opérations intègrent ainsi l’arborescence de fichier de \texttt{/dev/sdX1} et de \texttt{/dev/sdX2} dans celle du support d’installation, ce qui permet d’accéder à la structure complète du futur système.
|
||||
\end{itemize}
|
||||
\end{wide}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame} \frametitle{Fichier fstab}
|
||||
\begin{wide}
|
||||
\begin{itemize}[<+->]
|
||||
\item \command{mkdir /mnt/etc} : Création du répertoire des configurations du système.
|
||||
\item \command{genfstab -t PARTUUID /mnt > /mnt/etc/fstab} : Scanne les partitions montées et crée un fichier \texttt{/mnt/etc/fstab} en utilisant les \textbf{PARTUUID} pour identifier de manière unique chaque partition.
|
||||
\item Le fichier \texttt{/mnt/etc/fstab} spécifie les partitions à monter, leurs points de montage, les types de systèmes de fichiers, les options de montage, et les paramètres de dump et de vérification.
|
||||
\item Le fichier \texttt{/mnt/etc/fstab} est utilisé pour indiquer au système quelles partitions monter et comment procéder.
|
||||
\item \textbf{Pourquoi \texttt{PARTUUID} ?}
|
||||
\begin{itemize}
|
||||
\item Les noms de périphériques comme \texttt{/dev/sda}, \texttt{/dev/sdb} peuvent changer d'un démarrage à l'autre, surtout si des supports amovibles sont connectés.
|
||||
\item Les \textbf{PARTUUID} sont des identifiants uniques et persistants assignés à chaque partition, garantissant un montage fiable quel que soit l'ordre de détection des périphériques.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{wide}
|
||||
\end{frame}
|
||||
|
||||
\section{Installation}
|
||||
|
||||
\begin{frame} \frametitle{Initialisation du keyring}
|
||||
\begin{frame} \frametitle{Paquets}
|
||||
\begin{wide}
|
||||
\begin{itemize}
|
||||
\item L’une des plus grandes forces de Linux réside dans son système de paquets. Chaque paquet est distribué avec une signature cryptographique, garantissant son authenticité et son intégrité.
|
||||
\item Avant d’installer le moindre logiciel, il est donc nécessaire d’initialiser et de peupler un keyring local, afin que \texttt{pacman} puisse vérifier la validité des paquets grâce aux clés des développeurs de confiance.
|
||||
\vspace{0.5em}
|
||||
\item \command{pacman-key --init} : Initialise la base de clés, créant l’environnement de confiance nécessaire à la vérification des signatures.
|
||||
\item \command{pacman-key --populate} : Importe les clés officielles dans le keyring local, assurant que les paquets installés proviennent de sources légitimes.
|
||||
\begin{itemize}[<+->]
|
||||
\item L’une des plus grandes forces de Linux réside dans son système de paquets. Chaque logiciel est distribué sous forme de paquet avec une signature cryptographique qui garantie son authenticité et son intégrité.
|
||||
\item Grâce à la vérification cryptographique des paquets, il n’est pas nécessaire de faire confiance au serveur qui distribue les logiciels (miroir) lui-même, puisqu’un paquet non-signé ou altéré sera rejeté automatiquement par le gestionnaire de paquets du système (pacman).
|
||||
\item N’importe qui peut héberger un miroir des dépôts Arch Linux, c'est-à-dire un serveur qui contient une copie de tous les paquets officiels crées par les développeurs d’Arch Linux.
|
||||
\end{itemize}
|
||||
\end{wide}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame} \frametitle{Optimisation des miroirs}
|
||||
\begin{wide}
|
||||
\begin{itemize}
|
||||
\item Grâce à la vérification cryptographique des paquets, il n’est pas nécessaire de faire confiance au miroir lui-même, puisqu’un paquet non-signé ou altéré sera rejeté automatiquement par pacman.
|
||||
\item Ainsi, n’importe qui peut héberger un miroir des dépôts Arch Linux. Un miroir est une copie du serveur de paquets officiel des développeurs d’Arch.
|
||||
\item L'écosystème compte plus de 800 miroirs à travers le monde, certains sont plus proches, donc ils ont une latence réduite et une bande passante supérieure.
|
||||
\begin{itemize}[<+->]
|
||||
\item L'écosystème des miroirs d'Arch Linux comprend plus de 800 serveurs répartis à travers le monde. Parmi ceux-ci, certains serveurs sont géographiquement plus proches, offrant ainsi une latence réduite ainsi qu'une bande passante souvent supérieure.
|
||||
\item Avant d’installer le système, il est donc préférable d’optimiser la liste des miroirs pour télécharger les paquets plus rapidement.
|
||||
\vspace{0.5em}
|
||||
\item \command{pacman --noconfirm -Syy reflector} : Installe et met à jour la base de données des paquets, puis installe \texttt{reflector} un outil d'optimisation des miroirs.
|
||||
\item \command{reflector --verbose --sort rate --country Canada --protocol http,https --save /etc/pacman.d/mirrorlist} : Met à jour la liste des miroirs en utilisant ceux au Canada et trié du plus rapide au plus lent.
|
||||
\end{itemize}
|
||||
@@ -275,10 +311,8 @@ version={4.0},
|
||||
\begin{frame}
|
||||
\frametitle{Optimisation de pacman}
|
||||
\begin{wide}
|
||||
\begin{itemize}
|
||||
\item \textbf{Accélérer le téléchargement des paquets} :
|
||||
|
||||
Pour améliorer les performances de pacman, éditez le fichier de configuration \texttt{/etc/pacman.conf}.
|
||||
\begin{itemize}[<+->]
|
||||
\item Pour améliorer les performances de pacman, éditez le fichier de configuration \texttt{/etc/pacman.conf}.
|
||||
Décommentez la ligne \texttt{ParallelDownloads} puis définissez sa valeur à \textbf{32} (ou un autre nombre selon vos préférences).
|
||||
|
||||
\begin{block}{}
|
||||
@@ -287,22 +321,22 @@ version={4.0},
|
||||
\texttt{ParallelDownloads = 32}
|
||||
\end{block}
|
||||
|
||||
Cette modification permet d’effectuer plusieurs téléchargements en parallèle, réduisant significativement le temps total de mise à jour ou d’installation de paquets.
|
||||
\item Cette modification permet d’effectuer plusieurs téléchargements en parallèle, réduisant significativement le temps total de mise à jour ou d’installation des paquets.
|
||||
\end{itemize}
|
||||
\end{wide}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame} \frametitle{Installation du système}
|
||||
\begin{wide}
|
||||
\begin{itemize}
|
||||
\item \command{pacstrap /mnt base base-devel linux linux-headers linux-firmware xorg-drivers nvidia-open intel-ucode amd-ucode zram-generator git}
|
||||
\begin{itemize}[<+->]
|
||||
\item \command{pacstrap /mnt base base-devel linux linux-headers linux-firmware xorg-drivers nvidia-open intel-ucode amd-ucode zram-generator git} \Leftarrow\: Ajouter un éditeur de texte (ex. nano, vim).
|
||||
\begin{itemize}
|
||||
\item \textbf{\texttt{base}} : Paquets essentiels pour un système Arch minimal.
|
||||
\item \textbf{\texttt{base-devel}} : Ensemble d'outils de développement pour la compilation de logiciels.
|
||||
\item \textbf{\texttt{linux} et \texttt{linux-headers}} : Noyau Linux et ses en-têtes nécessaires pour le développement de modules.
|
||||
\item \textbf{\texttt{linux-firmware}} : Collection de firmwares pour divers matériels pour assurer un bon support matériel.
|
||||
\item \textbf{\texttt{xorg-drivers} et \texttt{nvidia-open}} : Pilotes graphiques (Intel, AMD, Nvidia) pour assurer un bon support matériel.
|
||||
\item \textbf{\texttt{intel-ucode} et \texttt{amd-ucode}} : Microcodes pour les processeurs Intel et AMD, permettant des mises à jour critiques du microprogramme.
|
||||
\item \textbf{\texttt{intel-ucode} et \texttt{amd-ucode}} : Microcodes pour les processeurs Intel et AMD, permettant l'installation des mises à jour critiques du microprogramme.
|
||||
\item \textbf{\texttt{zram-generator}} : Utilitaire permettant de configurer zram pour la compression de la mémoire vive.
|
||||
\item \textbf{\texttt{git}} : Système de gestion de versions distribué qui sera utile pour installer des paquets plus tard.
|
||||
\end{itemize}
|
||||
@@ -312,7 +346,7 @@ version={4.0},
|
||||
|
||||
\begin{frame} \frametitle{Transfère des optimisations}
|
||||
\begin{wide}
|
||||
\begin{itemize}
|
||||
\begin{itemize}[<+->]
|
||||
\item \command{cp /etc/pacman.conf /mnt/etc/pacman.conf} : Copie la configuration de \texttt{pacman} dans le nouveau système, préservant les optimisations précédemment définies.
|
||||
\item \command{cp /etc/pacman.d/mirrorlist /mnt/etc/pacman.d/mirrorlist} : Transfère la liste des miroirs optimisée dans le nouveau système, afin de conserver la liste de miroirs optimisés.
|
||||
\end{itemize}
|
||||
@@ -324,33 +358,33 @@ version={4.0},
|
||||
\begin{frame}
|
||||
\frametitle{Chroot}
|
||||
\begin{wide}
|
||||
\begin{itemize}
|
||||
\begin{itemize}[<+->]
|
||||
\item \command{arch-chroot /mnt}
|
||||
\item La commande \texttt{arch-chroot} permet de « rentrer » dans l’environnement du nouveau système installé sur le point de montage \texttt{/mnt}.
|
||||
\item Elle modifie la racine du système de fichiers, faisant de \texttt{/mnt} le nouveau \texttt{/}.
|
||||
\item Une fois à l’intérieur, vous pouvez gérer votre système comme s’il était démarré, par exemple installer des paquets, configurer des services ou éditer des fichiers de configuration, sans avoir à rebooter.
|
||||
\item Une fois à l’intérieur, vous pouvez gérer votre système comme s’il était démarré, par exemple installer des paquets, configurer des services ou éditer des fichiers de configuration, sans avoir à démarrer immédiatement le nouveau système.
|
||||
\end{itemize}
|
||||
\end{wide}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Étapes du processus de démarrage}
|
||||
\begin{wide}
|
||||
\begin{enumerate}[<+->]
|
||||
\item \textbf{Firmware} : Le firmware (UEFI) initialise le matériel minimal, localise la partition système EFI (ESP) et charge le bootloader se trouvant dessus.
|
||||
\item \textbf{Bootloader} : Le bootloader (systemd-boot) sélectionne le noyau et charge également l’initramfs en mémoire, puis passe la main au noyau en lui fournissant les paramètres nécessaires.
|
||||
\item \textbf{Initramfs} : Chargé avant l’exécution complète du noyau, l’initramfs sert de système de fichiers temporaire. Il contient les pilotes et outils indispensables pour trouver et monter la véritable racine du système.
|
||||
\item \textbf{Noyau Linux} : Utilisant l'initramfs, le noyau s'initialise, configure les périphériques, monte le système de fichiers racine, et lance le processus init.
|
||||
\item \textbf{Processus init} : Le premier processus est \texttt{systemd} (PID 1). Il lance les services, monte les partitions complémentaires, configure le réseau, met en place et lance l’environnement utilisateur final.
|
||||
\end{enumerate}
|
||||
\end{wide}
|
||||
\end{frame}
|
||||
|
||||
\section{Bootloader}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Étapes du processus de démarrage}
|
||||
\begin{wide}
|
||||
\begin{enumerate}
|
||||
\item \textbf{Firmware} : Le firmware (UEFI) initialise le matériel minimal, localise la partition système EFI (ESP) et charge le bootloader se trouvant dessus.
|
||||
\item \textbf{Bootloader} : Le bootloader (systemd-boot) sélectionne le noyau et charge également l’initramfs en mémoire, puis passe la main au noyau en lui fournissant les paramètres nécessaires.
|
||||
\item \textbf{Initramfs} : Chargé avant l’exécution complète du noyau, l’initramfs sert de système de fichiers temporaire. Il contient les pilotes et outils indispensables pour trouver et monter la véritable racine du système.
|
||||
\item \textbf{Noyau Linux} : Utilisant l'initramfs, le noyau s'initialise, configure les périphériques, monte le système de fichiers racine, et lance le processus init.
|
||||
\item \textbf{Processus init} : Le premier processus est systemd (PID 1). Il lance les services, monte les partitions complémentaires, configure le réseau, met en place et lance l’environnement utilisateur final.
|
||||
\end{enumerate}
|
||||
\end{wide}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame} \frametitle{Bootloader}
|
||||
\begin{wide}
|
||||
\begin{itemize}
|
||||
\begin{itemize}[<+->]
|
||||
\item \command{bootctl install} : Installe le chargeur de démarrage (\textit{bootloader}) systemd-boot sur la partition EFI.
|
||||
\item Créer le fichier \texttt{/boot/loader/loader.conf} avec le contenu suivant~:\\
|
||||
\begin{block}{}
|
||||
@@ -364,8 +398,8 @@ version={4.0},
|
||||
|
||||
\begin{frame} \frametitle{Bootloader}
|
||||
\begin{wide}
|
||||
\begin{itemize}
|
||||
\item \command{blkid /dev/sdX2 > /boot/loader/entries/arch.conf} : Insère la PARTUUID de la partition racine dans \texttt{arch.conf} pour éviter de devoir la retaper manuellement.
|
||||
\begin{itemize}[<+->]
|
||||
\item \command{blkid -s PARTUUID -o value /dev/sdX2 > /boot/loader/entries/arch.conf} : Insère la PARTUUID de la partition racine dans \texttt{arch.conf} pour éviter de devoir la retaper manuellement.
|
||||
\item Éditer le fichier \texttt{/boot/loader/entries/arch.conf} avec le contenu suivant~:\\
|
||||
\begin{block}{}
|
||||
\texttt{title Arch Linux} \\
|
||||
@@ -381,45 +415,29 @@ version={4.0},
|
||||
|
||||
\begin{frame} \frametitle{Bootloader}
|
||||
\begin{wide}
|
||||
\begin{itemize}
|
||||
\begin{itemize}[<+->]
|
||||
\item \textbf{\texttt{title Arch Linux}} : Définit le nom qui apparaîtra dans le menu de démarrage.
|
||||
\item \textbf{\texttt{linux /vmlinuz-linux}} : Indique le chemin vers le noyau Linux.
|
||||
\item \textbf{\texttt{initrd /intel-ucode.img}} : Charge le microcode du processeur Intel.
|
||||
\item \textbf{\texttt{initrd /amd-ucode.img}} : Charge le microcode du processeur AMD. Ces fichiers ne sont appliqués que si le matériel correspondant est utilisé.
|
||||
\item \textbf{\texttt{initrd /intel-ucode.img}} : Charge le microcode des processeurs Intel.
|
||||
\item \textbf{\texttt{initrd /amd-ucode.img}} : Charge le microcode des processeurs AMD. Ces fichiers ne sont appliqués que si le matériel correspondant est utilisé.
|
||||
\item \textbf{\texttt{initrd /initramfs-linux-fallback.img}} : Charge une image de système de fichier minimal en mémoire (initramfs) qui fournit les pilotes essentiels au noyau. La version \texttt{fallback} contient tous les pilotes disponibles, contrairement à la version standard qui est générée selon la configuration matérielle de l'ordinateur où a été réalisée l'installation.
|
||||
\item \textbf{\texttt{options root=PARTUUID=<PARTUUID> rw}} : Spécifie les options de démarrage du noyau, en particulier la partition racine (root) et l'option \texttt{rw} pour un accès en lecture-écriture.
|
||||
\end{itemize}
|
||||
\end{wide}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame} \frametitle{Fichier fstab}
|
||||
\begin{wide}
|
||||
\begin{itemize}
|
||||
\item \command{genfstab -t PARTUUID / > /etc/fstab} : Scanne les partitions montées et crée un fichier \texttt{/etc/fstab} en utilisant les \textbf{PARTUUID} pour identifier de manière unique chaque partition.
|
||||
\item Le fichier \texttt{/etc/fstab} spécifie les partitions à monter, leurs points de montage, les types de systèmes de fichiers, les options de montage, et les paramètres de dump et de vérification.
|
||||
\item Le fichier \texttt{/etc/fstab} est utilisé pour indiquer à systemd quelles partitions monter et comment procéder.
|
||||
\item \textbf{Pourquoi \texttt{PARTUUID} ?}
|
||||
\begin{itemize}
|
||||
\item Les noms de périphériques comme \texttt{/dev/sda}, \texttt{/dev/sdb} peuvent changer d'un démarrage à l'autre, surtout si des supports amovibles sont connectés.
|
||||
\item Les \textbf{PARTUUID} sont des identifiants uniques et persistants assignés à chaque partition, garantissant un montage fiable quel que soit l'ordre de détection des périphériques.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{wide}
|
||||
\end{frame}
|
||||
|
||||
\section{Initramfs}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Initramfs}
|
||||
\begin{wide}
|
||||
\begin{itemize}
|
||||
\item \textbf{Ajouter le support USB à l'initramfs} :
|
||||
Pour permettre à l'initramfs de monter une partition racine se trouvant sur une clé USB, éditez le fichier de configuration \texttt{/etc/mkinitcpio.conf} comme suit~:
|
||||
\begin{itemize}[<+->]
|
||||
\item Pour permettre à l'initramfs de monter une partition racine se trouvant sur une clé USB, éditez le fichier de configuration \texttt{/etc/mkinitcpio.conf} comme suit~:
|
||||
\begin{block}{}
|
||||
\texttt{MODULES=(usbhid xhci\_hcd)}
|
||||
\end{block}
|
||||
\item Ce sont les modules nécessaires pour s'assurer que les pilotes USB requis sont chargés pendant le processus d'initialisation.
|
||||
\item \command{mkinitcpio -P} : Reconstruit l'image initramfs en applicant les modifications.
|
||||
\item \command{mkinitcpio -P} : Reconstruit les images initramfs en applicant les modifications.
|
||||
\end{itemize}
|
||||
\end{wide}
|
||||
\end{frame}
|
||||
@@ -429,45 +447,39 @@ version={4.0},
|
||||
\begin{frame}
|
||||
\frametitle{Compression de la mémoire}
|
||||
\begin{wide}
|
||||
\begin{itemize}
|
||||
\item \textbf{Configurer Zram pour améliorer la gestion de la mémoire} :
|
||||
Pour activer la compression de la mémoire avec Zram, éditez le fichier de configuration \texttt{/etc/systemd/zram-generator.conf} comme suit :
|
||||
\begin{itemize}[<+->]
|
||||
\item Pour activer la compression de la mémoire avec Zram, éditez le fichier de configuration \texttt{/etc/systemd/zram-generator.conf} comme suit :
|
||||
\begin{block}{}
|
||||
\texttt{[zram0]} \\
|
||||
\texttt{zram-size = ram / 2} \\
|
||||
\texttt{compression-algorithm = zstd}
|
||||
\end{block}
|
||||
\item Ces paramètres réservent la moitié de la RAM physique pour les pages compressées en mémoire, augmentant la capacité de mémoire disponible sans recourir à la pagination sur le disque (\textit{swap}). L'algorithme \texttt{zstd} offre un bon équilibre entre vitesse et taux de compression.
|
||||
\item \command{systemctl enable systemd-zram-setup@zram0} : Configure le service Zram pour qu'il démarre automatiquement au démarrage.
|
||||
\end{itemize}
|
||||
\end{wide}
|
||||
\end{frame}
|
||||
|
||||
\section{Horloge et fuseau horaire}
|
||||
\section{Configurations importantes}
|
||||
|
||||
\begin{frame} \frametitle{Horloge et fuseau horaire}
|
||||
\begin{wide}
|
||||
\begin{itemize}
|
||||
\begin{itemize}[<+->]
|
||||
\item \command{ln -sf /usr/share/zoneinfo/Canada/Atlantic /etc/localtime} : Configure le fuseau horaire du Canada atlantique.
|
||||
\item \command{systemctl enable systemd-timesyncd} : Configure le service de synchronisation périodique de l'horloge fourni par systemd pour qu'il démarre automatiquement au démarrage.
|
||||
\item \command{systemctl enable systemd-timesyncd} : Active le service de synchronisation périodique de l'horloge fourni par systemd pour qu'il démarre automatiquement au démarrage.
|
||||
\end{itemize}
|
||||
\end{wide}
|
||||
\end{frame}
|
||||
|
||||
\section{Langue du système}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Langue du système}
|
||||
\begin{wide}
|
||||
\begin{itemize}
|
||||
\item \textbf{Activer la locale en\_CA.UTF-8 pour le système} :
|
||||
Pour configurer la langue du système à l'anglais canadien, modifiez le fichier de configuration \texttt{/etc/locale.gen} comme suit :
|
||||
\begin{itemize}[<+->]
|
||||
\item Pour configurer la langue du système à l'anglais canadien, modifiez le fichier de configuration \texttt{/etc/locale.gen} comme suit :
|
||||
\begin{block}{}
|
||||
\texttt{\#en\_CA.UTF-8 UTF-8} \quad \text{(Décommentez cette ligne)}
|
||||
\end{block}
|
||||
\item \command{locale-gen} : Génère les locales sélectionnées pour le système.
|
||||
\item \textbf{Définir la locale par défaut} :
|
||||
Ensuite, configurez la locale système par défaut dans le fichier \texttt{/etc/locale.conf} :
|
||||
\item Ensuite, configurez la locale système par défaut dans le fichier \texttt{/etc/locale.conf} :
|
||||
\begin{block}{}
|
||||
\texttt{LANG=en\_CA.UTF-8}
|
||||
\end{block}
|
||||
@@ -476,18 +488,14 @@ version={4.0},
|
||||
\end{wide}
|
||||
\end{frame}
|
||||
|
||||
\section{Fichier hosts et hostname}
|
||||
|
||||
\begin{frame} \frametitle{Fichier hosts et hostname}
|
||||
\begin{wide}
|
||||
\begin{itemize}
|
||||
\item \textbf{Définir le nom d'hôte du système} :
|
||||
Pour configurer le nom d'hôte, éditez le fichier \texttt{/etc/hostname} et insérez le nom d'hôte de votre choix :
|
||||
\begin{itemize}[<+->]
|
||||
\item Pour configurer le nom d'hôte (nom de la machine), éditez le fichier \texttt{/etc/hostname} et insérez le nom d'hôte de votre choix :
|
||||
\begin{block}{}
|
||||
\texttt{<nom\_hote\_choisi>}
|
||||
\end{block}
|
||||
\item \textbf{Configurer les entrées locales dans \texttt{/etc/hosts}} :
|
||||
Ensuite, mettez à jour \texttt{/etc/hosts}. Remplacez \texttt{<nom\_hote\_choisi>} par votre nom d'hôte choisi :
|
||||
\item Ensuite, mettez à jour \texttt{/etc/hosts}. Remplacez \texttt{<nom\_hote\_choisi>} par votre nom d'hôte choisi :
|
||||
\begin{block}{}
|
||||
\texttt{127.0.0.1 \quad localhost} \\
|
||||
\texttt{127.0.1.1 \quad <nom\_hote\_choisi>} \\
|
||||
@@ -503,11 +511,10 @@ version={4.0},
|
||||
\begin{frame}
|
||||
\frametitle{Comptes utilisateurs}
|
||||
\begin{wide}
|
||||
\begin{itemize}
|
||||
\begin{itemize}[<+->]
|
||||
\item \command{useradd -m -g users <nom\_utilisateur>} : Crée un nouveau compte utilisateur. Remplacez \texttt{<nom\_utilisateur>} par le nom d'utilisateur de votre choix.
|
||||
\item \command{usermod -G wheel <nom\_utilisateur>} : Ajoute le nouveau compte utilisateur au group \texttt{wheel} qui permettera à l'utilisateur d'utiliser la commande \texttt{sudo}.
|
||||
\item \textbf{Configurer les privilèges sudo} :
|
||||
Pour permettre aux membres du groupe \texttt{wheel} d'utiliser \texttt{sudo}, éditez \texttt{/etc/sudoers} comme suit :
|
||||
\item Pour permettre aux membres du groupe \texttt{wheel} d'utiliser \texttt{sudo}, éditez \texttt{/etc/sudoers} comme suit :
|
||||
\begin{block}{}
|
||||
\texttt{\# \%wheel ALL=(ALL) ALL} \quad \text{(Décommentez cette ligne)}
|
||||
\end{block}
|
||||
@@ -522,7 +529,7 @@ version={4.0},
|
||||
\begin{frame}
|
||||
\frametitle{Arch User Repository (AUR)}
|
||||
\begin{wide}
|
||||
\begin{itemize}
|
||||
\begin{itemize}[<+->]
|
||||
\item L'Arch User Repository (AUR) est un dépôt communautaire pour Arch Linux qui permet le partage et l'accès à des paquets créés par les utilisateurs, étendant l'offre logicielle au-delà des dépôts officiels.
|
||||
\item Cela fait d'Arch Linux la distribution en existance avec le plus grand nombre de paquets disponibles, et ce, de manière très accessible par rapport à d'autres distributions (par ex. PPA sur Ubuntu).
|
||||
\item \command{su <nom\_utilisateur>} : Entrer dans le compte utilisateur non privilégié.
|
||||
@@ -537,7 +544,17 @@ version={4.0},
|
||||
|
||||
\section{Installation d'un bureau graphique}
|
||||
|
||||
\begin{frame} \frametitle{KDE}
|
||||
\begin{frame} \frametitle{Terminologie}
|
||||
\begin{wide}
|
||||
\begin{itemize}[<+->]
|
||||
\item \textbf{Display Manager (Gestionnaire d'affichage)} : C'est le logiciel qui gère l'écran de connexion et l'authentification des utilisateurs, lançant ensuite l'environnement de bureau choisi. Exemples : GDM, LightDM.
|
||||
\item \textbf{Window Manager (Gestionnaire de fenêtres)} : Il gère le positionnement et l'apparence des fenêtres sur l'écran, permettant des actions comme minimiser ou redimensionner. Exemples : KWin, Mutter.
|
||||
\item \textbf{Desktop Environment (Environnement de bureau)} : C'est un ensemble intégré d'applications et d'outils qui fournit une interface utilisateur graphique complète, comprenant un gestionnaire de fenêtres et des applications de base. Exemples : KDE Plasma, GNOME.
|
||||
\end{itemize}
|
||||
\end{wide}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame} \frametitle{KDE Plasma}
|
||||
\begin{wide}
|
||||
\centering
|
||||
\includegraphics[height=6.1cm]{media/kde.jpg}
|
||||
@@ -609,4 +626,50 @@ version={4.0},
|
||||
\end{wide}
|
||||
\end{frame}
|
||||
|
||||
\section{Extras}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Mise à jour du système}
|
||||
\begin{wide}
|
||||
\begin{itemize}[<+->]
|
||||
\item Pour synchroniser la base de données des paquets et mettre à jour l'ensemble du système à partir des dépôts officiels, exécutez :
|
||||
\begin{itemize}
|
||||
\item \command{sudo pacman -Syu}
|
||||
\end{itemize}
|
||||
\item Si vous avez installé des paquets du AUR, vous pouvez mettre à jour tous les paquets (officiels et AUR) avec :
|
||||
\begin{itemize}
|
||||
\item \command{sudo yay -Syu}
|
||||
\end{itemize}
|
||||
\item Si le paquel \texttt{linux} a été mis à jour, il est recommandé de redémarrer le système, mais cela est optionnel.
|
||||
\item Ces commandes garantissent que vous disposez des dernières versions, bénéficiant ainsi des correctifs de sécurité et des améliorations récentes.
|
||||
\item Il est recommandé de réaliser cette opération régulièrement afin de maintenir un système stable, sécurisé et performant.
|
||||
\end{itemize}
|
||||
\end{wide}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Configuration d'un serveur SSH}
|
||||
\begin{wide}
|
||||
\begin{itemize}[<+->]
|
||||
\item Installez le paquet OpenSSH afin d'installer le service SSH :
|
||||
\begin{itemize}
|
||||
\item \command{sudo pacman -S openssh}
|
||||
\end{itemize}
|
||||
\item Activez et démarrez le service SSH pour qu'il se lance automatiquement au démarrage :
|
||||
\begin{itemize}
|
||||
\item \command{systemctl enable sshd}
|
||||
\item \command{systemctl start sshd}
|
||||
\end{itemize}
|
||||
\item Vérifiez que le service fonctionne correctement avec :
|
||||
\begin{itemize}
|
||||
\item \command{systemctl status sshd}
|
||||
\end{itemize}
|
||||
\item Par la suite, pour se connecter en SSH \textbf{depuis une autre machine}, utilisez :
|
||||
\begin{itemize}
|
||||
\item \command{ssh nom\_utilisateur@adresse\_ip}
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{wide}
|
||||
\end{frame}
|
||||
|
||||
\end{document}
|
||||
|
||||
Reference in New Issue
Block a user