Outils pour utilisateurs

Outils du site


ubuntu2104

Checklist d'installation Ubuntu Mate 21.04

Cette page est une checklist personnelle et rapide pour l'installation d'Ubuntu Mate 21.04. Objectifs:

  • Être rapidement opérationnel.
  • Avoir tout ce qu'il faut pour travailler.
  • Être en sécurité.

J'utilise la variante "Mate" d'Ubuntu 21.04 car elle est plus légère, et je n'aime pas le desktop par défaut d'Ubuntu.

Notez qu'il s'agit d'une configuration du système qui est particulière à mon usage: Comme il s'agit d'une checklist personnelle, tous les choix ne seront pas forcément expliqués. Elle est envisagée ici dans le cadre de l'installation sur une nouvelle machine, et non d'une migration.

Exemple de bureau Mate configuré


Installation et partitionnement

Depuis la 21.04, Ubuntu installe le bootloader (grub) 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 d'Ubuntu):

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.
/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 d'Ubuntu créé automatiquement 2 volumes: @ (monté sur /) et @home (monté sur /home)

Partitionnement pendant l'installation 1)

  1. Type d'installation: Choisir Autre chose
  2. Cliquer Nouvelle table de partition > Continuer
  3. Cliquer sur espace libre puis le bouton + pour créer une partition. Créer les partitions suivantes:
  4. Une partition de 64 Mo de type Partition système EFI:
  5. Une partition de 64 Mo de type Zone réservée pour le chargeur d'amorçage BIOS:
  6. Une partition de 8 Go de type Swap:
  7. Une partition de 300 Go laissée vide (Ne pas utiliser la partition):
  8. Le reste en btrfs:
  9. Périphérique où sera installé le programme de démarrage : Sélectionner la partition biosgrub (ici: /dev/sda2)

Dans le volume btrfs (/dev/sda5), l'installeur d'Ubuntu créera automatiquement deux volumes btrfs:

  • @ qui sera monté sur /
  • @home qui sera monté sur /home

Configuration après redémarrage

  • Refuser l'envoi de la télémétrie.
  • Décocher l'écran de bienvenue pour qu'il ne s'affiche plus.
  • Dans /etc/fstab:
    • ajout des options noatime,nodiratime,compress-force=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=10" >> /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.
  • Activation du firewall:
    sudo ufw enable
    • Config par défaut: Bloque toutes les connexion entrantes. Configuration par gufw ou Menu > Préférences > Configuration du pare-feu
  • Redémarrer, et tout de suite compresser tout ce qui n'est pas déjà compressé (btrfs):
    sudo btrfs filesystem defragment -r -v -czstd /
  • Installation des mises à jour: Menu > Administration > Gestionnaire de mises à jour > installer toutes les mises à jour.
  • Configuration des mises à jour: Je n'aime pas qu'il télécharge et installe automatiquement les mises à jour de sécurité. Je préfère avoir le contrôle, donc: Menu > Administration > Logiciels et mises à jour:
    • Onglet Mises à jour:
      • Lorsqu'il y a des mises à jour de sécurité: Choisir Afficher immédiatement (au lieu de Télécharger et installer automatiquement)
      • Me prévenir lorsqu'une nouvelle version d'Ubuntu est disponible: Choisir Jamais.
    • Tant qu'on est là, onglet Pilotes additionnels: Installer les éventuels pilotes additionnels (version la plus récente des pilotes NVidia par exemple).
  • Mise à jour des firmwares ? Menu > Accessoires > Firmware
  • Installation des packs de langues: Menu > Préférences > Prise en charge des langues
    • Le système va vous prévenir que la prise en charger est incomplète: Cliquer sur le bouton Installer.
  • 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
  • Désactiver l'économie d'énergie du Wifi pour une connexion plus stable:
    • Créer le fichier /etc/tlp.d/10-wifi.conf contenant:
      WIFI_PWR_ON_AC=off
      WIFI_PWR_ON_BAT=off
    • Modifier le fichier /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf et changer wifi.powersave = 3 en wifi.powersave = 2 (source)
    • Vérification: Après redémarrage, sur batteries la commande iwconfig doit indiquer: Power Management:off
  • 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 dans /etc/cron.daily (Listes de blocage DNS). Ne pas oublier le chmod +x /etc/cron.daily/hosts-update
  • Menu > Préférences > Gestion de l'énergie:
    • onglet Sur secteur :
      • Quand l'écran est rabattu : Écran vide
    • onglet Sur batterie :
      • Quand l'écran est rabattu : Écran vide
      • Lorsque le niveau de batterie est critique : Éteindre
    • onglet Général :
      • Lorsque le bouton de mise sous tension est appuyé : Me demander
      • Lorsque le bouton de mise en veille est appuyé : Ne rien faire
  • Apparence : Menu > Préférences > Apparence :
    • onglet Thème : Yaru-MATE-Dark
      • Bouton Personnaliser… : onglet Bordures de fenêtres > Ambiant-MATE-Dark
  • Configuration des barres d'outils:
    • Clic-droit sur la barre du bas > Supprimer ce tableau de bord
    • Clic-droit sur la barre du haut > Ajouter au tableau de bord:
      • Liste des fenêtres
      • Moniteur système (graphe CPU/mémoire/charge disque)
      • Moniteur réseau (pour voir le débit réseau)
      • Moniteur de fréquences (permet de réduire la fréquence du CPU pour économiser de la batterie)
      • Moniteur de capteurs matériel pour voir la température et la vitesse du ventilateur.
    • Clic-droit sur le moniteur système:
      • Activer Processeur, Mémoire, Réseau, Disque dur (Je ne détaille pas ici la config de chaque moniteur)
  • Menu > Préférences > MATE Tweak:
    • onglet Tableau de bord, cocher Activer le terminal déroulant (il s'appelle avec la touche F12).
    • onglet Fenêtres > Position des boutons de fenêtre : À gauche
  • Menu > Préférences > Indicateurs :
    • onglet Date et heure: activer Le mois et la date et Le jour de la semaine
  • FIXME outils smart.
  • 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 geany geany-plugins synaptic htop jdupes btrfs-compsize pigz progress ncdu gparted gpart mtools udftools firejail secure-delete sshfs sshpass borgbackup rclone rclone-browser iotop nethogs kazam x2goclient x2goserver p7zip-rar zstd ttf-mscorefonts-installer fonts-larabie-* gimp gimp-data-extras gimp-plugin-registry gimp-texturize inkscape timeshift smart-notifier gsmartcontrol filezilla pngnq optipng libjpeg-turbo-progs qbittorrent
  • 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.
  • geany geany-plugins : Un éditeur de texte sympa avec un certain nombre de plugins.
  • synaptic : GUI pour recherche et installation de paquets dans les dépôts.
  • htop : gestionnaire de tâche en terminal.
  • jdupes : Pour faire de la déduplication de fichiers dans btrfs.
  • 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.
  • borgbackup : l'un des meilleurs logiciels de backup (voir cette page).
  • rclone : excellent logiciel de synchronisation multi-clouds (supporte ftp/ssh/webdav/NextCloud/etc.). Éventuellement aller chercher la version sur le site officiel si le dépôt est à la traîne.
  • rclone-browser : une GUI pour RClone.
  • 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 : Car pour la retouche d'images Gimp n'est plus installé par défaut.
  • inkscape : Excellent logiciel de dessin vectoriel.
  • timeshift : Fait des snapshots du système (en utilisant btrfs) afin de pouvoir revenir en arrière en cas de problème lors d'une mise à jour ou d'un bidouillage du système.
  • smart-notifier gsmartcontrol : outils pour surveillance santé des disques.
  • 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.
  • qbittorrent : Comme client BitTorrent, je préfère qBitTorrent à Transmission.
  • FIXME les outils exfat

Installation des pilotes d'imprimantes

sudo apt install --install-recommends printer-driver-all
  • printer-driver-all : Pilotes d'imprimante. Car par défaut, par exemple, printer-driver-escpr n'est pas installé. Il manque donc un gros paquets de pilotes d'imprimantes Epson et autres. Une fois installé, le système reconnaît automatiquement beaucoup plus d'imprimante.

Installation de Wine

Les dépôts Ubuntu 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/ hirsute main'
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

Voir aussi ma page sur Wine pour plus d'explications.

Suppression de logiciels

sudo apt remove ubuntu-report transmission-gtk
sudo apt autoremove
  • ubuntu-report : Envoi de statistiques à Canonical.
  • transmission-gtk : Comme client BitTorrent, je préfère qBitTorrent.

Installation de logiciels hors dépôts


Installations/configurations complémentaires

Configuration de Timeshift

  • Si ce n'est pas déjà fait:
    sudo apt install timeshift
  • Menu > Outils système > Timeshift
  • Lancer l'Assistant s'il ne le fait pas au premier démarrage.
  • Type d'instantanné: btrfs
  • Laisser sur le disque par défaut (la partition btrfs)
  • Quotidienne: 8
  • Suivant > Suivant > Terminer

Installation et configuration du serveur ssh et fail2ban

  • sudo apt install openssh-server fail2ban
  • Changement du port par défaut (22) du serveur ssh: Créer le fichier /etc/ssh/sshd_config.d/custom.conf et mettre dedans:
    Port 57222
  • 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 dans le firewall:
    sudo ufw allow in 57222/tcp

Gaming

  • Menu > Administration > Boutique de logiciels
  • Rechercher Steam, Lutris > bouton Installer
  • Cliquer sur la file d'attente > Appliquer les changements

Sécurisation

Pare-feu

  • Activation:
    sudo ufw enable
  • Blocage par défaut de toutes les connexions entrantes.
  • Configuration: gufw ou Menu > Préférences > Configuration du pare-feu

BIOS/EFI

  • 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

  • Générer un mot de passe grub: grub-mkpasswd-pbkdf2 (cela va générer une ligne grub.pbkdf2.sha512.10000.E87FA7E3D21…).
  • Ajouter à la fin de /etc/grub.d/40_custom :
    set superusers="adm"
    password_pbkdf2 adm grub.pbkdf2.sha512.10000.E87FA7E3D21...
  • Puis: sudo update-grub
  • Pour déprotéger la première entrée:
    sudo mv /boot/grub/grub.cfg /boot/grub/grub.cfg.old
    sudo bash -c "sed '0,/--class ubuntu/s//--unrestricted --class ubuntu/' /boot/grub/grub.cfg.old > /boot/grub/grub.cfg"

    ( :!: cette action est à refaire après toute mise à jour de grub qui appelle update-grub, y compris lors de mises à jour système).

  • Lorsque le menu de Grub s'affiche, toute action autre que choisir la première entrée pour démarrer (sélectionner une autre entrée, ou utiliser E pour éditer une entrée) exigera login et mot de passe.

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.

Notes

  • Contrairement aux versions précédentes d'Ubuntu, Timeshift n'est plus installé par défaut.
  • L'écran de connexion, anciennement lightdm-greeter a été remplacé par Arctica Greeter qui ne possède pas encore de GUI de configuration.
    • Voir comment remplacer Arctica Greeter et remplacer par lightdm-greeter.
  • RedShift semble avoir encore avec des problèmes d'intégration (double lancement, etc.). Je l'ai donc désactivé pour le moment.
  • Applications à tester:
    • ULauncher à la place de Synapse ou Kupfer.
1)
Les tailles dans les captures d'écran ne concordent pas car je le fais dans une VM.
ubuntu2104.txt · Dernière modification: 2021/05/06 15:42 de sebsauvage