Checklist d'installation de Linux Mint 20.3 Mate
Cette page est une checklist personnelle et rapide pour l'installation de Linux Mint Mate 20.3. Objectifs:
Être rapidement opérationnel.
Avoir tout ce qu'il faut pour travailler.
Être en sécurité.
Avoir un système optimisé.
Notez qu'il s'agit d'une configuration du système qui est:
particulière à mon usage:
rapide (contrairement à mes checklist précédentes, certains choix ne seront pas expliqués).
envisagée pour la réinstallation complète du système (pas d'une migration) (Je réinstalle généralement tout le système en gardant mon /home)
Linux Mint 20.3 Mate ("Una") est dérivée d'Ubuntu 20.04 ("Focal Fossa", une LTS1) dont les mises à jour de sécurité sont assurées jusqu'en avril 2025). J'ai choisi la variante "Mate" de Linux Mint car je préfère le bureau MATE à Cinnanmon ou Xfce.
Pourquoi Linux Mint et plus Ubuntu Mate ? Parce que je trouve que les réglages par défaut du système et du bureau sont meilleurs dans Mint, ainsi que diverses autres choses (pas de snaps, RedShift installé par défaut…). Ce point développé en bas de cette page.
PS: J'installe cette version de Linux sur un Asus TUFA15 2021.
Partitionnement et installation
Notez que le bootloader (grub) est désormais installé dans une partition séparée. Et comme je suis en btrfs et que je vais aussi ajouter une partition VeraCrypt, je choisis donc le partitionnement suivant (le partitionnement sera réalisé par l'installeur de Linux Mint):
Partition | Type | Taille | Utilisation |
/dev/sda1 | FAT32 | 64 Mo | Partition EFI pour le démarrage. Obligatoire sur toutes les machines récentes. Cette partition doit avoir les flags boot et esp. |
/dev/sda2 | inconnu | 64 Mo | Le bootloader GRUB est installé dans cette partition. Elle apparaît comme type "inconnu" dans GParted. Elle doit avoir le flag bios_grub. |
/dev/sda3 | swap | 8 Go | Parcequ'il faut toujours une partition de swap (même si dans la pratique l'installation de zram fait qu'elle ne sera pratiquement jamais utilisée.). Je préfère une partition de swap plutôt que le fichier de swap qu'Ubuntu créé par défaut. Note: Je n'utilise jamais l'hibernation, je n'ai donc pas besoin que cette partition soit aussi grande que ma quantité de mémoire vive. |
/dev/sda4 | | 300 Go | Cette partition abritera une partition chiffrée VeraCrypt. On la laisse vide et non formatée à l'installation. |
/dev/sda5 | btrfs | Le reste | Partition btrfs dans laquelle l'installeur de Linux Mint créé automatiquement 2 volumes btrfs: @ (monté sur / ) et @home (monté sur /home ) |
Dans l'installeur, au moment de choisir le type d'installation:
Choisir "Autre chose"
Bouton "Nouvelle table de partition…" > Confirmer.
Bouton "+" pour créer chaque partition dans l'espace libre:
/dev/sda1 : 64 Mo de type "Partition système EFI"
/dev/sda2 : 64 Mo de type "Zone réservée pour le chargeur d'amorçage BIOS"
/dev/sda3 : 8192 Mo de type "espace d'échange («swap»)"
/dev/sda4 : 300 000 Mo, type "Ne pas utiliser la partition" (Je l'utiliserai avec VeraCrypt)
/dev/sda5 : Le reste, de type "système de fichier journalisé btrfs", Point de montage:"/"
"Zone où sera installé le programme de démarrage" : Choisir la partition biosgrub (ici: /dev/sda2)
Ce qui donne:
Dans la partition btrfs (/dev/sda5), l'installeur de Linux Mint créera automatiquement deux volumes btrfs:
Notes concernant le partitionnement:
La seule particularité dans mon partitionnement, c'est la partition VeraCrypt (/dev/sda4). Vous pouvez l'ignorer et appliquer le reste.
La partition de swap est optionnelle. Si vous n'en créez pas, l'installeur crééera un fichier de swap dans la partition système (/). (Il est possible de supprimer ou retailler ce fichier de swap par la suite. Cela évite de retoucher au partitionnement.)
Si vous installez en btrfs, gardez les partitions EFI, biosgrub et btrfs (/). Votre /
et /home
seront tous les deux installés dans la partition btrfs.
Si vous installez en ext4, gardez les partitions EFI, biosgrub, mais vous devrez faire 2 partitions ext4 (une pour /
et une pour /home
) si vous voulez garder votre /home séparé.
Après installation, redémarrer.
Configuration après redémarrage
Décocher l'écran de bienvenue pour qu'il ne s'affiche plus.
Modification des options de montage (pour réduire les écritures disque):
Dans /etc/fstab
(sudo xed /etc/fstab
):
Réduction de la propension à swapper:
sudo bash -c 'echo "vm.swappiness=1" >> /etc/sysctl.conf'
Changer le délai d'attente de GRUB à 3 secondes au lieu de 30: Dans /etc/default/grub
, ajouter la ligne GRUB_RECORDFAIL_TIMEOUT=3
puis faire sudo update-grub
.
Rebooter pour prise en compte.
Compresser tous les fichiers qui ne sont pas compressés:
sudo btrfs filesystem defragment -r -v -czstd /
Mises à jour et version du noyau:
Cliquer sur le gestionnaire de mises à jour (bouclier dans la barre de status):
Écran de bienvenue : Valider
Souhaitez-vous utiliser un miroir de dépôt local ? : répondre Non.
Basculement sur le noyau 5.13 (par défaut, Linux Mint est installé avec un noyau 5.4):
Menu Vue > Noyaux Linux : Un avertissement s'affiche.
Cocher "Ne plus afficher ce message" > Continuer.
Cliquer sur le noyau 5.13 le plus récent et cliquer "Installer".
Rebooter pour basculer sur le nouveau noyau.
Ré-ouvrir le gestionnaire de mise à jour:
Message "Une nouvelle version du gestionnaire de mises à jour est disponible" : Cliquer sur "Appliquer la mise à jour"
Cliquer sur le bouton Actualiser puis Installer les mises à jour
Menu Édition > Préférence > cocher "Ne montrer une icône dans la barre des tâches qu'en cas d'erreurs ou de mises à jour disponibles."
Mise en place des snapshots système: Menu > Tout les applications > Outils système > Timeshift
Type d'instantanné: BTRFS
Garder la partition par défaut > Suivant
Cocher Hebdomadaire, en garder 4
Garder Quotidien coché, en garder 7
Cliquer Suivant > Suivant > Terminer
Cliquer Créer pour créer un premier snapshot.
En cas de problème, dans l'écran de grub choisir "Options avancées…" > …(recovery mode) > "root (Passer sur une console administrateur)" et une fois dans la console taper timeshift --restore
pour restaurer un ancien snapshot système.
Prise en charge des canaux Wifi français (sinon vous risquez d'avoir du mal avec les canaux 11/12/13): Dans le fichier
/etc/default/crda
: Modifier le paramètre:
REGDOMAIN
:
REGDOMAIN=FR
Pour un Wifi plus stable, désactiver l'économie d'énergie du Wifi : Dans le fichier
/etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
changer
wifi.powersave = 3
en
wifi.powersave = 2
(
source)
Installation/mise à jour optionnelle de pilotes propriétaires: Menu > Administration > Gestionnaire de pilotes > attendre et installer les pilotes marqués [Recommandé].
Pas besoin d'attendre que le réseau soit dispo pour afficher la fenêtre de login (fait gagner un peu de temps au démarrage):
sudo systemctl disable NetworkManager-wait-online.service
Installer le script
hosts-update
de mise à jour de la liste de blocage
DNS (blocage trackers/publicité) dans
/etc/cron.weekly
(voir
Listes de blocage DNS):
sudo curl "https://sebsauvage.net/wiki/doku.php?do=export_code&id=dns-blocklist&codeblock=0" -o /etc/cron.weekly/hosts-update
sudo chmod +x /etc/cron.weekly/hosts-update
sudo /etc/cron.weekly/hosts-update
-
Apparence:
Menu > Préférences > Apparence
Clic-droit sur la barre des tâches > Ajouter au tableau de bord :
Moniteur système (pour voir la charge CPU et occupation mémoire)
Moniteur de changements de fréquence du processeur
Moniteur réseau (pour voir les débits réseau)
Hardware Sensors Monitor (pour voir la température de la machine et vitesse du ventilo)
Clic-droit sur le menu dans la barre des tâches > Préférences > section Système > cocher Hauteur personnalisée et mettre 500.
Menu > Préférences > Paramètres du bureau > section Bureau : décocher Ordinateur et Dossier personnel
Terminal sur fond noir: Lancer un terminal.
Je suis sous Mate donc j'utilise une majorité d'applications Gtk, mais il m'arrive d'utiliser des application Qt. Pour avoir un look cohérent: Menu > Préférences > Paramètres de Qt5:
Navigateur de fichiers : Menu > Outils système > Navigateur de fichiers
Onglet Vues : Afficher les nouveaux dossiers en utilisant: Vue en liste
Onglet Aperçu : Afficher les vignettes: Uniquement fichiers locaux
Onglet Supports : cocher Ne jamais demander ou démarrer des programmes à l'insertion d'un support
Limitation de charge de la batterie (Spécifique à mon Asus) : Comme l'ordinateur reste la plupart du temps branché sur secteur, je rallonge la durée de vie de la batterie en limitant sa charge à 60% :
Je créé le fichier
/usr/local/bin/limit-battery-60
contenant:
- limit-battery-60
#!/bin/bash
sleep 10
sudo bash -c "echo '60' > /sys/class/power_supply/BAT1/charge_control_end_threshold"
Lancement du script au démarrage du système:
sudo crontab -e
et j'ajoute la ligne:
@reboot /usr/local/bin/limit-battery-60
Vérification:
10 secondes après redémarrage, cat /sys/class/power_supply/BAT1/charge_control_end_threshold
doit renvoyer 60.
Quand la batterie est en charge (<60%), la diode de batterie est en orange et cat /sys/class/power_supply/BAT1/status
renvoie "Charging
".
Quand la batterie ne charge plus(>=60%), la diode de batterie est en blanc et cat /sys/class/power_supply/BAT1/status
renvoie "Unknown
".
CPU Governor : Il existe plusieurs algorithmes pour faire varier la fréquence du processeur en fonction des besoins. Par défaut c'est le "ondemand" qui est utilisé (cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
), mais schedutil
est plus efficace: Il monte plus vite en fréquence dès qu'il y a un besoin de puissance CPU, et il redescend aussi plus vite.
Je ne veux pas que la machine se mette en veille quand l'écran est rabattu (sinon quand la machine redémarre écran rabattu cela met en veille le réseau et je ne peux plus m'y connecter à distance). Donc je créé le fichier
/etc/systemd/logind.conf.d/do-not-suspend.conf
contenant:
HandleLidSwitch=lock
HandleLidSwitchExternalPower=lock
Pour plus d'informations, faire man logind.conf
Note: Vous avez aussi des réglages d'économie d'énergie par utilisateur, mais ces réglages n'entrent en vigueur qu'après que vous vous soyez connecté⋅e. La modification de logind.conf permet de forcer ces réglages au niveau système.
NumLock actif sur l'écran de connexion: sudo apt install numlockx
puis Menu Administration > Écran de connexion > onglet Options > cocher Activer le verrouillage du pavé numérique.
Éviter l'activation intempestive du touchpad pendant qu'on frappe: Menu > Préférences > Souris > onglet Pavé tactile > cocher Désactiver le pavé tactile lors de la frappe au clavier.
Non détaillé dans cette page: Les configurations spécifiques utilisateur (par exemple, configuration de
Firefox).
Installation de mes scripts utilisateur Caja dans ~/.config/caja/scripts
Ajout de mes alias dans ~/.bash_aliases
Installation de logiciels depuis les dépôts
sudo apt install zram-config vlc ffmpeg geany geany-plugins htop btrfs-compsize pigz progress ncdu gparted gpart mtools udftools firejail secure-delete sshfs sshpass rclone-browser iotop nethogs kazam x2goclient x2goserver p7zip-rar zstd ttf-mscorefonts-installer fonts-larabie-* gimp gimp-data-extras gimp-plugin-registry gimp-texturize gimp-help-fr inkscape filezilla pngnq optipng libjpeg-turbo-progs qbittorrent doublecmd-gtk meld font-manager
zram-config : segments de mémoire compressés, réduisant à néant les écritures dans le swap disque.
vlc bien sûr, l'un des meilleurs lecteurs audio/vidéo.
ffmpeg : le couteau suisse de la conversion d'audio/vidéo
geany geany-plugins : Un éditeur de texte sympa avec un certain nombre de plugins.
htop : gestionnaire de tâche en terminal.
btrfs-compsize : Un outils btrfs pour voir l'état de compression et déduplication d'un dossier.
pigz : outils de compression rapide (pigz=gzip multicœurs)
progress : pour voir la progression des longs travaux sur les fichiers (progress -M
)
ncdu : l'excellent outils en ligne de commande pour voir la taille des répertoires.
gparted gpart mtools udftools : bon outils de partitionnement de disques.
firejail : pour lancer des applications de manière isolée du système et de mon /home.
secure-delete : pour effacer certains supports.
sshfs : pour monter des répertoires distants.
sshpass : pour entrer automatiquement le mot de passe pour des sessions ssh.
rclone-browser : une
GUI pour RClone. (RClone lui-même sera installé séparément)
iotop : pour voir quelles applications sont en train de faire plein d'accès disque.
nethogs: pour voir quelle application est en train de me bouffer la bande passante.
kazam : bon logiciel pour capturer l'écran sous forme de vidéo. (On peut aussi utiliser ffmpeg, VLC ou OBS Studio)
x2goclient x2goserver : excellent pour prendre la main sur une machine en
LAN, ou ouvrir une session graphique à distance (passe par la connexion ssh).
p7zip-rar : pour gérer les fichiers rar (non installé par défaut).
zstd : Support des archives zst/zstd.
ttf-mscorefonts-installer : polices Microsoft (Arial, Times, etc.) pour faciliter l'échange de documents avec le monde Microsoft.
fonts-larabie-* : Polices de caractères nombreuses et amusantes.
gimp gimp-data-extras gimp-plugin-registry gimp-texturize gimp-help-fr : Car pour la retouche d'images Gimp n'est plus installé par défaut.
inkscape : Excellent logiciel de dessin vectoriel.
filezilla : le bon vieux client ftp/sftp qui s'accroche comme une teigne pour transférer.
pngnq optipng libjpeg-turbo-progs : outils d'optimisation des png et jpg (libjpeg-turbo-progs est déjà installé par défaut).
qbittorrent : Comme client BitTorrent, je préfère qBitTorrent à Transmission.
doublecmd-gtk : un gestionnaire de fichiers double-panneau pratique dans certains cas.
meld : Outil graphique de comparaisons de fichiers ou répertoires.
font-manager : Pratique pour explorer et essayer les polices de caractères installées.
Installation des pilotes d'imprimantes
Par défaut, il manque un certain nombre de pilotes d'imprimantes. En ajoutant ceci, vous pourrez imprimer directement sur la plupart des modèles:
sudo apt install --install-recommends printer-driver-all printer-driver-oki
Installation de Wine
Les dépôts de Linux Mint n'ont qu'une ancienne version, je préfère suivre les versions staging. Nous allons ajouter les dépôts de WineHQ:
sudo apt purge wine*
wget -nc https://dl.winehq.org/wine-builds/winehq.key
sudo apt-key add winehq.key
sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ focal main'
sudo apt update
sudo apt install --install-recommends winehq-staging winetricks
WINEPREFIX=~/.wine WINEARCH=win32 wineboot # Préparation du préfixe 32 bits
WINEPREFIX=~/.wine64 WINEARCH=win64 wineboot # Préparation du préfixe 64 bits
De temps en temps, mise à jour de
winetricks
:
sudo winetricks --self-update
et mise à jour de dxvk:
winetricks -f dxvk
Voir aussi ma page sur Wine pour plus d'explications.
Suppression de logiciels
sudo apt purge transmission-gtk
Installation de logiciels hors dépôts
J'installe certains logiciels hors dépôts quand ils ne sont pas disponibles dans les dépôts ou quand la version dans les dépôts est trop ancienne. Inconvénient : Ils ne seront pas mis à jour automatiquement.
Shutter, un bon petit logiciel de capture d'écran avec retouche (oui le projet est à nouveau vivant):
sudo add-apt-repository ppa:shutter/ppa
sudo apt-get update
sudo apt install shutter
BorgBackup: Excellent logiciel de backup (voir
cette page).
sudo curl -L https://github.com/borgbackup/borg/releases/latest/download/borg-linux64 -o /usr/local/bin/borg
sudo chmod a+rx /usr/local/bin/borg
yt-dlp (successeur de
youtube-dl, pour télécharger des vidéos de centaines de sites web):
sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp
sudo chmod a+rx /usr/local/bin/yt-dlp
Pour le mettre à jour, faire de temps en temps:
sudo yt-dlp -U
Installations/configurations complémentaires
Installation et configuration du serveur ssh et fail2ban
sudo apt install openssh-server fail2ban
Changement du port par défaut (22) du serveur ssh:
sudo bash -c 'echo "Port 57222" >> /etc/ssh/sshd_config.d/custom.conf'
Redémarrer le service:
sudo service ssh restart
Protection du serveur ssh contre les attaques brute-force: Créer le fichier
/etc/fail2ban/jail.local
:
- jail.local
[sshd]
enabled = true
port = 57222
filter = sshd
logpath = %(sshd_log)s
backend = %(sshd_backend)s
maxretry = 4
bantime = 86400
Redémarrage de fail2ban:
sudo service fail2ban restart
Ouvrir le port dans le firewall:
sudo ufw allow in 57222/tcp
Gaming
Steam:
sudo apt install steam-installer
Lutris (Lanceur de jeux. Supporte Wine, GOG, HumbleBundle…):
sudo add-apt-repository ppa:lutris-team/lutris
sudo apt update
sudo apt install lutris
Sécurisation
Pare-feu
BIOS/EFI
Afin d'empêcher le démarrage sur un périphérique externe (clé USB, etc.)
Protéger l'accès au BIOS/EFI par mot de passe.
Périphérique de démarrage par défaut: Disque interne seulement (retirer les USB, PXE, etc.).
Protection de GRUB par mot de passe
Afin d'empêcher la modification du menu grub ou des options de démarrage.
Attention: Ayez bien conscience qu'au moment de taper utilisateur et mot de passe dans Grub, vous serez en clavier QWERTY.
Il semblerait que l'option de masquage du menu Grub n'est pas possible quand il y a une partition btrfs. C'est fait à dessein.
DoH/DoT
Ce qui manque à cette checklist, c'est le basculement de l'ordinateur sur DNS-over-TCP ou DNS-over-HTTP. À faire.
Maintenance
Linux Mint vérifiera régulièrement la présence de mises à jour et vous les présentera le cas échéant. Pour forcer la vérification et l'installation immédiate des mises à jour:
sudo apt update && sudo apt full-upgrade -y
Pour regagner un peu d'espace disque:
De temps en temps (1 fois par mois), lancer une déduplication btrfs des fichiers (Script à lancer le soir. Laissez tourner. À la fin vous récupérez de l'espace disque sans vous fatiguer. Aucun risque pour les données.):
ulimit -n 600000
sudo jdupes -r -B /etc /opt /root /var /usr
sudo jdupes -r -B /home
Dé-installer les paquets inutiles:
sudo apt autoremove --purge
Retirer du cache des paquets les paquets déinstallés ou qui ne sont plus installables:
sudo apt autoclean

: vidage du cache d'impression.
Il est recommandé, de temps en temps, de lancer un 'scrub' btrfs pour vérifier les sommes de contrôle des données et méta-données.
Démarrer la vérification:
sudo btrfs scrub start /
Voir où il en est:
sudo btrfs scrub status /
La checklist ci-dessus est rapide, mais pour ceux que cela intéresse de comprendre certains choix techniques, voici les explications:
Anciennes checklists : Si vous souhaitez consulter mes anciennes checklists, elles sont dans
cette page.
noatime,nodiratime:
Par défaut, les systèmes enregistrent la date d'accès aux fichiers. Donc toute lecture provoque une écriture. Vous conviendrez que c'est loin d'être optimal.
noatime,nodiratime dans les options de montage demandent au système de ne pas enregistrer la date d'accès (atime) des fichiers et des répertoires, évitant ainsi ces écritures.
Je sais, on ne devrait pas faire ça. Il paraît que ça pose problème. Mais en fait, non. Sauf si vous faites tourner un serveur de mail (les serveurs de mail ont besoin de connaître la date d'accès aux fichiers). Ce qui n'est pas mon cas.
Oui je connais relatime et lazytime qui permettent de garder une trace de l'accès aux fichiers en réduisant la quantité d'écritures. Mais noatime,nodiratime éliminent complètement ces écritures.
zram:
zram fournit des segments de mémoire (block device) compressés. Toute donnée écrite dans un /dev/zram*
est automatiquement compressée (tapez zramctl
pour voir l'occupation des segments de mémoire).
Le paquet zram-config configure automatiquement le swap pour utiliser ces segments de mémoire en priorité sur le swap disque (Faite un cat /proc/swaps
pour voir.)
Au lieu de swapper sur disque, les données sont compressées en mémoire. Les algos utilisés sont extrêmement rapide, plus rapide que de faire des I/O sur disque.
Dans la pratique, cela réduit à néant le swapping sur disque. Et donc cela réduit également l'usure des SSD.
Couplez à la modification du swappiness pour être encore plus efficace.
C'est bénéfique que vous ayez beaucoup de mémoire vive ou non. Sur un PC avec 4 Go de mémoire et 1,1 Go de swap utilisé, je n'avais pas un seul octet écrit dans le swap disque.
Bureau Mate: Mate est un fork de Gnome 2. Rien à faire, je suis allergique à Gnome3. J'ai essayé, je déteste. KDE est beau et efficace, mais il a trop de paramètres. Cinnamon est beau, mais overkill et un peu bling-bling (oui Compiz c'est rigolo, mais je m'en fous des fenêtres élastiques). Mate reste un environnement traditionnel dans lequel la plupart des utilisateurs retrouveront rapidement leurs marques. Et Mate reste léger et rapide, avec une consommation mémoire raisonnable. J'ai même constaté une consommation mémoire inférieure à Xfce.
Unbound en cache DNS local forcé: