\documentclass[aspectratio=169]{beamer} \makeatletter \appto\input@path{{libs/awesome-beamer}, {libs/smile}} \makeatother \usepackage{fontspec} \setmonofont[ Path = ./fonts/, Scale = .9, Extension = .ttf, Contextuals=Alternate, BoldFont={*-Bold}, UprightFont={*-Regular}, ]{Fira Code} \renewcommand\setmonofont[2][]{} \usepackage[french]{babel} \usepackage[ type={CC}, modifier={by-nc-sa}, version={4.0}, ]{doclicense} \definecolor{base-color}{HTML}{1793d1} \usetheme[english, color, coloraccent=base-color, secslide]{awesome} \usepackage{minted} \usepackage[usenames,dvipsnames]{xcolor} \hypersetup{ colorlinks=true, linkcolor=black, filecolor=black, urlcolor=ForestGreen, citecolor=black, } \setlength{\fboxsep}{1pt} \newcommand{\keystroke}[1]{\colorbox{darkgray}{\fbox{\strut\kern0.1em\color{white}\texttt{#1}\kern0.1em}}} \newcommand{\keycombo}[2]{% \keystroke{#1}% \kern 0.1em% \texttt{+}% \kern 0.1em% \keystroke{#2}} \newcommand{\command}[1]{\texttt{\textcolor{blue}{\$\,#1}}} \usepackage{pgfpages} \usepackage{everypage} \ifdefined\printlandscape \pgfpagesuselayout{4 on 1}[letterpaper, border shrink=1mm, landscape] \AddEverypageHook{ \begin{tikzpicture}[remember picture, overlay] \draw[ultra thick] (current page.north west) rectangle (current page.south east); \end{tikzpicture} } \fi \ifdefined\printportrait \pgfpagesuselayout{8 on 1}[letterpaper, border shrink=1mm] \AddEverypageHook{ \begin{tikzpicture}[remember picture, overlay] \draw[ultra thick] (current page.north west) rectangle (current page.south east); \end{tikzpicture} } \fi \title[]{Séminaire d'Installation d'Arch Linux} \subtitle{Département d'informatique} \author{Eric Hervet et Andy Couturier} \email{} \institute{Département d'informatique} \uni{Université de Moncton} \location{Université de Moncton} \background{background.jpg} \date{27 novembre 2024} \begin{document} \maketitle \begin{frame} \begin{wide} \centering \doclicenseImage[imagewidth=5cm] \vspace{1.5em} \LARGE\textbf{\doclicenseLongText} \end{wide} \end{frame} \section{Support d'installation} \begin{frame} \frametitle{Support d'installation} \begin{wide} \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/}. \item Choisissez un serveur Canadien dans la liste et cliquez sur son lien. \item Via la page d'index du serveur, téléchargez le fichier ISO qui aura un nom comme~: \texttt{archlinux-20XX.XX.01-x86\_64.iso}. \end{enumerate} \item Si vous êtes déjà sur Linux~: \begin{enumerate} \item Ouvrez un terminal. \item Branchez la clé USB qui servira de support d'installation. \item \command{sudo dmesg} pour identifier le code \texttt{sdX} de la clé USB. \item Placez vous dans le répertoire où se trouve l'ISO en utilisant \texttt{cd}. \item \command{sudo dd bs=32M if=archlinux-20XX.XX.01-x86\_64.iso of=/dev/sdX conv=fsync oflag=direct status=progress} \end{enumerate} \item Si vous êtes sur Windows (nos sincères sympathies)~: Vous pouvez utiliser \href{https://rufus.ie/en/}{Rufus}. \end{itemize} \end{wide} \end{frame} \section{Partitionnement, formatage et montage} \begin{frame} \frametitle{Table de Partitionnement} \begin{wide} \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. \end{itemize} \item \textbf{Systèmes de fichiers:} \begin{itemize} \item Chaque partition peut être formatée avec un système de fichiers spécifique, permettant de stocker et d'organiser les fichiers. \item Différents systèmes de fichiers peuvent coexister sur le même disque dans différentes partitions. \end{itemize} \end{itemize} \end{wide} \end{frame} \begin{frame} \frametitle{MBR vs GPT} \begin{wide} \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} \item \textbf{GPT (GUID Partition Table)} \begin{itemize} \item Taille maximale de disque : 9.4 ZiB. \item Supporte jusqu'à 128 partitions primaires. \item Utilise des identifiants globaux uniques (GUID) qui permettent l'identification précisent des partitions avec un identifiant \texttt{PARTUUID}. \item Plus moderne, conçu pour UEFI. \item Redondance avec deux copies de la table, une au début et une à la fin du disque. \begin{itemize} \item Inclut un hash CRC32 pour détecter la corruption de la table. \end{itemize} \end{itemize} \end{itemize} \end{wide} \end{frame} \begin{frame} \frametitle{Table de partitionnement} \begin{wide} \begin{center} \begin{tabular}{|c|l|l|c|l|} \hline \textbf{\#} & \textbf{Device} & \textbf{Mountpoint} & \textbf{Type} & \textbf{Taille} \\ \hline 1 & /dev/sdX1 & /boot (/mnt/boot) & ef00 & 1 GiB \\ \hline 2 & /dev/sdX2 & / (/mnt) & 8300 & Reste \\ \hline \end{tabular} \end{center} \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. \item Le type de partition \texttt{8300} est l'identifiant pour une partition Linux standard sous le schéma de partitionnement GPT. \item La partition racine utilisera le reste de l'espace libre du disque. \end{itemize} \end{wide} \end{frame} \begin{frame} \frametitle{Partitionnement} \begin{wide} \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{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. \item \texttt{+1G} pour choisir le secteur de fin 1~GiB après le secteur de départ. \item \texttt{ef00} pour le type de partition. \item \keystroke{n} pour créer une nouvelle partition. \item \keystroke{Enter} pour choisir la partition par défaut (2). \item \keystroke{Enter} pour choisir le secteur de départ par défaut. \item \keystroke{Enter} pour choisir le secteur de fin par défaut (fin du disque). \item \keystroke{Enter} pour choisir type de partition par défaut (\texttt{8300}). \item \keystroke{p} pour vérifier le partitionnement. \item \keystroke{w} puis \keystroke{y} pour écrire la table de partitions au disque. \end{itemize} \end{itemize} \end{wide} \end{frame} \begin{frame} \frametitle{Formatage de la partition de démarrage} \begin{wide} \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{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} \end{wide} \end{frame} \begin{frame} \frametitle{Formatage de la partition racine} \begin{wide} \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{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. \end{itemize} \end{wide} \end{frame} \begin{frame} \frametitle{Montage des partitions} \begin{wide} \begin{itemize} \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. \end{itemize} \end{wide} \end{frame} \section{Installation} \begin{frame} \frametitle{Initialisation du keyring} \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. \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. \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} \end{wide} \end{frame} \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}. Décommentez la ligne \texttt{ParallelDownloads} puis définissez sa valeur à \textbf{32} (ou un autre nombre selon vos préférences). \begin{block}{} \texttt{\#ParallelDownloads = 5} \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. \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 \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{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} \end{itemize} \end{wide} \end{frame} \begin{frame} \frametitle{Transfère des optimisations} \begin{wide} \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} \end{wide} \end{frame} \section{Chroot} \begin{frame} \frametitle{Chroot} \begin{wide} \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. \end{itemize} \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} \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}{} \texttt{default arch.conf} \\ \texttt{timeout 0} \end{block} \item Cette configuration définit le fichier \texttt{arch.conf} comme l'entrée par défaut et désactive le délai d'attente (\texttt{timeout 0}), ce qui lance immédiatement Arch Linux au démarrage. \end{itemize} \end{wide} \end{frame} \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. \item Éditer le fichier \texttt{/boot/loader/entries/arch.conf} avec le contenu suivant~:\\ \begin{block}{} \texttt{title Arch Linux} \\ \texttt{linux /vmlinuz-linux} \\ \texttt{initrd /intel-ucode.img} \\ \texttt{initrd /amd-ucode.img} \\ \texttt{initrd /initramfs-linux-fallback.img} \\ \texttt{options root=PARTUUID= rw} \end{block} \end{itemize} \end{wide} \end{frame} \begin{frame} \frametitle{Bootloader} \begin{wide} \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 /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= 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{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. \end{itemize} \end{wide} \end{frame} \section{Compression de la mémoire} \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{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} \begin{frame} \frametitle{Horloge et fuseau horaire} \begin{wide} \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. \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{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} : \begin{block}{} \texttt{LANG=en\_CA.UTF-8} \end{block} \item Ces paramètres assurent que le système utilise l'anglais canadien comme langue par défaut. Vous pouvez configurer la locale de votre choix (par ex. \texttt{fr\_CA.UTF-8}). \end{itemize} \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{block}{} \texttt{} \end{block} \item \textbf{Configurer les entrées locales dans \texttt{/etc/hosts}} : Ensuite, mettez à jour \texttt{/etc/hosts}. Remplacez \texttt{} par votre nom d'hôte choisi : \begin{block}{} \texttt{127.0.0.1 \quad localhost} \\ \texttt{127.0.1.1 \quad } \\ \texttt{::1 \quad .localdomain } \end{block} \item Ces entrées permettent de mapper le nom d'hôte à l'adresse locale, facilitant ainsi la résolution locale des noms de domaines. \end{itemize} \end{wide} \end{frame} \section{Comptes utilisateurs} \begin{frame} \frametitle{Comptes utilisateurs} \begin{wide} \begin{itemize} \item \command{useradd -m -g users } : Crée un nouveau compte utilisateur. Remplacez \texttt{} par le nom d'utilisateur de votre choix. \item \command{usermod -G wheel } : 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 : \begin{block}{} \texttt{\# \%wheel ALL=(ALL) ALL} \quad \text{(Décommentez cette ligne)} \end{block} \item \command{passwd} : Crée le mot de passe du compte \texttt{root}. \item \command{passwd } : Crée le mot de passe de l'utilisateur. \end{itemize} \end{wide} \end{frame} \section{Arch User Repository (AUR)} \begin{frame} \frametitle{Arch User Repository (AUR)} \begin{wide} \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 } : Entrer dans le compte utilisateur non privilégié. \item \command{cd} : Naviguer vers le répertoire \texttt{home} de l'utilisateur pour avoir l'accès en écriture. \item \command{git clone https://aur.archlinux.org/yay-bin.git} : Récupérer les fichiers nécessaires pour construire Yay, un gestionnaire de paquets pour l'AUR. \item \command{cd yay-bin} : Naviguer dans le répertoire contenant les fichiers. \item \command{makepkg -sri} : Construire et installer le paquet de Yay. \item \keycombo{Ctrl}{D} ou \command{exit} : Sortir du compte utilisateur non privilégié. \end{itemize} \end{wide} \end{frame} \section{Installation d'un bureau graphique} \begin{frame} \frametitle{Installation d'un bureau graphique} \begin{wide} \begin{itemize} \item \ldots \end{itemize} \end{wide} \end{frame} \section{Redémarrage} \begin{frame} \frametitle{Redémarrage} \begin{wide} \begin{itemize} \item \keycombo{Ctrl}{D} ou \command{exit} : Sortir du chroot. \item \command{umount -R /mnt} : Démonter les paritions \texttt{/mnt/boot} et \texttt{/mnt}. \item \command{reboot} : Redémarer le système. \end{itemize} \end{wide} \end{frame} \end{document}