Installation d’Arch Linux avec chiffrement complet du disque
Dans cet article, je vais partager avec vous ma façon d’installer Arch Linux avec un disque entièrement chiffré ainsi que l’installation des logiciels que j’utilise au quotidien !
Préparation
Téléchargement de l’ISO :
- Téléchargez l’ISO d’Arch Linux depuis le site officiel.
- Préparez une clé USB bootable avec l’ISO téléchargé.
Boot sur la clé USB :
-
- Démarrez votre ordinateur sur la clé USB pour accéder à l’invite de commande d’installation.
Configuration initiale
Changer le clavier en français :
loadkeys fr-latin1
Si vous n’êtes pas connecté via Ethernet, configurez le Wi-Fi :
iwctl
device list
station <nom_station> scan
station <nom_station> get-networks
station <nom_station> connect <SSID>
exit
Vérifiez la connexion :
ping www.archlinux.org
Mise à jour de l’horloge système :
timedatectl set-timezone Europe/Paris
timedatectl set-ntp true
Partitionnement
Obtenir le nom du disque au format/partition:
lsblk
Le nom devrait être quelque chose comme /dev/nvme0n1 ou /dev/sda
On supprime totalement le disque:
shred -v -n1 /dev/nvme0n1
Maintenant on va partitionner le disque en utilisant gdisk:
gdisk /dev/nvme0n1
La partition 1 doit être une partition de démarrage EFI de 1GO
Taper n pour créer une partition
Partition number 1
Pour le 1er secteur on valide par default
Pour le dernier +1G
Hex code ef00
La partition 2 devrait être une partition Linux LVM et l’on fixe sa taille avec le reste disponible.
Taper n pour créer une partition
Partition number 2
1er secteur on valide par default
Ensuite on sélectionne le dernier secteur maximum
hex code 8e00
On écrit les modifications en tapant w.
Une fois partitionnée, vous pouvez formater la partition de démarrage
mkfs.fat -F32 /dev/nvme0n1p1
Chiffrement
On utilise modprobe pour dm-crypt
modprobe dm-crypt
Maintenant, chiffrez le disque:
cryptsetup luksFormat /dev/nvme0n1p2
Ouvrez le disque avec le mot de passe défini ci-dessus:
cryptsetup open --type luks /dev/nvme0n1p2 cryptlvm
Vérifiez que le disque LVM existe :
ls /dev/mapper/cryptlvm
Créer un volume physique :
pvcreate /dev/mapper/cryptlvm
Créer un groupe de volume:
vgcreate volume /dev/mapper/cryptlvm
Créer des partitions logiques:
lvcreate -L70G volume -n root
lvcreate -l 100%FREE volume -n home
Formater le système de fichiers sur les partitions logiques:
mkfs.ext4 /dev/volume/root
mkfs.ext4 /dev/volume/home
Montez les volumes et les systèmes de fichiers :
mount /dev/volume/root /mnt
mkdir /mnt/home
mkdir /mnt/boot
mount /dev/volume/home /mnt/home
mount /dev/nvme0n1p1 /mnt/boot
Installation du système
Installer les paquets de base :
pacstrap -K /mnt base base-devel lvm2 linux linux-firmware sudo nano
Générer le fichier Fstab :
genfstab -U /mnt >> /mnt/etc/fstab
Entrer dans le système installé :
arch-chroot /mnt
Configurer la timezone et l’horloge :
ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
hwclock --systohc
timedatectl set-ntp true
Configurez les locales :
Éditez /etc/locale.gen et dé commentez fr_FR.UTF-8 UTF-8.
Générez les locales :
locale-gen
Ajoutez LANG=fr_FR.UTF-8 dans /etc/locale.conf en créant le fichier
Configurer le clavier :
echo KEYMAP=fr > /etc/vconsole.conf
Définir le nom de la machine :
Éditez /etc/hostname et choisissez un nom.
Modifier le fichier /etc/hosts en :
127.0.0.1 localhost
::1 localhost
127.0.1.1 nomutilisateur.localdomain nomutilisateur
Créer un utilisateur avec droits administrateur:
useradd -m -G wheel -s /bin/bash nom_utilisateur
passwd nom_utilisateur
Configurer SUDO :
Editez /etc/sudoers et dé commentez la ligne suivante :%wheel ALL=(ALL:ALL) ALL
Exporter quelques variables :
export USER=username # Replace username with the name for your new user
export HOST=hostname # Replace hostname with the name for your host
export TZ="Europe/London" # Replace Europe/London with your Region/City
Configuration du bootloader
Dans le fichier /etc/mkinitcpio.conf Recherchez la variable HOOKS et mettez-la à jour pour ressembler à:
HOOKS=(base udev autodetect keyboard keymap modconf block encrypt lvm2 filesystems fsck)
Régénérer initramfs:
mkinitcpio -p linux
Installer le bootloader:
bootctl --path=/boot/ install
Résolution faille bootctl security hole dans étapes suivantes 🙂
Modifier le fichier /boot/loader/loader.conf
default arch.conf
timeout 3
editor 0
Ensuite, créez un fichier de configuration pour le bootloader dans /boot/loader/entries/arch.conf
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options cryptdevice=UUID={UUID}:cryptlvm root=/dev/volume/root quiet rw
Pour récuperer l’UUID exécuter la commande suivante:
blkid
Et récuperez l’UUID Du nvme0n1p2 ou sda2
Installer et activer NetworkManager :
pacman -S networkmanagersystemctl enable NetworkManager
Quitter chroot et tout démonter:
exit
umount -R /mnt
Enfin on Redémarre :
reboot
Configuration post-installation
Connexion Wi-Fi (si nécessaire) :
nmcli radio wifi on
nmcli device wifi list
nmcli --ask dev wifi connect SSID
! Résolution faille bootctl pour restreindre en root les droits à /boot :
On édite /etc/fstab et on change les valeurs umask et dmask en 0077
On reboot et c’est ok!
Installer GNOME :
sudo pacman -Syusudo pacman -S gdm gnomegnome-software fwupdgnome-tweaks gnome-shell gnome-shell-extensions gnome-shell-extension-appindicator power-profiles-daemon cpupowerqt6-wayland gnome-nettool gnome-power-manager gnome-firmware fuse2fs
sudo systemctl enable gdm.service
Configurer le clavier pour GNOME :
localectl set-x11-keymap fr
Pour ceux qui préfèrent KDE :
sudo pacman -S plasma-meta kde-applications-meta
sudo systemctl enable sddm
Configuration de ZRAM :
sudo pacman -S zram-generator
[zram0]
zram-size = ram / 2
compression-algorithm = zstd
On demarre zram :
sudo systemctl daemon-reload
sudo systemctl start /dev/zram0
Et on verifie que zram est bien effectif en tapant lsblk
Activer l’autocompletion dans le terminal :
sudo pacman -S bash-completion
Activer le dépôt Multilib :
Éditez le fichier /etc/pacman.conf et decommentez au niveau du multilib comme ceci
[multilib]
Include = /etc/pacman.d/mirrorlist
Ensuite mettre à jour :
sudo pacman -Syu
Installer les pilotes graphiques :
AMD :
sudo pacman -S mesa lib32-mesa vulkan-radeon lib32-vulkan-radeon
NVIDIA :
sudo pacman -S nvidia nvidia-utils lib32-nvidia-utils
INTEL :
sudo pacman -S mesa lib32-mesa vulkan-intel lib32-vulkan-intel
Installer Plymouth pour une fenêtre de saisie de mot de passe de déchiffrement plus jolie
sudo pacman -S plymouth
plymouth-set-default-theme
Ensuite éditez le fichier /etc/mkinitcpio.conf et ajouter plymouth avant encrypt et ajouter son gpu graphique dans modules exemple pour mon gpu AMD
MODULES=(amdgpu radeon)
HOOKS=(... plymouth ...)
On en profite pour installer le microcode :
Editez le fichier /boot/loader/entries/arch.conf ajouter à la fin rw quiet splash et insérer la ligne correspondant au microcode au même emplacement qu’indiqué ci-dessous :
title Arch Linux
linux /vmlinuz-linux
initrd /amd-ucode.img
initrd /initramfs-linux.img options cryptdevice=UUID=bc3d129e-40e3-4278-bd60-b2e41b88027f:cryptlvm root=/dev/volume/root rw quiet splash
CPU AMD:
sudo pacman -S amd-ucode
CPU Intel:
sudo pacman -S intel-ucode
Régénérer initramfs:
sudo mkinitcpio -p linux
Si besoin configuration du réseau statique avec systemd-networkd
Créer un fichier /etc/systemd/network/nominterface.network
[Match]
Name=nom interface réseau
[Network]
Address=x.x.x.x/x
Gateway=x.x.x.x
DNS=x.x.x.x
Activer et démarrer le service systemd-networkd
systemctl enable systemd-networkd.service && systemctl start systemd-networkd.service
——————————————————————————————————————–
Configurer le Secure boot » mettre en mode setup mode dans le bios « :
sudo pacman -S sbctl
sudo sbctl create-keys
sudo sbctl enroll-keys -m
sudo sbctl status
sudo sbctl verify
sudo sbctl sign -s /boot/vmlinuz-linux
sudo sbctl sign -s /boot/EFI/BOOT/BOOTX64.EFI
sudo sbctl sign -s /boot/EFI/systemd/systemd-bootx64.efi
sudo sbctl verify
Redémarrer pour la prise en compte et vérifier avec
sudo sbctl status
Installation de logiciels supplémentaires
Installer yay pour accéder à l’AUR :
sudo pacman -S --needed git base-devel git clone --branch yay --single-branch https://github.com/archlinux/aur.git yay cd yay makepkg -si
Installer le support Flatpak :
sudo pacman -S flatpak
Ajouter le dépôt Flathub :
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Installer le Pare Feu UFW :
sudo pacman -S ufw
Configuration basique du Pare feu :
sudo ufw default allow outgoing
sudo ufw default deny incoming
sudo ufw logging on
sudo ufw enable
Installer outils réseau :
sudo pacman -S dnsutils net-tools nmap zmap
Installer Anti rootkit ,Antivirus et logiciels securité :
sudo pacman -S rkhunter clamav logwatch aide
Mettre à jour la base virale :
sudo freshclam
scan antivirus de la machine complete :
sudo clamscan -r /
Pour utiliser rkhunter » Antirootkits » :
sudo rkhunter --update
sudo rkhunter -c
Pour utiliser Aide « Advanced Intrusion Detection Environment » :
Initialiser la base de donnée :
sudo aide --init
AIDE n’utilisera pas ce nouveau fichier de base de données tant qu’il ne sera pas renommé en aide.db.gz :
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
AIDE est maintenant prêt à utiliser la nouvelle base de donnée :
sudo aide --check
Mettre à jour la base de donnée aide :
sudo aide --update
Installer AppArmor :
Editez le fichier /boot/loader/entries/arch.conf ajouter à la fin après rw quiet splash la ligne suivante lsm=landlock,lockdown,yama,integrity,apparmor,bpf comme indiqué ci-dessous
title Arch Linux linux /vmlinuz-linux initrd /amd-ucode.imginitrd /initramfs-linux.img options cryptdevice=UUID=bc3d129e-40e3-4278-bd60-b2e41b88027f:cryptlvm root=/dev/volume/root rw quiet splashlsm=landlock,lockdown,yama,integrity,apparmor,bpf
yay -S apparmor.d-git
systemctl enable --now apparmor.service
Activer la mise en cache pour les profils AppArmor en éditant /etc/apparmor/parser.conf
Décommenter ces lignes :
write-cache
Optimize=compress-fast
Régénérer initramfs:
sudo mkinitcpio -p linux
Verifier la sécurité de son système avec Lynis :
sudo pacman -S lynis
sudo lynis audit system
Installer une imprimante avec support WIFI
sudo pacman -S cups nss-mdns
systemctl start cups.service
systemctl start avahi-daemon.service
Installer des paquets utiles supplémentaires dont les outils de compression :
sudo pacman -S git curl rsync wget zip unzip p7zip unrar tar foliate okular thunderbird
Installer Firefox :
sudo pacman -S firefox
Installer LibreOffice en français :
sudo pacman -S libreoffice-fresh-fr
Installer des polices supplémentaires :
sudo pacman -S noto-fonts noto-fonts-extra ttf-bitstream-vera ttf-dejavu ttf-droid ttf-fira-mono ttf-liberation ttf-opensans ttf-roboto
Si vous voulez installer toutes les polices disponibles ( Environ 10 Go )
yay -S all-repository-fonts
Installer screenfetch : (afficher le logo arch et infos systeme dans l’interpreteur de commande)
sudo pacman -S fastfetch
Pour demarrer son terminal avec fastfetch editez le fichier /moncompte/.bashrc ( on renseigne fastfetch à la fin du fichier et on enregistre)
Installer Proton Vpn: ( Un bon Vpn Gratuit!)
sudo pacman -S proton-vpn-gtk-app
Activer le bluetooth si besoin :
sudo systemctl start bluetooth.service
sudo systemctl enable bluetooth.service
Installer VirtualBox :
sudo pacman -S virtualbox virtualbox-host-modules-arch
Installer Steam et gamemode :
sudo pacman -S steam gamemode
Pour utiliser gamemode une fois un jeu installé il faut aller dans les paramètres du jeu et dans option de lancement renseigner : gamemoderun %command%
Installer wine et protontricks
sudo pacman -S wine python python-pip winetricks
yay -S protontricks
Installer Showtime mon player video préféré :
sudo pacman -S showtime
Pour visualiser les miniatures des videos :
sudo pacman -S ffmpegthumbnailer
Installer les codecs multimédia
yay -S gst-libav gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gstreamer-vaapi x265 x264 lame
Installer le connecteur du navigateur vers extensions Gnome :
sudo pacman -S gnome-browser-connector
Aller sur le site Gnome extensions : https://extensions.gnome.org/
Rechercher et installer Dash to dock ou Dash to dock animated pour avoir le dock en bas fixe et autres config et on peu ensuite dans les extensions installer transparent top bar , caffeine , Astra ,Arch Linux Updates indicator , Extensions list , Search Light et autres …
Installer de belle icônes circulaires :
sudo pacman -S tela-circle-icon-theme
Aller ensuite dans programmes système et chercher le programme ajustements et aller dans apparence et icônes.On peut également y configurer les options maximiser et minimiser les fenêtres.
J’aime également utiliser le terminal kitty bien customisable :
sudo pacman -S kitty
Pour la doc de kitty : https://sw.kovidgoyal.net/kitty/
Et très important pour avoir un pacman dans la barre de progression lorsqu’on lance la commande pacman 🙂 il faut editer /etc/pacman.conf et ajouter ceci :
color
ILoveCandy
Faire une sauvegarde 🙂
Installer le logiciel timeshift de de création d’intantanés du système en cas de mauvaises manips pour revenir à un état précedent :
sudo pacman -S timeshift
L’utilisation de timeshift est simple il suffit de suivre les indications …
Si l’on a pas assez de stockage il faut formater un disque externe en ext4.
Installer le logiciel Deja DupPour faire une sauvegarde de vos dossiers persos et documents :
sudo pacman -S deja-dup
Permet d’envoyer la sauvegarde sur plein de supports : Usb , Nas , Smb ,Google-drive …
Sinon le must ,on peux faire un clonage complet du system avec rescuzilla !
Maintenance générale
Vous pouvez installer le paquet Arch-update pour effectuer les mises à jours et maintenances quotidiennes :
yay -S arch-update
systemctl --user enable --now arch-update.timer arch-update --tray --enable
Vous pouvez également effectuer la maintenance de votre système manuellement :
Installer le paquet reflector
sudo pacman -S reflector
Chercher les mirroirs les plus rapides :
sudo reflector --verbose --latest 10 --sort rate --save /etc/pacman.d/mirrorlist
Rafraîchir les dépôts :
sudo pacman -Syy
Mise à jour des paquets :
sudo pacman -Syu
Mise à jour de tous les paquets avec rafraîchissement des dépôts :
sudo pacman -Syyu && yay -Syyu && flatpak update
Nettoyer le cache de tous les paquets :
yay -Scc && sudo pacman -Scc && sudo flatpak uninstall --unused
Supprimer les paquets orphelins :
sudo pacman -Rns $(pacman -Qdtq)
Voilà, notre système Arch Linux est maintenant installé, chiffré et prêt à l’emploi 😊
Top ton tuto, merci à toi Nawre ! 🙂