Installation d'Arch Linux
1. Vérification de signature
Il est recommandé de vérifier la signature de l'image avant de l'utiliser, surtout si vous la téléchargez depuis un miroir HTTP, où les téléchargements sont sujets à interception pour fournir des images malveillantes.
Sur un système avec GnuPG installé, téléchargez la signature PGP de l'ISO dans le répertoire ISO et vérifiez-la avec:
$ gpg --keyserver-options auto-key-retrieve --verify archlinux-version-x86_64.iso.sig
Alternativement, à partir d'une installation existante d'Arch Linux, exécutez:
$ pacman-key -v archlinux-version-x86_64.iso.sig
2. Configuration initiale
Pour commencer, nous devons définir la langue du clavier, la langue par défaut sans entrer la commande est US
. Les dispositions disponibles peuvent être répertoriées avec:
# ls /usr/share/kbd/keymaps/**/*.map.gz
définir la langue de notre clavier avec la commande:
# loadkeys it
Les caractères de la console se trouvent dans /usr/share/kbd/consolefonts/ et peuvent également être définis avec setfont. Par exemple, pour utiliser l'un des plus grands caractères adaptés aux affichages HiDPI, exécutez:
# setfont ter-132b
3. Connexion Internet
Si vous avez connecté la machine à Internet via un câble ou une machine virtuelle, vous pouvez vérifier votre adresse IP acquise à l'aide de cette commande:
# ip a
La connexion peut être testée avec une commande de test ping:
# ping -c 3 archlinux.org
Connectez-vous au réseau Wi-Fi en utilisant l'outil iwctl:
# iwctl
Démarrer iwctl# device list
Trouver le nom de votre appareil, par exemple wlan0# station wlan0 scan
Rechercher les réseaux sans fil disponibles# station wlan0 get-networks
Obtenez la liste des réseaux# station wlan0
connect yournetworkname Connection à votre réseau# exit
Si dans le cas où nos appareils sont désactivés et que nous ne pouvons pas exécuter ** iwctl **:
# rfkill list
Vérification du statut bloqué ou débloqué des appareils# rfkill unblock all
Débloquez tous nos appareils bloqués# systemctl restart iwd
Redémarrez le service iwd
Réessayez # iwctl
et procédez comme ci-dessus.
4. Préparation de disque
Bios-MBR
Partitionnement
Identifiez votre disque pour connaître la convention de nommage à utiliser. Par exemple, dans le cas d'un SSD / dev / sda ou dans le cas d'un M.2 /dev/nvme0n1 et, enfin, le disque virtuel /dev/vda.
# lsblk -l
Une fois le nom de notre disque identifié, utilisez cfdisk, ici nous supposerons avoir /dev/sda. On peut vous demander le type de table de partitionnement si le disque est brut. Dans ce cas, sélectionnez DOS :
# cfdisk /dev/sda
Créez les partitions nécessaires pour l'installation de base, en supposant que nous avons un SSD 128 GiB :
# 4 GiB
Créez une partition pour le swap et sélectionnez le type de partition swap# 124 GiB
Créez la partition Root# write (yes)
etquit
Écrire les modifications et quitter
Formatage des partitions
# mkswap /dev/sda1
Partition swap# mkfs.ext4 /dev/sda2
Partition Root en EXT4
Montage des partitions
# mount /dev/sda2 /mnt
Monter la partition root# swapon /dev/sda1
Monter la partition swap
UEFI ext4
Partitionnement de disque
Identifiez votre disque pour connaître la convention de nommage à utiliser. Par exemple, dans le cas d'un SSD /dev/sda ou dans le cas d'un M.2 /dev/nvme0n1 et, enfin, le Disque virtuel /dev/vda.
# lsblk -l
En supposant que nous avons un SSD 128 GiB et que nous utiliserons un partitionnement GPT pour l'installation UEFI :
# cfdisk /dev/sda
# 512 Mib
Créez une partition EFI et sélectionnez le type de partition système EFI# 4 GiB
Créez une partition pour le swap et sélectionnez le type de partition swap# 23,5 GiB
Créez la partition Root# 100 GiB
Créez la partition Home# write (yes)
etquit
Écrire les modifications et quitter
Formatage des partitions
# mkfs.vfat -F32 /dev/sda1
Partition système EFI en FAT32 pour le boot# mkswap /dev/sda2
Partition swap# mkfs.ext4 /dev/sda3
Partition root en EXT4# mkfs.ext4 /dev/sda4
Partition home en EXT4
Montage des partitions
# mount /dev/sda3 /mnt
Monter la partition root# mkdir -p /mnt/{home,boot}
Créer des répertoires /home et /boot# mount /dev/sda4 /mnt/home
Monter la partition home# mount /dev/sda1 /mnt/boot
Monter la partition boot# swapon /dev/sda2
Monter la partition swap
UEFI btrfs
Partitionnement de disque
Identifiez votre disque pour connaître la convention de nommage à utiliser. Par exemple, dans le cas d'un SSD /dev/sda ou dans le cas d'un M.2 /dev/nvme0n1 et, enfin, le Disque virtuel /dev/vda.
# lsblk -l
En supposant que nous avons un SSD 128 GiB et que nous utiliserons un partitionnement GPT pour l'installation UEFI :
# cfdisk /dev/sda
# 512 Mib
Créez une partition EFI et sélectionnez le type de partition système EFI# 27,5 GiB
Créez la partition Root# 100 GiB
Créez la partition Home# write (yes)
etquit
Écrire les modifications et quitter
Formatage des partitions
# mkfs.vfat -F32 /dev/sda1
Partition système EFI en FAT32 pour le boot# mkfs.btrfs /dev/sda2
Partition root en BTRFS# mkfs.btrfs /dev/sda3
Partition home en BTRFS
Montage des partitions
Créer des sous-volumes @ et @home:
-
# mount /dev/sda2 /mnt
-
# btrfs su cr /mnt/@
-
# umount /mnt
-
# mount /dev/sda3 /mnt
-
# btrfs su cr /mnt/@home
-
# umount /mnt
-
# mount -o noatime,ssd,space_cache=v2,compress=zstd,discard=async,subvol=@ /dev/sda2 /mnt
-
# mkdir -p /mnt/{home,boot}
Créer des répertoires /home et /boot # mount /dev/sda1 /mnt/boot
# mount -o noatime,ssd,space_cache=v2,compress=zstd,discard=async,subvol=@home /dev/sda3 /mnt/home
UEFI lvm-ext4
Partitionnement de disque
Identifiez votre disque pour connaître la convention de nommage à utiliser. Par exemple, dans le cas d'un SSD /dev/sda ou dans le cas d'un M.2 /dev/nvme0n1 et, enfin, le Disque virtuel /dev/vda.
# lsblk -l
En supposant que nous avons 3 disques de 128 GiB pour LVM: sda sdb sdc utilisez cfdisk un par un :
# cfdifk /dev/sda
# 512 Mib
Créez une partition EFI et sélectionnez le type de partition système EFI# 127,5 GiB
Créez une partition et sélectionnez le type LVM# write (yes)
etquit
Écrire les modifications et quitter
# cfdifk /dev/sdb
# 128 GiB
Créez une partition et sélectionnez le type LVM# write (yes)
etquit
Écrire les modifications et quitter
# cfdifk /dev/sdc
# 128 GiB
Créez une partition et sélectionnez le type LVM# write (yes)
etquit
Écrire les modifications et quitter
Pour créer des partitions sous LVM, il nous faut d'abord créer un volume physique :
Créer un volume physique
# pvcreate /dev/sda2 /dev/sdb1 /dev/sdc1
Créer un groupe de volumes
Créez et étendez votre groupe de volumes ; vous devez créer un groupe de volumes sur un ou plusieurs volumes physiques # vgcreate group_volume physical_volume
par exemple :
# vgcreate lvm /dev/sda2 /dev/sdb1 /dev/sdc1
Cette commande configura tout d'abord les trois partitions comme volumes physiques (si nécessaire), puis crée le groupe de volumes avec les trois volumes. La commande vous alertera si elle détecte un système de fichiers existant sur l'un ou l'autre des périphériques.
Créer des volumes logiques
Créez des volumes logiques, pour une configuration de base, il nous faudrait chacun pour root, swap et home.
# lvcreate -L 120G lvm -n root
# lvcreate -L 8G lvm -n swap
# lvcreate -l 100%FREE lvm -n home
Formatage des partitions
# mkfs.vfat -F32 /dev/sda1
Partition système EFI en FAT32 pour le boot# mkfs.ext4 /dev/lvm/root
# mkfs.ext4 /dev/lvm/home
# mkswap /dev/lvm/swap
Montage des partitions
# mount /dev/lvm/root /mnt
Monter la partition root# mkdir -p /mnt/{home,boot}
Créer des répertoires /home et /boot# mount /dev/lvm/home /mnt/home
# mount /dev/sda1 /mnt/boot
# swapon /dev/lvm/swap
Étendre un groupe LVM
Si à l'avenir vous souhaitez ajouter un nouveau volume physique au groupe, consultez quelle commande utiliser, en supposant un quatrième disque sdd et l'avoir partitionné comme précédemment, nous étendons l'espace par exemple à /dev/lvm/home
:
# pvcreate /dev/sdd1
# vgextend lvm /dev/sdd1
# lvextend -l +100%FREE /dev/lvm/home
5. Liste de Miroirs
Enregistrez la liste de miroirs pour les dépôts dans /etc/pacman.d/mirrorlist en utilisant l'outil reflector, en spécifiant le pays pour synchroniser les serveurs, par exemple it. Plusieurs pays peuvent être ajoutés en utilisant une virgule, par exemple it,us:
# reflector --verbose -c it -a 12 --sort rate --save /etc/pacman.d/mirrorlist
6. Pacstrap
Installer le noyau linux et les paquets de base pour créer notre système Arch, ajouter également un éditeur tel que vim. Si vous suivez l'installation pour lvm, ajoutez le paquet lvm2
à la commande suivante :
# pacstrap -K /mnt base base-devel linux linux-firmware vim
7. Générer Fstab
Le fichier /etc/fstab vous permet de contrôler les systèmes de fichiers qui sont montés sur votre système Linux lors du démarrage, y compris les partitions Windows et les partages réseau :
# genfstab -U /mnt > /mnt/etc/fstab
8. Chroot
Entrez dans le chroot et configurez les étapes suivantes : Configuration de l'heure locale, de l'horloge système, de la langue, des mappages de clavier, de localhost, du mot de passe Root, de la création de l'utilisateur et de son mot de passe.
Entrez dans le chroot :
# arch-chroot /mnt
Fuseau horaire
# ln -sf /usr/share/zoneinfo/Europe/Italy /etc/localtime
# hwclock --systohc
Localisation
# echo "it_IT.UTF-8 UTF-8" >> /etc/locale.gen
# locale-gen
# echo "LANG=it_IT.UTF-8" >> /etc/locale.conf
# echo "KEYMAP=it" >> /etc/vconsole.conf
Nom d'hôte et Hosts
# echo "NOMDEVOTREAMACHINE" > /etc/hostname
# echo "127.0.0.1 localhost" >> /etc/hosts
# echo "::1 localhost" >> /etc/hosts
Utilisateur et Root
Configurez le mot de passe Root, faites attention !
# passwd
Configurez un nouvel utilisateur en minuscules, en créant le répertoire /home/USERNAME
avec -m
, le groupe wheel
avec -G
et le shell avec -s
:
# useradd -mG wheel -s /bin/bash USERNAME
Configurez le nom réel (qui apparaît en graphique avec une majuscule en début de nom par exemple "Alessio")
# usermod -c 'NOMRÉEL' USERNAME
Configurez un mot de passe pour le nouvel utilisateur ajouté, faites attention !
# passwd USERNAME
Configurez le fichier sudoers pour le groupe wheel :
# echo "USERNAME ALL=(ALL:ALL) ALL" >> /etc/sudoers.d/USERNAME
mkinitcpio pour LVM
ajouter lvm2 aux hooks dans /etc/mkinitcpio.conf
HOOKS="base udev ... block lvm2 filesystems"
puis utilisez la commande :
# mkinitcpio -p linux
9. Chargeur de démarrage
GRUB (BIOS-MBR)
# pacman -S grub
# grub-install --target=i386-pc /dev/sda
# grub-mkconfig -o /boot/grub/grub.cfg
GRUB (UEFI)
# pacman -S grub
# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
# grub-mkconfig -o /boot/grub/grub.cfg
GRUB prend en charge entièrement le démarrage sécurisé en utilisant des clés CA ou shim, cependant, la commande d'installation diffère selon celle que vous avez l'intention d'utiliser.
Pour utiliser des clés CA, la commande est :
# grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=GRUB --modules="tpm" --disable-shim-lock
Pour utiliser shim-lock, la commande est :
# grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=GRUB --modules="normal test efi_gop efi_uga search echo linux all_video gfxmenu gfxterm_background gfxterm_menu gfxterm loadenv configfile tpm"
Systemd-boot (EXT4)
# pacman -S efibootmgr
# bootctl --path=/boot install
# echo "default arch-*" >> /boot/loader/loader.conf
# vim /boot/loader/entries/arch.conf
Maintenant, créez la configuration du fichier arch.conf ouvert avec vim, il est important d'écrire la partition boot racine correcte telle que root=/dev/sdax
où x
est le numéro de la partition racine.
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=/dev/sdax rw quiet loglevel=3 rd.systemd.show_status=auto rd.udev.log_level=3
Systemd-boot (BTRFS)
# pacman -S efibootmgr
# bootctl --path=/boot install
# echo "default arch-*" >> /boot/loader/loader.conf
# vim /boot/loader/entries/arch.conf
Maintenant, créez la configuration du fichier arch.conf ouvert avec vim, il est important d'écrire la partition boot racine correcte telle que root=/dev/sdax
où x
est le numéro de la partition root, ajoutez le drapeau pour le sous-volume @.
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=/dev/sdax rootflags=subvol=@ rw quiet loglevel=3 rd.systemd.show_status=auto rd.udev.log_level=3
Systemd-boot (LVM)
# pacman -S efibootmgr
# bootctl --path=/boot install
# echo "default arch-*" >> /boot/loader/loader.conf
# vim /boot/loader/entries/arch.conf
Maintenant, créez la configuration du fichier arch.conf ouvert avec vim, il est important d'écrire la partition boot racine correcte telle que pour lvm root=/dev/mapper/lvm-root
title Arch Linux (LVM)
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=/dev/mapper/lvm-root rw quiet loglevel=3 rd.systemd.show_status=auto rd.udev.log_level=3
10. Paquets de base
# pacman -S xorg wpa_supplicant wireless_tools netctl net-tools iw networkmanager alsa-utils pipewire-pulse mtools dosfstools mtools ntfs-3g f2fs-tools dosfstools exfatprogs fuse firewalld acpi cronie git reflector bluez bluez-utils cups reflector
11. Environnement de bureau
Choisissez parmi les environnements de bureau populaires suggérés :
Gnome
Gnome complet avec le gestionnaire d'affichage GDM
# pacman -S gnome gnome-extra gdm
# systemctl enable gdm
Xfce4
xfce4 avec le gestionnaire d'affichage Lightdm
# pacman -S xfce4 xfce4-goodies lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings
# systemctl enable lightdm
Lxde
lxde avec le gestionnaire d'affichage Lightdm
# pacman -S lxde lxde-common lxsession openbox
# systemctl enable lightdm
Mate
mate avec le gestionnaire d'affichage Lightdm
# pacman -S mate mate-extra
# systemctl enable lightdm
Plasma
plasma kde avec le gestionnaire d'affichage SDDM
# pacman -S plasma kde-applications sddm
# systemctl enable sddm
Cinnamon
cinnamon avec le gestionnaire d'affichage Lightdm
# pacman -S cinnamon nemo-fileroller gnome-terminal lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings xdg-user-dirs-gtk
# systemctl enable lightdm
12. Services
Si vous avez activé le service pour le gestionnaire d'affichage, vous pouvez passer à l'activation des autres services nécessaires.
# systemctl enable NetworkManager
Soyez prudent, il est sensible à la casse.# systemctl enable bluetooth
# systemctl enable reflector
# systemctl enable cronie
# systemctl enable firewalld
13. Zram
L'exemple suivant décrit comment configurer le swapping automatique vers zram au démarrage en utilisant une seule règle udev. Aucun paquet supplémentaire ne devrait être nécessaire pour que cela fonctionne.
Chargez explicitement le module au démarrage :
-
# vim /etc/modules-load.d/zram.conf
-
zram
Créez la règle udev suivante en ajustant l'attribut disksize selon la taille de la swap, dans cet exemple, c'est 16G:
-
# vim /etc/udev/rules.d/99-zram.rules
-
ACTION=="add", KERNEL=="zram0", ATTR{comp_algorithm}="zstd", ATTR{disksize}="16G", RUN="/usr/bin/mkswap -U clear /dev/%k", TAG+="systemd"
Ajoutez /dev/zram à votre fstab avec une priorité supérieure à la valeur par défaut :
-
# vim /etc/fstab
-
/dev/zram0 none swap defaults,pri=100 0 0
Creata: August 16, 2023