Comme à mon habitude, voici ma checklist d'installation personnelle et rapide pour l'installation de Linux. Objectifs:
Notez qu'il s'agit d'une configuration du système qui est:
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.
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:
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).
/etc/fstab
(sudo xed /etc/fstab
):noatime,nodiratime,compress=zstd
aux deux points de montage btrfs (/
et /home
)tmpfs /tmp tmpfs defaults,mode=1777,nosuid,size=4196M 0 0 tmpfs /var/tmp tmpfs defaults,mode=1777,nosuid,size=4196M 0 0
sudo bash -c 'echo "vm.swappiness=1" >> /etc/sysctl.conf'
sudo btrfs filesystem defragment -r -v -czstd /
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
sudo systemctl disable NetworkManager-wait-online.service
/usr/local/bin/limit-battery-60
contenant:#!/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
sudo crontab -e
et j'ajoute la ligne:@reboot /usr/local/bin/limit-battery-60
cat /sys/class/power_supply/BAT1/charge_control_end_threshold
doit renvoyer 60.cat /sys/class/power_supply/BAT1/status
renvoie "Charging
".cat /sys/class/power_supply/BAT1/status
renvoie "Unknown
".sudo apt install numlockx
puis Menu Administration > Écran de connexion > onglet Options > cocher Activer le verrouillage du pavé numérique./etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
changer wifi.powersave = 3
en wifi.powersave = 2
(source)iwconfig
doit indiquer: Power Management:off
/etc/systemd/logind.conf.d/do-not-suspend.conf
contenant:HandleLidSwitch=lock
man logind.conf
~/.config/caja/scripts
~/.bash_aliases
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
progress -M
)Suppression de logiciels que je n'utiliserai pas:
sudo apt purge transmission-*
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
Ces logiciels seront mis à jour lors d'un futur "apt update/upgrade".
sudo add-apt-repository ppa:mozillateam/ppa
sudo apt install -t "o=LP-PPA-mozillateam" firefox
/etc/apt/preferences.d/firefox-mozilla.pref
contenant:Package: firefox* Pin: release o=LP-PPA-mozillateam Pin-Priority: 501
sudo add-apt-repository ppa:inkscape.dev/stable sudo apt update sudo apt install inkscape
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
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.
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
7zz
(au lieu de 7z ou 7za):sudo cp 7zz /usr/local/bin sudo chmod +x /usr/local/bin/7zz
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
sudo yt-dlp -U
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
sudo apt install openjdk-17-jre
sudo apt install openssh-server fail2ban
sudo bash -c 'echo "Port 57222" >> /etc/ssh/sshd_config.d/custom.conf'
sudo service ssh restart
/etc/fail2ban/jail.local
:[sshd] enabled = true port = 57222 filter = sshd logpath = %(sshd_log)s backend = %(sshd_backend)s maxretry = 4 bantime = 86400
sudo service fail2ban restart
sudo fail2ban-client status sshd
sudo fail2ban-client set sshd unbanip <adresseip>
sudo timeshift --create && sudo apt update && sudo apt full-upgrade
sudo btrfs scrub start /
sudo watch btrfs scrub status /
sudo btrfs scrub stop /
autoremove
) et suppression du cache apt des paquets qui n'existent plus (autoclean
):sudo apt autoremove sudo apt autoclean
ulimit -n 600000 sudo jdupes -r -B /etc /opt /root /var /usr sudo jdupes -r -B /home