Installation de Arch Linux Chiffrée

Posted on

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 networkmanager 
systemctl 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 -Syu 

sudo pacman -S gdm gnome gnome-software fwupd gnome-tweaks gnome-shell gnome-shell-extensions gnome-shell-extension-appindicator power-profiles-daemon cpupower qt6-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
Editer  /etc/systemd/zram-generator.conf
[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.img
initrd /initramfs-linux.img options cryptdevice=UUID=bc3d129e-40e3-4278-bd60-b2e41b88027f:cryptlvm root=/dev/volume/root rw quiet splash lsm=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  😊

One Reply to “Installation de Arch Linux Chiffrée”

Répondre à Rico Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *