Table des matières
Checklist d'installation de Linux Mint 21.1 Mate
Comme à mon habitude, voici ma checklist d'installation personnelle et rapide pour l'installation de Linux. 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:
- En l'occurrence desktop et non serveur.
- Certaines choix sont bien spécifiques (comme l'utilisation de btrfs+LUKS au lieu d'ext4)
- 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 21.1 Mate ("Vera") est dérivée d'Ubuntu 22.04.1 ("Jammy Jellyfish", une LTS1)) dont les mises à jour de sécurité sont assurées jusqu'en avril 2027). 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…).
PS: J'installe cette version de Linux sur un Asus TUFA15 2021.
Partitionnement et installation
Je vais utiliser btrfs (au lieu d'ext4 par défaut), le tout avec chiffrement LUKS. J'utilise un nvme, mais pour rendre les choses plus lisible, j'ai mis "sda" ci-dessous.
Partition | Type | Taille | Utilisation |
---|---|---|---|
/dev/sda1 | EFI | 256 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 | ext4 | 8 Go | Monté sur "/boot". Le bootloader GRUB est installé dans cette partition. Je prend désormais 8 Go pour ne pas être gêné par la place occupée par plusieurs noyaux. |
/dev/sda3 | btrfs | Le reste | Partition utilisée par LUKS (qui va crééer un point de montage /dev/mapper/sda3_crypt dans lequel le système de fichier btrfs sera installé. L'installeur de Linux Mint créé automatiquement 2 volumes btrfs: @ (monté sur / ) et @home (monté sur /home )). |
Notez que je n'ai plus de partition de swap (ma machine a 16 Go de RAM, et avec zram c'est suffisant).
Lors de l'installation: 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 : 256 Mo de type "Partition système EFI"
- /dev/sda2 : 8 Go de type "ext4", monté sur "/boot"
- /dev/sda3 : Le reste, de type "volume physique pour chiffrement" (en fait, c'est LUKS).
- Entrez alors deux fois un mot de passe. C'est le mot de passe qui sert à déchiffrer le disque au démarrage. Ne l'oubliez pas. Si vous le perdez, vous perdez vos données.
- Une nouvelle partition va apparaître : /dev/mapper/sda3_crypt, par défaut en ext4. Modifiez-la en type "btrfs", montée sur "/".
- "Zone où sera installé le programme de démarrage" : Choisir la partition où est "/boot" (ici : /dev/sda2).
Dans la partition btrfs (/dev/mapper/sda3_crypt), l'installeur de Linux Mint créera automatiquement deux volumes btrfs:
@
qui sera monté sur/
@home
qui sera monté sur/home
Notez que le chiffrement LUKS impose de taper son mot de passe LUKS chaque fois que la machine est allumée. Je ne suis pas allé jusqu'au chiffrement de /boot (même si c'est possible, et idéalement cela devrait être fait).
Configuration après redémarrage
- Décocher l'écran de bienvenue pour qu'il ne s'affiche plus.
- Comme j'ai remis mon /home de mon ancien système : Clic-droit sur le tableau de bord (la barre des tâches) > Réinitialiser tous les Tableaux de bord et remettre mes widgets préférés.
- Activation de Timeshift pour les snapshots système.
- Gestionnaire de mises à jour : Ne pas utiliser de dépôts locaux, puis installer toutes les mises à jour.
- Utilisation de l'outils d'installation des pilotes propriétaires (installation du pilote "nvidia-drivers-525 (recommandé)")
- Modification des options de montage (pour réduire les écritures disque):
- Dans
/etc/fstab
(sudo xed /etc/fstab
):- ajout des options
noatime,nodiratime,compress=zstd
aux deux points de montage btrfs (/
et/home
) - ajout de:
tmpfs /tmp tmpfs defaults,mode=1777,nosuid,size=4196M 0 0 tmpfs /var/tmp tmpfs defaults,mode=1777,nosuid,size=4196M 0 0
- Réduction de la propension à swapper:
sudo bash -c 'echo "vm.swappiness=1" >> /etc/sysctl.conf'
- Rebooter.
- Compresser tous les fichiers qui ne sont pas compressés:
sudo btrfs filesystem defragment -r -v -czstd /
- À titre informatif, après installation le système occupe 11,1 Go sur disque. Après cette phase de compression il descend à 5,8 Go.
- 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
- Je ne veux pas qu'il attend que le réseau soit disponible pour afficher la fenetre d'ouverture de session:
sudo systemctl disable NetworkManager-wait-online.service
- Limite de la charge batterie à 60% (afin de prolonger sa durée de vie) : 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"
chmod +x /usr/local/bin/limit-battery-60
- 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
".
- 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. - 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
changerwifi.powersave = 3
enwifi.powersave = 2
(source)- Vérification: Après redémarrage, sur batteries la commande
iwconfig
doit indiquer:Power Management:off
- Je ne veux pas que la machine se mette en veille quand l'écran est rabattu. Donc je créé le fichier
/etc/systemd/logind.conf.d/do-not-suspend.conf
contenant:HandleLidSwitch=lock
- Pour plus d'informations, faire
man logind.conf
- Note: Vous avez aussi des réglages d'économie d'énergie par utilisateur (Menu > Préférences > Gestionnaire d'énergie) 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.
- É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
Notez que pour certains logiciels, je n'utiliserai pas les dépôts officiels, soit parce que ces logiciels ne sont pas disponible dans les dépôts, soit parce que les dépôts n'ont pas les versions les plus récentes.
sudo apt install zram-config gufw 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 p7zip-rar zstd ttf-mscorefonts-installer fonts-larabie-* gimp gimp-data-extras gimp-plugin-registry gimp-texturize gimp-help-fr filezilla pngnq optipng libjpeg-turbo-progs qbittorrent doublecmd-gtk meld font-manager steam-installer clamav zpaq fsarchiver jdupes kupfer par2 folder-color-caja caja-rename
- zram-config : segments de mémoire compressés, réduisant à néant les écritures dans le swap disque.
- gufw : Firewall facile à configurer (interface graphique sur ufw).
- 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)
- 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.
- 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.
- steam-installer : Parce que j'ai un compte Steam.
- clamav : Il m'arrive de scanner un fichier ou deux avec cet antivirus (j'ai un script Caja qui me permet de scanner un fichier avec un simple clic-droit).
- zpaq : Un excellent logiciel de compression qui donne souvent de meilleurs taux de compression sur de gros ensembles de données (>2 Go).
- fsarchiver : Un très bon logiciel pour sortir rapidement un répertoire sur un disque externe.
- jdupes : Outils de détection de fichiers en double, très utile pour faire de la déduplication btrfs (avec l'option -B).
- kupfer : Un lanceur d'application rapide (Ctrl+ESPACE)
- par2 : Outils pour réparer des fichiers (voir cet article).
- folder-color-caja : Permet de changer facilement la couleur d'un dossier dans Caja (le gestionnaire de fichiers) (clic droit > Changer la couleur)
- caja-rename : Fournit des fonctions de renommage en masse très pratique dans Caja (clic droit > Rename all…)
Suppression de logiciels que je n'utiliserai pas:
sudo apt purge transmission-*
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
- Si votre imprimante est à la norme Mopria (voir la liste des modèles), vous n'aurez probablement rien à installer et configurer. Il vous suffira d'allumer votre imprimante et elle aparaîtra dans la liste des imprimantes.
- Sinon pour ajouter une imprimante, Menu > Administration > Imprimantes > Ajouter > Imprimante réseau > dépliez Rechercher une imprimante et votre imprimante devrait apparaître au bout de quelques secondes. Il n'y a plus qu'à faire ajouter > Suivant/suivant/suivant…
- Si Linux ne trouve pas le modèle de votre imprimante, allez chercher le fichier .ppd de cette imprimante sur le site du constructeur. Linux saura se débrouiller avec ce fichier.
Installation de logiciels avec dépôts alternatifs
Ces logiciels seront mis à jour lors d'un futur "apt update/upgrade".
- Firefox: Histoire d'avoir une version vraiment récente de Firefox, j'utilise le dépôt ppa officiel de l'équipe Mozilla:
- Ajouter le dépôt:
sudo add-apt-repository ppa:mozillateam/ppa
- Installation la version de Firefox du dépôt Mozilla:
sudo apt install -t "o=LP-PPA-mozillateam" firefox
- Forcer apt à installer en priorité le Firefox de Mozilla: Créer le fichier
/etc/apt/preferences.d/firefox-mozilla.pref
contenant:Package: firefox* Pin: release o=LP-PPA-mozillateam Pin-Priority: 501
- Inkscape:
sudo add-apt-repository ppa:inkscape.dev/stable sudo apt update sudo apt install inkscape
- Wine:
sudo mkdir -pm755 /etc/apt/keyrings sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources sudo apt update sudo apt install --install-recommends winehq-staging winetricks sudo winetricks --self-update wineboot winetricks vcrun2019 winetricks dxvk winetricks vkd3d
- Et je suis prêt à lancer la quasi-totalité des jeux Windows (Voir aussi ma page sur Wine pour plus d'explications).
Installation de logiciels hors dépôts
Installation de logiciels hors dépôts car soit les dépôt ont des versions trop anciennes, soit ces logiciels ne sont pas disponibles dans les dépôts.
Ces logiciels ne seront pas mis à jour automatiquement lors d'un "apt update/upgrade". Il faudra veiller à la sortie de nouvelles versions et les mettre à jour manuellement.
- 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
- RClone: Excellent logiciel de synchronisation/transfer depuis/vers de multiples types de clouds (y compris NextCloud).
- Téléchargement et installation du .deb "Intel/AMD - 64 Bit" de cette page: https://rclone.org/downloads/
- 7-Zip : Les dépôts ont déjà la 16.04, mais j'ajoute l'officielle plus récente (22.01) que j'utilise en ligne de commande et via des scripts Caja (elle est plus performante). Je l'appelle avec
7zz
(au lieu de 7z ou 7za):- Télécharger le .tar.xz 64-bit Linux x86-64 de https://www.7-zip.org/download.html
- Décompresser puis:
sudo cp 7zz /usr/local/bin sudo chmod +x /usr/local/bin/7zz
- 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
- VeraCrypt, logiciel de chiffrement de disque :
- Prendre la version GUI pour Ubuntu 22.04 dans la page https://www.veracrypt.fr/en/Downloads.html (veracrypt-1.x.x-Ubuntu-22.04-amd64.deb)
- XNView MP, le meilleur gestionnaire d'images que je connaisse (capable de faire des traitements par lots, etc.): https://www.xnview.com/fr/xnviewmp/#downloads
- URL téléchargement direct: https://download.xnview.com/XnViewMP-linux-x64.deb
- czkawka, l'extraordinaire logiciel de détection de fichiers/images en double. Je garde la version 4.1.0 car les nouvelles versions dépendent de GTK-4 et ça n'a pas l'air de bien passer sous Mate. La version 4.1.0 dépend de GTK-3:
sudo curl -L https://github.com/qarmin/czkawka/releases/download/4.1.0/linux_czkawka_gui -o /usr/local/bin/czkawka sudo chmod a+rx /usr/local/bin/czkawka
- Et ajout dans le menu de Mint (clic-droit > Éditer le menu)
- Mullvad VPN : https://mullvad.net/fr/download/vpn/linux
- VirtualBox: Prendre la version pour Ubuntu 22.04 dans cette page: https://www.virtualbox.org/wiki/Linux_Downloads
- Minecraft:
- J'ai eu des soucis avec les lanceurs fournis par les distributions, je prends désormais toujours le lanceur officiel.
- Vous aurez besoin d'une version plus récente de Java que le JRE 11 installé par défaut:
sudo apt install openjdk-17-jre
- Téléchargez et installez le lanceur officiel : https://launcher.mojang.com/download/Minecraft.deb
- Configuration de Minecraft lui-même : Voir cette page.
Installations complémentaires optionnelles
Serveur ssh avec 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
- Voir les IP bannies:
sudo fail2ban-client status sshd
- Débannir une IP:
sudo fail2ban-client set sshd unbanip <adresseip>
- Ouvrir le port TCP/57222 dans le firewall (gufw).
Maintenance
- Faire les mises à jour de sécurité proposées (elles sont par défaut affichées automatiquement 10 minutes après le démarrage du système). Pour le faire manuellement, je fais:
sudo timeshift --create && sudo apt update && sudo apt full-upgrade
- Une fois par mois:
- Vérification d'intégrité btrfs : Cela va vérifier la checksum de tous les blocks de données du disque.
- Démarrer la vérification:
sudo btrfs scrub start /
- Surveiller l'avancement:
sudo watch btrfs scrub status /
- Si vous voulez l'arrêter avant la fin:
sudo btrfs scrub stop /
- Si des données défectueuses sont trouvées, il faut se poser des questions sur la fiabilité du disque.
- Déinstallation de paquets inutiles qui seraient restés (
autoremove
) et suppression du cache apt des paquets qui n'existent plus (autoclean
):sudo apt autoremove sudo apt autoclean
- Déduplication: Cela permet de repérer les fichiers en double et de réduire l'occupation disque. Quelques giga-octets de gagnés sans effort !
ulimit -n 600000 sudo jdupes -r -B /etc /opt /root /var /usr sudo jdupes -r -B /home
Compléments d'information
- Anciennes checklists : Si vous souhaitez consulter mes anciennes checklists, elles sont dans cette page.