🐧 Tutoriel Complet — Installation & Configuration Debian 13 (Trixie)
Laptop Gaming et Hardening
1. Installation de base
Télécharger l’ISO officielle
https://www.debian.org/index.fr.html
Télécharger l’image netinstall ou l’image complète.
Paramétrer le BIOS / UEFI
Avant de démarrer l’installation, vérifier dans le BIOS :
- UEFI activé (désactiver le mode Legacy/CSM)
- Secure Boot activé
- TPM2 activé (souvent appelé PTT sur Intel, fTPM sur AMD)
- Ordre de boot : clé USB en premier
Créer la clé USB bootable
Sur Linux :
sudo dd if=debian-*.iso of=/dev/sdX bs=4M status=progress conv=fsync
Remplacer /dev/sdX par le bon périphérique (vérifier avec lsblk).
Lancer l’installation
Démarrer sur la clé USB et lancer l’installateur Debian. Choisir Graphical Install pour plus de confort.
2. Partitionnement
Le schéma cible est le suivant :
nvme0n1p1 EFI 1 Go nvme0n1p2 /boot 2 Go (ext4, NON chiffré — nécessaire pour GRUB) nvme0n1p3 LUKS reste du disque └─ DEBvg-root 100 Go / └─ DEBvg-home reste /home
⚠️ La partition /boot (p2) doit rester non chiffrée — c’est elle qui contient GRUB et l’initramfs. Seul le reste (p3) est chiffré via LUKS.
Partition EFI
|
Paramètre |
Valeur |
|---|---|
|
Taille |
1 Go |
|
Type |
EFI System Partition |
|
Format |
FAT32 |
|
Point de montage |
/boot/efi |
Résultat : /dev/nvme0n1p1
Partition /boot
|
Paramètre |
Valeur |
|---|---|
|
Taille |
2 Go |
|
Type |
ext4 |
|
Point de montage |
/boot |
Résultat : /dev/nvme0n1p2
Partition LUKS (chiffrement)
|
Paramètre |
Valeur |
|---|---|
|
Taille |
Reste du disque |
|
Usage |
Volume physique pour chiffrement |
Résultat : /dev/nvme0n1p3
Configurer le chiffrement dans l’installateur :
- Configure encrypted volumes
- Create encrypted volumes
- Sélectionner /dev/nvme0n1p3
|
Paramètre |
Valeur |
|---|---|
|
Chiffrement |
AES |
|
Taille clé |
256 bits |
|
Type |
LUKS2 |
|
Effacement |
Oui (recommandé, 10–40 min) |
Définir une phrase de chiffrement robuste et la noter en lieu sûr.
Configurer LVM
Choisir Configure the Logical Volume Manager.
Créer un groupe de volumes nommé par exemple debian-vg
Créer les volumes logiques :
|
Nom |
Taille |
Format |
Point de montage |
|---|---|---|---|
|
root |
100 Go |
ext4 |
/ |
|
home |
Reste |
ext4 |
/home |
Continuer l’installation normalement.
3. Post-installation
Pour commencer configurer le fichier sources.list avec contrib et non-free en remplissant exactement le contenu de la sorte :
Éditer :
sudo nano /etc/apt/sources.list
Contenu :
deb http://ftp.fr.debian.org/debian/ trixie main contrib non-free non-free-firmware deb-src http://ftp.fr.debian.org/debian/ trixie main contrib non-free non-free-firmware deb http://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware deb-src http://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware deb http://ftp.fr.debian.org/debian/ trixie-updates main contrib non-free non-free-firmware deb-src http://ftp.fr.debian.org/debian/ trixie-updates main contrib non-free non-free-firmware
Première mise à jour
sudo apt update && sudo apt full-upgrade -y
4. Dépôts Backports
Créer le fichier de dépôt
sudo nano /etc/apt/sources.list.d/debian-backports.sources
Contenu :
Types: deb deb-src URIs: http://deb.debian.org/debian Suites: trixie-backports Components: main contrib non-free non-free-firmware Enabled: yes Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Mettre à jour et installer le noyau récent
sudo apt update sudo apt install -t trixie-backports linux-image-amd64 linux-headers-amd64
Redémarrer sur le nouveau noyau
sudo systemctl reboot
Vérifier :
uname -r
5. Architecture 32 bits
⚠️ À faire AVANT d’installer Mesa i386, Steam ou Wine. Sans cette étape, les paquets 32 bits ne peuvent pas être installés.
sudo dpkg --add-architecture i386 sudo apt update
6. Mesa / Vulkan / OpenCL
Pour AMD ! — Mesa, Vulkan, VA-API, OpenCL
sudo apt install -t trixie-backports \
firmware-linux firmware-linux-nonfree firmware-misc-nonfree \
firmware-amd-graphics amd64-microcode
sudo apt install -t trixie-backports \
mesa-vulkan-drivers mesa-opencl-icd \
libgl1-mesa-dri libglx-mesa0 \
mesa-va-drivers mesa-vdpau-drivers \
vulkan-tools radeontop
Libs Mesa 32 bits (nécessaire pour Steam)
Requiert l’étape §5 (architecture i386) effectuée au préalable.
sudo apt install -t trixie-backports \
libglx-mesa0:i386 \
libgl1-mesa-dri:i386 \
mesa-vulkan-drivers:i386
Vérifier le rendu OpenGL :
glxinfo | grep "OpenGL renderer"
Pour Intel ! — Mesa, Vulkan, VA-API
sudo apt install -t trixie-backports \
firmware-linux firmware-linux-nonfree firmware-misc-nonfree \
intel-microcode
sudo apt install -t trixie-backports \
mesa-vulkan-drivers intel-opencl-icd \
libgl1-mesa-dri libglx-mesa0 \
mesa-va-drivers mesa-vdpau-drivers \
vulkan-tools intel-media-driver
7. Paquets essentiels
Outils système courants
sudo apt install \ gnome-tweaks gparted curl wget cron unzip p7zip-full \ ffmpeg gnome-shell-extensions flatseal timeshift \ htop btop lm-sensors gnome-shell-extension-manager showtime
WireGuard (VPN)
sudo apt install -t trixie-backports wireguard-tools
LibreOffice récent
sudo apt remove libreoffice sudo apt install -t trixie-backports libreoffice libreoffice-l10n-fr
8. Terminal Ptyxis & Fastfetch
Installer
sudo apt install ptyxis fastfetch
Rendre le terminal Ptyxis transparent
Commande à saisir dans Ptyxis !
gsettings set org.gnome.Ptyxis.Profile:/org/gnome/Ptyxis/Profiles/$PTYXIS_PROFILE/ opacity .77
Configurer Fastfetch
Générer la configuration :
mkdir -p ~/.config/fastfetch fastfetch --gen-config
Lancer Fastfetch automatiquement à l’ouverture du terminal :
grep -qxF 'fastfetch' ~/.bashrc || echo 'fastfetch' >> ~/.bashrc
Exemple de configuration Fastfetch
Créer ou éditer ~/.config/fastfetch/config.jsonc :
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": {
"source": "debian",
"color": { "1": "green" },
"padding": { "top": 2, "left": 2 }
},
"display": { "separator": " ➜ ", "color": { "keys": "cyan", "output": "white" } },
"modules": [
"title",
"break",
{ "type": "custom", "format": " \u001b[42m\u001b[30m Mon Debian :) \u001b[0m", "key": " " },
"break",
{ "type": "os", "key": " 🐧 Système ", "format": "{3} {8}" },
{ "type": "kernel", "key": " ⚙️ Noyau ", "format": "{1} {2}" },
{ "type": "uptime", "key": " ⏱️ Activité " },
{ "type": "shell", "key": " 🐚 Shell " },
{ "type": "packages", "key": " 📦 Paquets " },
"break",
{ "type": "display", "key": " 🖥️ Écran " },
{ "type": "de", "key": " 🪟 Bureau " },
{ "type": "terminal", "key": " 📟 Terminal " },
"break",
{ "type": "host", "key": " 💻 Machine " },
{ "type": "cpu", "key": " 🧠 CPU ", "temp": true, "format": "{6} @ {7} - {8}" },
{ "type": "gpu", "key": " 🎮 GPU ", "hideType": "all", "format": "{2}" },
{ "type": "memory", "key": " 💾 Mémoire ", "format": "{1} / {2} ({3})" },
{ "type": "swap", "key": " 🔄 Swap " },
{ "type": "disk", "key": " 💽 Disque " },
"break",
{ "type": "localip", "key": " 🌐 IP v4 ", "showIpv6": false },
{ "type": "battery", "key": " 🔋 Énergie ", "format": "{4} ({5})" },
{ "type": "poweradapter", "key": " 🔌 Secteur " },
"break",
]
}
9. Flatpak & logiciels
Installer Flatpak
sudo apt install flatpak gnome-software-plugin-flatpak flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
Redémarrer le système (obligatoire pour que GNOME Software détecte Flathub).
Désinstaller Firefox natif (avant d’installer la version Flatpak)
sudo apt remove firefox*
Logiciels à installer via Flatpak (Flathub)
|
Application |
Description |
|---|---|
|
Firefox |
Navigateur principal |
|
Brave |
Navigateur secondaire |
|
Tor Browser |
Navigation anonyme |
|
Signal |
Messagerie chiffrée |
|
FreeTube |
YouTube sans tracking |
|
Resources |
Moniteur système GNOME |
|
Okular |
Lecteur PDF |
|
Angry IP Scanner |
Scanner réseau |
|
Prism Launcher |
Launcher Minecraft |
|
Warehouse |
Gestion des Flatpak |
|
Flatseal |
Permissions Flatpak |
|
Foliate |
Liseuse ebooks |
|
Impression |
Création clés USB bootables |
|
Folio |
prise de notes |
Changer thème d’icônes de Gnome
- Aller sur le site gnome look.
- Choisir par exemple le thème Newaita-reborn
- Décompresser le fichier et ensuite le copier vers le dossier /usr/share/icons
10. Extensions GNOME
Installer via GNOME Extension Manager :
|
Extension |
Utilité |
|---|---|
|
Vitals |
Surveillance CPU/RAM dans la barre |
|
Dash to Dock |
Dock personnalisable |
|
Transparent Top Bar |
Barre supérieure transparente |
|
Caffeine |
Empêche la mise en veille |
|
AppIndicator |
Icônes tray dans la barre système |
|
weatherpanel |
Affichage de la Météo |
|
justperfection |
Outil de personnalisation complet |
|
search light |
Recherche d’applis en vue d’ensemble |
11. Plymouth & démarrage silencieux
Installer Plymouth
sudo apt install plymouth plymouth-themes
Lister les thèmes disponibles
sudo plymouth-set-default-theme -l #Choisir et appliquer le thème Plymouth sudo plymouth-set-default-theme -R bgrt
Configurer GRUB
sudo nano /etc/default/grub
Paramètres à définir ou modifier :
GRUB_TERMINAL=console GRUB_TERMINAL_OUTPUT=console GRUB_DEFAULT=0 GRUB_TIMEOUT=0 GRUB_TIMEOUT_STYLE=hidden GRUB_CMDLINE_LINUX_DEFAULT="quiet splash loglevel=3 rd.systemd.show_status=0 vt.global_cursor_default=0 audit=1 audit_backlog_limit=64" GRUB_CMDLINE_LINUX=""
⚠️ Note importante : GRUB_TERMINAL=console désactive le mode graphique de GRUB, ce qui supprime le flash visuel au démarrage. Si cette ligne est présente, GRUB_GFXMODE n’a aucun effet et peut être supprimée. Supprimer également toute ligne GRUB_GFXPAYLOAD_LINUX ou GRUB_THEME si présentes.
Activer le mode boot silencieux
sudo sed -i 's/^quiet_boot="0"/quiet_boot="1"/' /etc/grub.d/10_linux
sudo update-grub2
Redémarrer.
12. Vérifier Secure Boot
Après installation, vérifier que Secure Boot est bien actif :
sudo apt install mokutil mokutil --sb-state
Résultat attendu : SecureBoot enabled
13. Pare-feu UFW
sudo apt install ufw sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw logging on sudo ufw enable sudo ufw status verbose
Si utilisation de SSH : sudo ufw allow ssh avant d’activer UFW.
14. Outils réseau
sudo apt install nmap net-tools dnsutils wireshark tcpdump traceroute mtr-tiny ethtool qbittorrent nmap
15. Sauvegarde système — Timeshift
Installer Timeshift
sudo apt install timeshift
Créer un premier snapshot
sudo timeshift --create --comments "Installation initiale propre"
Utilisation recommandée
Créer un snapshot avant chaque grosse mise à jour ou modification système :
sudo timeshift --create --comments "avant upgrade"
Lister les snapshots :
sudo timeshift --list
Restaurer un snapshot :
sudo timeshift --restore
16 ClamAV
sudo apt install clamav clamav-freshclam
Mettre à jour les signatures manuellement :
sudo systemctl stop clamav-freshclam sudo freshclam sudo systemctl start clamav-freshclam
Lancer un scan complet (peut être long) :
clamscan -r --bell -i /
L’option -i n’affiche que les fichiers infectés, –bell émet un signal sonore si infection.
17. Rkhunter
sudo apt install rkhunter sudo rkhunter --propupd sudo rkhunter --update sudo rkhunter --check --sk
–sk (skip keypress) permet d’exécuter sans interaction. Relire le rapport à la fin.
18. Sysstat
sudo apt install sysstat
Activer la collecte :
sudo nano /etc/default/sysstat
Mettre :
ENABLED="true" sudo systemctl enable --now sysstat
19. Unattended-Upgrades
Mises à jour automatiques de sécurité !
sudo apt install unattended-upgrades apt-listchanges
sudo dpkg-reconfigure unnattended-upgrades
systemctl status unattended-upgrades
20. Hardening — login.defs & PAM
Configurer login.defs
sudo nano /etc/login.defs
Modifier ou ajouter :
PASS_MAX_DAYS 90 PASS_MIN_DAYS 1 PASS_WARN_AGE 7 ENCRYPT_METHOD SHA512 SHA_CRYPT_MIN_ROUNDS 5000 SHA_CRYPT_MAX_ROUNDS 8000
Installer PAM passwdqc (complexité des mots de passe)
sudo apt install libpam-passwdqc
Configurer l’umask système
sudo nano /etc/pam.d/common-session
Ajouter en fin de fichier :
session optional pam_umask.so umask=027
Et également à la fin de /etc/login.defs
umask 027
21. Comptabilité des processus
sudo apt install acct sudo systemctl enable --now acct
Consulter les données :
sudo dump-acct /var/log/account/pacct
22. Debsums
sudo apt install debsums sudo nano /etc/default/debsums
Mettre :
CRON_CHECK=daily
Vérification manuelle :
sudo debsums -s
-s n’affiche que les fichiers modifiés ou manquants.
23. Blocages des protocoles réseau inutiles
Ajouter :
sudo nano /etc/modprobe.d/disable-uncommon-network.conf
Contenu :
install dccp /bin/false install sctp /bin/false install rds /bin/false install tipc /bin/false
Puis :
sudo update-initramfs -u
24. Outils sécurité supplémentaires
sudo apt install \ lynis chkrootkit logwatch \ libpam-tmpdir apt-listbugs needrestart \ fail2ban apt-show-versions \ apparmor apparmor-profiles apparmor-utils
Pour fail2ban :
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Vérifier AppArmor :
sudo aa-status
Audit de sécurité complet (lire le rapport attentivement) :
sudo lynis audit system
25. Hardening sysctl
sudo nano /etc/sysctl.d/99-hardening.conf
Contenu :
# Masquer les adresses kernel kernel.kptr_restrict = 2 # Restreindre l'accès aux logs kernel kernel.dmesg_restrict = 1 # Désactiver BPF non-privilégié kernel.unprivileged_bpf_disabled = 1 # Protection anti-spoofing réseau net.ipv4.conf.all.rp_filter = 1 net.ipv4.conf.default.rp_filter = 1 # Ignorer les broadcasts ICMP net.ipv4.icmp_echo_ignore_broadcasts = 1 # Protection SYN flood net.ipv4.tcp_syncookies = 1 # Désactiver IPv6 si non utilisé (optionnel) # net.ipv6.conf.all.disable_ipv6 = 1
Appliquer immédiatement :
sudo sysctl --system
26. ProtonVPN
⚠️ Note version : l’URL ci-dessous contient un numéro de version qui peut être obsolète. Vérifier la dernière version sur https://protonvpn.com/support/linux-ubuntu-vpn-setup/ avant d’installer.
wget https://repo.protonvpn.com/debian/dists/stable/main/binary-all/protonvpn-stable-release_1.0.8_all.deb sudo dpkg -i ./protonvpn-stable-release_1.0.8_all.deb sudo apt update sudo apt install proton-vpn-gnome-desktop sudo apt install gnome-shell-extension-appindicator gnome-shell-extension-prefs
Option split tunneling :
sudo apt install linux-headers-$(uname -r)
27. Gaming — Steam
Requiert l’étape §5 (architecture i386) effectuée au préalable.
Installer Steam
sudo apt update sudo apt install steam
28. Gaming — Gamemode, MangoHud, Vulkan AMD
Installer les outils
sudo apt install \
meson libsystemd-dev pkg-config ninja-build \
git libdbus-1-dev libinih-dev build-essential \
gamemode mangohud goverlay
Options de lancement Steam
Dans les propriétés d’un jeu Steam → Options de lancement :
Configuration de base :
gamemoderun mangohud %command%
29. Optimisations laptop
ZRAM — Swap compressé en RAM
sudo apt install zram-tools sudo nano /etc/default/zramswap
Mettre :
ALGO=zstd PERCENT=25 sudo systemctl restart zramswap
Vérifier (ZRAM doit apparaître en [SWAP]) :
/sbin/zramctl cat /proc/swaps
TRIM SSD — vérification
Debian active fstrim.timer par défaut. Vérifier :
sudo systemctl status fstrim.timer
Si inactif :
sudo systemctl enable --now fstrim.timer
Trim manuel immédiat :
sudo fstrim -v /
30. Codecs multimédia
Codecs de base
sudo apt install \
ffmpeg \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly \
gstreamer1.0-libav \
gstreamer1.0-vaapi \
libavcodec-extra
Couvre : H.264, H.265, VP8/VP9, AV1, MP3, AAC, FLAC, AC3, DTS, accélération VA-API.
Bluetooth audio (aptX, AAC, LDAC)
sudo apt install libspa-0.2-bluetooth
Redémarrer pipewire :
systemctl --user restart pipewire pipewire-pulse wireplumber
DVD chiffrés
sudo apt install libdvd-pkg sudo dpkg-reconfigure libdvd-pkg
31. Optimisation SSD / NVMe
# TRIM automatique — vérification/activation sudo systemctl enable --now fstrim.timer # Nettoyage apt sudo apt autoclean && sudo apt autoremove sudo apt purge '~c' # Outil de diagnostic NVMe sudo apt install nvme-cli sudo nvme smart-log /dev/nvme0
Interpréter smart-log : vérifier critical_warning (doit être 0) et percentage_used (santé du SSD).
32. Outils utiles supplémentaires
sudo apt install filezilla remmina jq tree ncdu rsync synaptic
Ressources incontournables :
|
Ressource |
URL |
|---|---|
|
Debian Wiki |
https://wiki.debian.org |
|
Arch Wiki (valide pour Debian aussi) |
https://wiki.archlinux.org |
|
Debian BTS (bugs) |
https://bugs.debian.org |
|
man pages locales |
man systemd, man journalctl, man apt |