Outils pour utilisateurs

Outils du site


mint_customization_18_1

Cette page est obsolète. Voir la nouvelle page.

Checklist installation de Linux Mint 18.1 Mate

Introduction

Cette page contient:

  • Des manipulations que j'ai effectuées pour l'installation et la customisation de Linux sur mon ordinateur portable.
  • Diverses astuces et conseils généraux pour Linux.

Les buts pour moi sont:

  • Avoir tout les logiciels dont j'ai besoin pour travailler et me distraire.
  • Confort d'utilisation et confort visuel.
  • Sécurité.

Ce sont des choix de configuration tout à fait personnels, mais cela pourra peut-être rendre service à d'autres. C'est pour cela que je le publie.
Ces manipulations sont destinées à un public averti (Ne commencez pas si la ligne de commande vous effraie).

J'utilise un Linux Mint 18.1 MATE 64 bits installé sur un Asus P2 520LA-XO0456T. Certaines manipulations peuvent être spécifiques à LinuxMint, Ubuntu, Debian ou la machine elle-même.

Pourquoi Linux Mint ?

Je ne veux pas troller, mais voici mes raisons:
Pourquoi Linux Mint et pas une autre distribution ?

  • Parce que je veux une distribution qui « juste marche »: ça s'installe vite et il y a tout ce qu'il faut.
  • Parce que je n'ai pas à me soucier de l'installation d'éventuels pilotes propriétaires, c'est automatique.
  • Une remarquable stabilité lors des mises à jour (jamais une mise à jour ne m'a vautré le système).
  • Parce que j'ai l'environnement de bureau MATE, efficace. Et c'est un terrain connu. (Pas la dernière lubie d'un éditeur qui veut "révolutionner" le bureau.)
  • Derrière c'est du Debian et c'est solide, avec les outils correspondants (packaging, etc.)
  • Si j'ai besoin de versions cutting-edge de certains logiciels ou de logiciels non présents dans les dépôts, je peux facilement ajouter des PPA (LaunchPad).
  • Bref… Je peux facilement adpater le système et il sait se faire oublier. C'est ce que je demande à un OS.

Linux Mint est un système qui reste relativement peu gourmand. Vous pouvez l'utiliser confortablement avec 1 Go de RAM et 20 Go de disque dur. (Vous pouvez encore l'utiliser avec 512 Mo de RAM et 10 Go de disque dur.). C'est un bon choix pour recycler d'anciens ordinateurs (Bien sûr, on peut faire encore plus léger avec des distributions comme Xubuntu).

Téléchargement

Variantes disponibles

Il existe plusieurs "variantes" de Linux Mint (voir la page de téléchargement).

  • versions 32 bits ou 64 bits.
  • environnement de bureau Cinnamon, MATE, XFCE ou KDE.

La plupart des processeurs étant 64 bits, il paraît raisonnable de prendre la version 64 bits.

Quant à l'environnement de bureau, c'est principalement une question de goûts. Ceci dit, certains environnement exigent un processeur plus puissant. Dans l'ordre (plus gourmand au moins gourmand): Cinnamon, KDE, MATE, XFCE. J'ai une préférence pour MATE (terrain connu) et ne nécessitant pas de machine puissante.

Mon choix se porte donc sur la version MATE 64 bits.

Télécharger l'ISO

La page de téléchargement est .

Préférez la solution torrent pour télécharger l'ISO. Cela évite de surcharger leurs serveurs et les miroirs.

Vérifiez toujours l'ISO après téléchargement:

  • Calculez la checksum du fichier ISO que vous avez téléchargé:
    > sha256sum linuxmint-18.1-mate-64bit.iso
    b41c5258c03bd8fe4ecab5f1db33f4484bd1992ec306ea4bdde25fc7d6ea2f40 *linuxmint-18.1-mate-64bit.iso
  • Dans cette page, allez dans le sous-répertoire correspondant à la version de Mint que vous avez téléchargée (/17.3, /18, /18.1, etc.) et ouvrez le fichier sha256sum.txt (par exemple ici pour Linux Mint 18.1)
  • La checksum du fichier mentionnée dans ce fichier doit être identique à celle que vous avez calculée.
  • N'installez jamais Linux si la checksum est différente.

(L'avantage du téléchargement par torrent est justement que tous les clients Torrent vérifient automatiquement la checksum des ISO téléchargées.)

Une fois l'ISO téléchargée, vous pouvez:

Partitionnement

Avant installation du système, partitionnement du disque:

Note importante à propos de BIOS/MBR et UEFI/GPT

Note importante à propos de BIOS/MBR et UEFI/GPT

:!: Attention : La plupart des machines n'utilisent plus le système du MBR pour booter : Au lieu que ce soit le BIOS qui recherche le MBR pour booter dessus, c'est l'UEFI qui recherche une partition EFI (en FAT32) contenant les logiciels amorce des différents OS. Donc:

  • Il ne faut jamais supprimer les partitions EFI (ce sont de petites partitions FAT32 de 50 Mo à 300 Mo ayant le flag boot), sous peine de vous retrouver avec un ordinateur qui ne démarre plus (d'autant que certaines machines récente ne semblent plus du tout capables de booter en mode MBR).
  • Si SecureBoot est activé, la machine n'acceptera de booter que sur des logiciels amorce signés. Pour la plupart des distributions Linux, il faut désactiver SecureBoot.
  • L'option FastBoot peut poser problème, surtout si vous êtes en dual-boot où elle peut provoquer des corruptions de données dans les partitions NTFS. Désactivez-la.
  • Si vous voulez partitionner à la main:
    • gparted supporte sans problème GPT(UEFI), mais ce n'est pas le cas de tous les outils Linux. Faites attention !
    • Pensez à garder une partition EFI. Vous pouvez également la créer vous-même avant de lancer l'installation de Mint: Ce doit être une partition primaire en FAT32, portant le nom EFI et ayant le flag boot. Pour la taille, prévoyez 200 Mo, c'est largement suffisant.
    • (Vu sur un portable HP) Il arrive que gparted ne propose pas tous les disques dans son menu. Dans ce cas, lancez sudo fdisk -l (ou sudo parted -l) pour voir les /dev contenant vos disques, puis lancez gparted sur le disque en question: gparted /dev/nvme0n1
    • Pour voir tous vos disques, vous pouvez utiliser la commande lsblk.
  • Si vous voulez laisser faire l'installeur de Mint:
    • Si vous choisissez l'option Effacer tout le disque, l'installeur vous proposera automatiquement de re-créer une partition EFI viable. Vous pouvez donc choisir cette option sans risque si vous ne voulez pas partitionner à la main.


Mon choix de partitionnement:

Type de partition Nom Taille Utilisation Notes
FAT32 primaire EFI 230 Mo Démarrage Ne pas toucher. Cette partition doit avoir le flag boot.
ext4 primaire SYSTEM 60 Go Système (Monté sur /) J'ai vu large. 30 Go peuvent largement suffire.
ext4 primaire HOME le reste Données (Monté sur /home)
linux-swap 6 Go Swap La machine a 4 Go de RAM. J'ai mis 1,5 x 4 Go pour cette partition swap. Ceci dit, j'utilise zram qui permet d'éviter les écritures sur le swap (voir plus loin)

Le fait d'avoir mon /home séparé me permet de faire une réinstallation complète du système (ou même de changer de distribution) avec le moins de douleur possible (je garde ainsi tous mes fichiers perso et réglages d'applications).

Mémo sauvegarde/image/ghost des partitions

Mémo sauvegarde/image/ghost des partitions

Il peut être utile de garder une copie des partitions existantes (y compris Windows pré-installé et partitions de récup) avant de tout zapper pour mettre Linux.

  • Sauvegarde du MBR :
    • Logiciel amorce + table de partitions:
      • Sauvegarde:
        sudo dd if=/dev/sda of=windows.mbr bs=512 count=1
      • Restauration:
        sudo dd if=windows.mbr of=/dev/sda
    • Logiciel amorce seul (sans table de partition):
      • Sauvegarde:
        sudo dd if=/dev/sda of=amorce.bin bs=446 count=1
      • Restauration:
        sudo dd if=amorce.bin of=/dev/sda
    • Table de partition seule (sans logiciel amorce):
      • Sauvegarde:
        sudo sfdisk -d /dev/sda > sda.sfdisk
      • Restauration:
        sudo sfdisk --force /dev/sda < sda.sfdisk
      • Notez que sfdisk ne supporte pas GPT/UEFI, Dans ce cas, sauvegardez juste le MBR en entier avec dd (il contient la table des partitions) ainsi que la partition EFI elle-même.
  • :!: Important : Faites une copie de la partition EFI présente (et ne jamais l'effacer sous peine de vous retrouver avec un ordinateur non bootable). Vous pouvez utilisez partclone.fat32 (à utiliser de la même manière que partclone.ntfs ci-dessous).
  • Image de la partition Windows
    • L'image d'une partition Windows (NTFS) peut être faite avec ntfsclone ou partclone. Les deux se basent sur la même librairie, mais partclone a quelques avantages:
      • Clonage directe possible d'une partition à une autre (de partition à partition).
      • Affichage de la progression et temps restant.
      • Calcul d'une CRC dans le fichier image.
      • Support de tous les systèmes de fichiers (ntfsclone ne supporte que ntfs).
      • Attention les images partclone ne sont pas compatible avec celle de ntfsclone.
    • Exemple avec partclone (avec compression):
      • Sauvegarde:
        sudo partclone.ntfs -c -d -s /dev/sda1 | gzip -c9 > /mnt/disk/partwindows.partclone.ntfs.gz
      • Restauration:
        sudo zcat /mnt/disk/partwindows.partclone.ntfs.gz | partclone.ntfs -d -r -o /dev/sda1
    • avec ntfsclone (avec compression):
      • Sauvegarder:
        sudo ntfsclone --save-image -o - /dev/sda1 | gzip -c9 > /mnt/disk/partwindows.ntfsclone.gz
      • Restaurer:
        sudo zcat /mnt/disk/partwindows.ntfsclone.gz | ntfsclone --restore-image --overwrite /dev/sda1 -


Migration Linux Mint 17.3 ⇒ 18.1

(Cette section est sans intérêt si vous installez un nouveau système.)

Ayant une partition /home séparée du système, j'ai choisi de migrer de Linux Mint 17.3 à 18.1 par ré-installation complète: J'ai booté sur une clé USB Mint 18.1 et utilisé l'installeur:

  • en reformatant ma partition système précédente (toujours montée sur /).
  • en réutilisant ma partition /home précédente.

A la fin de l'installation, j'avais un système immédiatement opérationnel, avec tous mes fichiers et réglages conservés (raccourcis clavier, fond d'écran, plugins et marques-page Firefox…). C'est tout l'intérêt d'avoir une partition séparée pour /home, et je vous le recommande chaudement.

Cela simplifie grandement les changements de système d'exploitation ou les ré-installation. Même en repartant de zéro (ré-installation complète du système d'exploitation), il ne faut que quelques minutes pour retrouver un système opérationnel.

Voici ce que j'ai dû faire après ré-installation:

  • Changer de thème pour l'apparence des fenêtres (l'ancien thème n'existant plus).
  • Ré-installer les applications (j'ai simplement repris la ligne sudo apt install … que j'avais précédemment notée) en prenant en compte:
    • quelques paquet qui ont changé de nom (par exemple steam-launchersteam)
    • ceux qui n'existent plus (comme fonts-droid)
    • ceux qui font désormais partie des dépôts (firejail, synapse) et ne nécessitent plus d'installation manuelle.
  • Le répertoire Steam n'est plus au même endroit, et sa structure doit avoir changé car il l'a refusé même quand je lui ai mis là où il l'attendait. J'ai dû ré-installer mes jeux Steam.
  • Le dépôt getdeb.net étant désormais fermé (snif) , j'ai dû installer manuellement quelques paquets (xnviewmp, dukto).

Installation

  • Avant installation, désactivez SecureBoot et FastBoot dans l'UEFI.
  • Insérez le DVD de Linux (ou la clé USB), maintenez ESC enfoncé au démarrage et dans les options de démarrage il devrait vous proposer de démarrer sur le DVD (SlimDVD…) ou la clé USB. Notez que si vous voulez vous faire une clé USB Linux bootable pour installation, je vous recommande d'utiliser UNetBootin. Instructions dans cette page.
  • Conseils:
    • :!: Lors de l'installation, la connexion à internet est indispensable pour aller chercher les logiciels d'amorçage UEFI (sans quoi toute l'installation va bien se dérouler, et vous verrez une erreur au moment de l'installation du logiciel amorce UEFI par Grub2).
    • Lors de l'installation, pensez à cocher la case pour installer les pilotes et codecs propriétaires:

Mises à jour

Après installation, le système vous proposera 3 modes de suivi des mises à jour. Vous pouvez laisser le réglage intermédiaire («Optimiser la stabilité et la sécurité. ») et cliquer sur Valider.

  • Configuration des mises à jour: Ouvrir le gestionnaire de mises à jour (il devrait afficher son icône de bouclier après le re-démarrage):
    • Menu Édition > Préférences:
      • Onglet "Options":
        • Cocher en plus "Toujours cocher les mises à jour de sécurité"
        • Décocher "Toujours afficher les mises à jour du noyau"
        • Cocher "Ne pas suggérer l'utilisation de dépôts locaux"
      • Onglet "Actualisation automatique":
        • D'abord… : Mettre 15 minute. (Je ne veux pas être embêté au démarrage avec les mises à jour)
        • Ensuite… : Mettre 7 jours (pas besoin de vérifier toutes les 2 heures, c'est excessif)
    • Cliquer sur le bouton "Appliquer".
  • Installation des mises à jour: Cliquez sur le bouton Installer les mises à jour.
    • Note: il est possible que dans un premier temps, le gestionnaire de mise à jour ne vous propose qu'une ou deux mises à jour (dont MintUpdate), et après l'installation de celle-ci, vous en proposera d'autres. C'est normal: Mint a souvent ce mode de fonctionnement.
  • Si vous n'étiez pas connecté à internet lors de l'installation: Installer toutes les traductions manquantes: Centre de contrôle > Langues > Installer/supprimer des langues…, sélectionner French, France UTF-8. S'il n'est pas marqué «Entièrement installé», bouton Installer les pack linguistiques, puis Appliquer à tout le système.

Sécurisation

  • Le firewall ufw (et son interface graphique gufw) sont installés par défaut, mais pas activés. Activons-le:
    sudo ufw enable
  • Protéger Grub par mot de passe
    • Par défaut Grub est accessible en pressant ESC ou ⇧ Shift au moment du démarrage. N'importe qui peut démarrer en mode récupération. Nous allons protéger à la fois l'édition des menus Grub (touche E) et l'accès à certains menus (y compris ceux de récupération).
    • Générez un mot de passe grub: grub-mkpasswd-pbkdf2. Entrez deux fois un mot de passe et récupérez le texte (grub.pbkdf2.sha512.10000.E87FA7E3D21…)
    • Ensuite ajoutez à la fin du fichier /etc/grub.d/40_custom :
      set superusers="adm"
      password_pbkdf2 adm grub.pbkdf2.sha512.10000.E87FA7E3D21...

      Votre login grub sera 'adm' avec le mot de passe que vous avez défini.

    • Sauvegardez et lancez: sudo update-grub
    • Pour laisser la première option du menu Grub (boot par défaut) accessible sans mot de passe, il faut ajouter l'option –unrestricted à la première ligne menuentry:
      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"
    • :!: grub.cfg étant écrasé par la commande update-grub (et donc à chaque mise à jour du paquet grub ou du noyau), il faudra relancer les deux commandes précédentes.


Apparence/comportement

J'aime les thèmes sombres car ils sont plus reposants pour les yeux (moins de luminosité). Avec mes réglages, ça donne ceci:

  • Thèmes:
    • Ajout de thèmes supplémentaires (fenêtres et icônes): sudo apt install mate-themes community-themes gnome-themes-* light-themes
    • Centre de contrôle > Apparence:
      • Onglet Thème : Mint-Y-Dark, bouton Personnaliser…
        • Bordures de fenêtres > New Wave
        • Pointeur > MATE
      • Onglet Polices
        • Détails > Résolution : 80 points par pouce.
        • Lissage sous-pixel (LCD), Optimisation légère.
    • Centre de contrôle > Notifications d'évènement: Thème "Curseur".
    • Centre de contrôle > Paramètres du bureau : Tout décocher. (Je n'aime pas avoir plein d'icône sur le bureau.)
  • Comportement du menu Mint:
    • Clic-droit sur le bouton de menu > Préférences:
      • Onglet Applications, décocher Survoler (je préfère cliquer).
      • Onglet Système, cocher Autoriser la barre de défilement et mettre en Hauteur : 700 (de manière à ce que le menu soit plus grand à l'écran).
  • Navigateur de fichiers (Caja):
    • Menu Edition > Préférences
      • Onglet Vues > Vue par défaut: Compacte
      • Onglet Comportement > cocher Inclure une commande Supprimer qui ignore la corbeille.
      • Onglet Supports:
        • cocher Ne jamais demander ou démarrer des programmes à l'insertion d'un support
        • décocher Parcourir les supports lors de leur insertion
    • Note: Dans Caja, pensez à presser F3 pour avoir deux panneaux.
  • NumLock activé sur l'écran de login:
    • sudo apt install numlockx
    • Centre de contrôle > Fenêtre de connexion > Options, cocher Activer NumLock.
  • Raccourcis clavier pour la luminosité d'écran:
    • Comme les touches multimédia "luminosité +/-" ne semblent pas fonctionner, je met en place un petit contournement:
      • Installation de xblacklight: sudo apt install xbacklight
      • Dans les raccourcis clavier Mate, j'en ajoute deux:
        • Ctrl+Maj++ : commande: xbacklight -inc 10
        • Ctrl+Maj+- : commande: xbacklight -dec 10
        • Et je peux maintenant régler la luminosité d'écran avec Ctrl+Maj++/-
  • Trackpad: Centre de contrôle > Souris > Pavé tactile:
    • Cocher Désactiver le pavé tactile lors de la frappe au clavier (pour éviter les "click" intempestifs quand vous frappez au clavier.)
    • Défilement: deux doigts (je préfère au défilement par le côté droit)
    • Cocher Activer le défilement naturel afin que quand vous faites glisser deux doigts vers le haut la page monte.
    • Ou si vous préférez paramétrer ça en ligne de commande:
      dconf write /org/mate/desktop/peripherals/touchpad/touchpad-enabled true
      dconf write /org/mate/desktop/peripherals/touchpad/disable-while-typing true
      dconf write /org/mate/desktop/peripherals/touchpad/scroll-method 2
      dconf write /org/mate/desktop/peripherals/touchpad/natural-scroll true
  • Mise à jour de fortune (citations):
    • fortune n'a que de vieilles citations (2004), et la majorité en anglais. Voici comment les mettre à jour:
    • Supprimez les citations existantes:
      sudo rm -rf /usr/share/games/fortunes/*
    • Récupérez le fichier citation-celebre.7z (2 Mo, md5 4bf707f4d4a1af8457834d8578699a52), décompressez-le. (Il contient plus de 69000 citations, de Confucius à Les Nulls.) 1)
    • Copiez ces 2 fichiers:
      sudo cp citation-celebre.com* /usr/share/games/fortunes
    • Testez:
      fortune
    • Pour afficher une citation quand vous ouvrez un nouveau shell, vous pouvez mettre dans votre ~/.bashrc:
      fortune

      ou si vous préférez:

      fortune | cowsay
  • Rhhâââ… ggnnïïï… Y'a rien à faire, chaque développeur de bureau (MATE et consors) se sentent obligés de ré-implémenter xscreensaver, mais comme d'habitude de manière toute pourrie au lieu d'utiliser xscreensaver. Donc cette version de MATE inclue enfin les économiseurs d'écran de xscreensaver, mais on ne peut toujours rien configurer ! Je n'ai pas envie de me retaper la procédure pour ré-installer xscreensaver, vous la trouverez dans ma page sur Linux Mint 17.3. J'ai juste modifié les paramètres d'un seul économiseur d'écran: Dans /usr/share/applications/screensavers/phosphor.desktop j'ai changé la ligne:
    Exec=/usr/lib/xscreensaver/phosphor -root -program 'sleep 10 && echo "" && fortune|fold -w 35 -s && sleep 5' -delay 100000
  • Installation de RedShift pour ne pas m'exploser les yeux:
    • sudo apt install redshift-gtk
    • Création du fichier de config: xed ~/.config/redshift.conf (pris de cette page) (Pensez à corriger latitude et longitude dans ce fichier):

redshift.conf

redshift.conf

redshift.conf
[redshift]
temp-day=4800
temp-night=3500
transition=1
gamma=0.8
location-provider=manual
adjustment-method=randr
 
[manual]
lat=48.1
lon=11.6
  • Lancer redshift-gtk & et sur l'icône de la barre de notif, faire clic-droit > Lancement automatique (RedShift sera lancé automatiquement au démarrage de la session et ira prendre en compte le fichier de config s'il est présent).
  • Fonds d'écran:
    • Mint est déjà fourni avec un bon paquet de très chouettes fonds d'écran, mais si ça ne suffit pas, faites:
      sudo apt install mint-backgrounds-* ubuntu-wallpapers-*
    • Une fois installés, allez dans Changer l'arrière-plan du bureau, bouton Ajouter… et sélectionnez les images présentes dans /usr/share/backgrounds/ (car tous les fonds d'écran installés ne sont pas tous automatiquement proposé quand vous changez le fond d'écran).
    • Et je me garde aussi ma petite collection personnelle.
  • Fenêtre de connexion: Centre de contrôle > Fenêtre de connexion > Je prend MDModern que je trouve sobre et plus pratique.
  • Quelques bricoles que je ne détaille pas (ajout de widgets dans la barre système: déloguer/éteindre/moniteur CPU/mémoire, changement de raccourcis clavier (ex: Ctrl+ pour agrandir les fenêtres), etc.)

Réglages divers

  • Utilisation des canaux WiFi légaux en France: Dans /etc/rc.local, ajouter une ligne (avant le exit 0):
    iw reg set FR
  • Désactivation de l'économie d'énergie du WiFi:
    • Dans /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf, remplacer wifi.powersave = 3 par wifi.powersave = 2. (source).
    • Dans /etc/rc.local, ajouter la ligne iw dev wlp3s0 set power_save off avant le exit 0 (wlp3s0 est l'identifiant de votre interface réseau Wifi, à trouver en tapant iwconfig)
  • Changement des DNS: Je n'utilise pas les DNS des grands FAI français car ils sont censurés. Clic-droit sur le gestionnaire de connexion réseau > Modification des connexions > choisir une connexion > Modifier… > onglet Paramètres IPv4 > choisir «Adresses automatique uniquement (DHCP)» puis dans les DNS, mettre, 80.67.169.12, 80.67.169.40 (ce sont ceux de FDN).
    • Mais personnellement, pour de meilleurs performances, j'ai installé un serveur DNS local (voir l'installation de unbound). (Unbound désactivé car instable si votre connexion internet n'est pas stable)
  • Réduction de l'utilisation du swap (1): Avec 4 Go de RAM, on a pas vraiment de raison d'utiliser le swap. On a plusieurs solutions:
    • Solution 1 : Demander au système de réduire son utilisation du swap:
      • Faire:
        sudo bash -c 'echo "vm.swappiness=10" >> /etc/sysctl.conf'
      • Rebooter pour prendre en compte, ou faire sudo sysctl -p
    • Solution 2 : Désactiver complètement le swap :
      • Dans le fichier /etc/rc.local, avant le exit 0, mettre:
        swapoff -a
      • Notez qu'avec le swap désactivé, vous ne pourrez plus mettre l'ordinateur en hibernation. (Ou alors faites sudo swapon -a juste avant d'hiberner.)
      • EDIT: Il semblerait que quelque chose dans le système ré-active le swap même quand on le désactive. À résoudre.
  • Réduction de l'utilisation du swap (2): Vous pouvez - en complément du swappiness - utiliser zram:
    • zram permet (entre autres) d'utiliser une partie de la RAM à la place de votre partition de swap. zram compresse les données.
    • Installation: sudo apt install zram-config.
    • En principe, c'est directement actif (sans redémarrer). Vérifiez en tapant: cat /proc/swaps. Exemple:
      Filename				Type		Size	Used	Priority
      /dev/sda4                               partition	7166972	0	-1
      /dev/zram0                              partition	465804	5868	5
      /dev/zram1                              partition	465804	5860	5
      /dev/zram2                              partition	465804	5880	5
      /dev/zram3                              partition	465804	5884	5
    • Si vous n'avez pas les '/dev/zramX', redémarrez.
    • Les blocs mémoire compressés seront utilisés en priorité sur votre vraie partition de swap (ici: sda4).
    • S'il n'y a plus de place dans zram, votre swap réel commencera à être utilisé.
    • (Sur ma machine qui a 4 Go de RAM, en lançant trois tonnes d'applications pour saturer la RAM, en me retrouvant avec 408 Mo de swap utilisé, pas un seul octet n'a commencé à être écrit dans la partition de swap. Excellent.)
    • Si vous avez un disque dur normal, votre CPU sera plus rapide à (dé)compresser les données que le disque à les lire/écrire. Vous êtes donc forcément gagnant.
    • Si vous avez un SSD, cela permet au système de swapper en évitant au maximum les écritures disque. Vous allongez donc la durée de vie de votre SSD.
    • Pour voir l'utilisation des segments zram, tapez zramctl.
  • /tmp en RAM seulement: Si vous avez assez de RAM, vous pouvez mettre le répertoire des fichiers temporaires /tmp en mémoire.
    • Avantages:
      • Beaucoup plus rapide que sur disque.
      • Use moins le disque dur (très utile pour les SSD).
    • Notes:
      • Les données écrites dans /tmp seront perdus au redémarrage.
      • tmpfs ne consomme pas toute la RAM qu'on lui alloue, mais seulement les fichiers qu'il stock.
      • Si des applications réclament de la RAM, tmpfs écrira ses données dans le swap pour laisser la place aux applications.
    • Mise en place: Ajoutez la ligne suivante dans /etc/fstab (taille à votre convenance):
      tmpfs /tmp tmpfs defaults,relatime,mode=1777,nosuid,size=8192M 0 0
    • Note: Il ne faut pas mettre /var/tmp en RAM de la même manière. Certaines applications pourraient ne pas fonctionner correctement.
    • Note: J'ai remarqué des difficulté avec certains outils (par exemple transfert de gros fichiers en MTP qui échouent quand on a un tmpfs en mémoire pas assez grand).
  • Surveillance santé disque dur : Activer le démon smartd:
    • sudo apt install smart-notifier gsmartcontrol
    • Dans /etc/default/smartmontools, mettre start_smartd=yes et lancer le démon: sudo service smartmontools start
    • smart-notifier affichera automatiquement une notification en cas de problème détecté sur le disque dur.
    • gksu gsmartcontrol permet d'aller examiner les paramètres du disque dur.

Installation de logiciels des dépôts

  • Installation de logiciels:
    sudo apt install firejail fail2ban ttf-mscorefonts-installer synapse zeitgeist kodi qbittorrent htop playonlinux gparted gimp-gmic gimp-plugin-registry gimp-texturize libav-tools libavcodec-extra steam fslint skype virtualbox-qt virtualbox-ext-pack virtualbox-guest-additions-iso pigz pbzip2
    • firejail : permet de lancer des applications les isolant du système. Par exemple, on peut interdire à une application d'aller sur le net, ou lui fournir un répertoire /home bidon pour qu'elle ne puisse pas aller fourrer son nez dans nos fichiers perso (coucou Skype…).
    • fail2ban : protection contre les attaques bruteforce (je m'en sers pour protéger le serveur ssh et autres).
    • ttf-mscorefonts-installer : Polices Windows.
    • synapse zeitgeist : Synapse est un lanceur rapide (Ctrl+Espace) plus pratique de Gnome-Do ou Kupfer. Zeitgeist permet à Synapse d'améliorer ses prédictions.
    • kodi, le centre multi-média (anciennement xbmc).
    • qbittorrent : Client BitTorrent très complet que je préfère à Transmission.
    • htop : un bon gestionnaire de processus en terminal. (P=tri par CPU, M=tri par mémoire, t=affichage par arbre, H=masquer multiples threads, F4=filtrer, k=tuer, q=quitter)
    • playonlinux : Installe Wine pré-configuré. Utile pour faire tourner certaines applications Windows sans avoir à lancer VirtualBox.
    • gparted : pour (re)partionner des disques.
    • gimp-gmic gimp-plugin-registry gimp-texturize : plugins supplémentaires pour Gimp.
    • libav-tools libavcodec-extra : Pour avoir avconv, le remplaçant de ffmpeg pour la conversion audio/vidéo.
    • steam : Pour avoir mes jeux Steam.
    • fslint : pour trouver les fichiers en double et faire le ménage.
    • virtualbox-qt virtualbox-ext-pack virtualbox-guest-additions-iso : machine virtuelle pour besoins spécifiques (tester des distributions, faire tourner certains logiciels Windows)
    • pigz pbzip2 : Version parallélisées de gzip et bzip2. En gros, ils fonctionnent pareil que gzip/bzip2, mais tirent partie des multi-coeurs. Ils vont donc beaucoup plus vite, et produisent des fichiers totalement compatibles avec gzip/bzip2. D'ailleurs vous pouvez très bien mettre dans votre .bashrc:
      alias gzip=’pigzalias bzip2=’pbzip2
    • skype : oui, Skype, car malheureusement la famille lointaine utilise ça. Mais comme je ne lui fais pas confiance, je l'isole avec firejail.
      • Je créé un répertoire qui lui sera servi comme répertoire perso (afin qu'il n'ait pas accès à mes vrais fichiers perso):
        mkdir -p ~/data/apphomes/skype
      • Je modifie le raccourcis qui lance Skype:
        notify-send -i info -t 5000 "Skype" "Lancement par firejail..." ; env PULSE_LATENCY_MSEC=60 firejail --private=~/data/apphomes/skype skype %U
      • Il n'aura accès ainsi à aucun de mes fichiers perso, juste à ses propres fichiers de config.

Installation de logiciels hors dépôts

Installation de logiciels hors dépôts:

    • Télécharger la dernière version (VeraCrypt Linux Setup x.xx)
    • Décompresser le .tar.bz2
    • Lancer l'installeur qui correspond à votre archi (veracrypt-1.19-setup-gui-x64 pour les 64 bits ou veracrypt-1.19-setup-gui-x86 pour les 32 bits).
    • Notez que VeraCrypt ne peut pas monter certaines partitions TrueCrypt.
  • xnviewmp : Un excellent gestionnaire d'image auquel je suis habitué. Fonctions de conversion en lot très pratiques. (Gratuit pour une utilisation personnelle.)
  • dukto, un logiciel de partage rapide de fichier/presse-papier en LAN.
  • Vivalvi, un très bon navigateur alternatif à Firefox.
    • Page de téléchargement : https://vivaldi.com/download/
    • Prenez le .deb 64 bits.
    • Non non et non, on installe pas une tâche planifiée sans me demander mon avis:
      sudo rm /etc/cron.daily/vivaldi
  • TOR (https://www.torproject.org/download/download), car la version des dépôts est trop ancienne.
    • Téléchargez le fichier tor-browser-linux*.tar.xz
    • Décompresser-le
    • Placez le répertoire tor-browser_en-US où vous voulez, mais il ne faudra plus le déplacer après.
    • Dans ce répertoire, lancez Tor Browser Setup : l'icône va se changer en Tor Browser
    • De ce même répertoire, copiez le fichier start-tor-browser.desktop vers ∼/.local/share/applications Cela va créer un raccourcis dans le menu.
    • Protection (encore imparfaite3)) avec firejail:
      • Sachant que TOR est installé chez moi dans ~/apps/tor-browser_en-US, je créé le fichier ~/.config/firejail/start-tor-browser.profile:
        # TOR browser profile
        include /etc/firejail/disable-mgmt.inc
        include /etc/firejail/disable-secret.inc
        include /etc/firejail/disable-common.inc
        include /etc/firejail/disable-devel.inc
        netfilter
        #include /etc/firejail/whitelist-common.inc
        whitelist ${HOME}/apps/tor-browser_en-US
      • Lancement:
        firejail ~/apps/tor-browser_en-US/Browser/start-tor-browser
      • Au lancement, vous devriez bien voir: Reading profile /…./.config/firejail/start-tor-browser.profile
  • Aller télécharger les jeux non-Steam que j'ai sur GOG, HumbleBundle et Minecraft.
    • Note: Pour certains jeux de GOG, il faut installer certaines librairies:
      sudo apt install libc6:i386 libasound2:i386 libasound2-data:i386 libasound2-plugins:i386 libstdc++6:i386 libx11-6:i386 libxau6:i386 libxcb1:i386 libxcursor1:i386 libxdmcp6:i386 libxext6:i386 libxfixes3:i386 libxinerama1:i386 libxrandr2:i386 libxrender1:i386 libglu1:i386 libcurl3:i386 libgtk2.0-0:i386 libopenal1:i386
  • Installation de polices de caractères supplémentaires (polices pour développeurs):
    mkdir -p ~/.fonts
    cd ~/.fonts
    
    wget https://github.com/madmalik/mononoki/releases/download/1.2/mononoki.zip
    unzip mononoki.zip && rm mononoki.zip
    
    wget https://robey.lag.net/downloads/mensch.ttf
    
    fc-cache -fv

Suppression de paquets

sudo apt purge apt-xapian-index transmission-gtk
  • apt-xapian-index : je retire l'indexeur de paquets débian qui sert dans la recherche rapide Synaptic (jamais efficace: la recherche normal Synaptic est de toute manière toujours meilleure).
  • transmission-gtk : Ce client torrent n'est pas mauvais, mais je préfère qbittorrent (plus complet).
  • Nettoyage d'éventuels paquets qui ne sont plus utiles: sudo apt autoremove

Clé USB bootable

Je garde toujours une clé USB bootable de Linux Mint avec moi pour plusieurs raisons:

  • Si un jour le système est complètement crashé et ne démarre plus, je peux booter sur la clé pour récupérer mes fichiers.
  • Je peux me servir de la clé pour réparer mon système ou le réinstaller entièrement en cas de problème (mon /home étant dans une partition séparée, je peux réinstaller le système sans perdre mes données).
  • Je peux également m'en servir pour re-partitionner mes disques.
  • Je peux dépanner d'autres personnes avec, même celles qui sont sous un Windows qui ne démarre plus.
  • Je peux m'en servir pour surfer sur une machine sans craindre un keylogger 4).

Instructions: Création d'une clé bootable USB Linux Mint

Opérations optionnelles et astuces

Améliorer le cache DNS (dnsmasq)

  • Par défaut, dans Linux Mint, le gestionnaire réseau (NetworkManager) lance un serveur DNS local (dnsmasq).
  • Par défaut, dnsmasq ne garde pas en cache les réponses DNS, mais on peut le forcer:
    sudo bash -c "echo 'cache-size=2000' >> /etc/NetworkManager/dnsmasq.d/cache.conf"
    sudo service network-manager restart
  • dnsmasq garde maintenant en mémoire les réponses DNS.
  • Pour voir le status de dnsmasq:
    • ouvrez un terminal et tapez:
      tail -f /var/log/syslog | grep dnsmasq
    • et tapez dans un autre terminal:
      sudo pkill -10 dnsmasq
    • Vous devriez voir la taille du cache (2000):
      Aug  6 11:09:53 mint181mate dnsmasq[982]: taille de cache 2000, 0/28 insertions dans le cache entrées non-expirées réutilisées
    • ainsi que le nombre de requêtes résolues grâce au cache:
      Aug  6 11:09:53 mint181mate dnsmasq[982]: requêtes transmises 147, requêtes résolues localement 61

Installer un cache DNS local (unbound)

  • Par défaut, dans Linux Mint, le gestionnaire réseau (NetworkManager) lance un serveur DNS local (dnsmasq). On peut le remplacer par unbound, plus efficace.
J'ai finalement désactivé Unbound. Il semble manquer de stabilité quand votre connexion internet n'est pas stable. Je suis revenu à dnsmasq en lui configurant un cache.
  • Demandez à NetworkManager ne ne plus lancer dnsmasq:
    sudo sed -i 's/dns=dnsmasq/#dns=dnsmasq/g' /etc/NetworkManager/NetworkManager.conf
    sudo service network-manager restart
  • Installer unbound:
    sudo apt install unbound
  • Créer le fichier texte /etc/unbound/unbound.conf.d/myconf.conf, mettre:
    server:
     #do-ip6: no
     interface: 127.0.0.1
     access-control: 0.0.0.0/0 refuse
     access-control: ::0 refuse
     access-control: 127.0.0.0/8 allow
     access-control: ::1 allow
     cache-min-ttl: 86400
    
    forward-zone:
     name: "."
     forward-addr: 9.9.9.9
     forward-addr: 149.112.112.112
     forward-addr: 2620:fe::fe
     forward-addr: 2620:fe::9
    • Explication de certaines options:
      • interface: 127.0.0.1 : Il ne sera en écoute que sur l'interface locale (donc pas accessible de l'extérieur de la machine)
      • access-control: … : Par mesure de sécurité, je demande à unbound de ne répondre qu'aux requêtes provenant de la machine elle-même.
      • forward-addr: …: Quand unbound n'a pas un domaine en cache, il ira demander à ces serveurs. Je prend les serveur de Quad9.
      • cache-min-ttl: 86400 : Certain propriétaires de domaine étant très cons, ils mettent des durées de vie (TTL) ridiculement basse pour leur enregistrement DNS (parfois seulement 60 ou 120 secondes), forçant unbound à aller refaire des requêtes vers l'extérieur. Je force un TTL à 24 heures. (S.B. n'approuverait pas, mais c'est ma machine.)
  • Redémarrer:
    sudo service unbound restart
  • Configurez vos connexions réseau pour pointer sur 127.0.0.1 dans NetworkManager: Clic-droit sur l'icône réseau > Modification des connexions… > choisir une connexion > Modifier… > Paramètres IPv4 > Serveurs DNS > entrer 127.0.0.1.
  • Pour voir à quelle vitesse se fait les résolution DNS, vous pouvez utiliser drill (sudo apt install ldnsutils):
    drill google.be
    • Regardez la ligne ;; Query time: xxx msec. Lors de la seconde interrogation, vous devriez voir 0 msec.
  • Pour afficher le cache d'unboud, vous pouvez faire:
    sudo unbound-control dump_cache | grep "^[^#;]" | less
  • Et pour voir combien de requêtes sont répondues par le cache et combien sont forwardées:
    > grep "unbound.*answers from cache" /var/log/syslog
    Mar 08 09:09:58 mycomputer unbound: [7885:0] info: server stats for thread 0: 4555 queries, 4536 answers from cache, 19 recursions, 0 prefetch
  • En cas de problème:

Cliquez pour déplier

Cliquez pour déplier

Si depuis la dernière mise à jour de Linux unbound ne semble plus fonctionner:

>nslookup google.fr 127.0.0.1
** server can't find google.fr: SERVFAIL

C'est un soucis au niveau des clés root DNS (probablement le fichier /var/lib/unbound/root.key qui a disparu, ou alors la clé ne correspond pas aux serveurs DNS vers lesquels vous forwardez). Vous verrez sûrement dans syslog:

Mar 08 08:50:12 mycomputer unbound: [2060:0] info: failed to prime trust anchor -- DNSKEY rrset is not secure . DNSKEY IN

Solution bourrin: désactiver DNSSEC. Dans votre conf unbound, dans la section server:, ajoutez une ligne:

domain-insecure: *

dans /etc/unbound/unbound.conf.d/root-auto-trust-anchor-file.conf, commentez la ligne:

   #auto-trust-anchor-file: "/var/lib/unbound/root.key"

Puis un petit:

sudo service unbound restart

et ça devrait être reparti…


Autres

D'autres astuces (et installations optionnelles) sont disponibles dans la page de Linux Mint 17.3 Mate

Notes diverses

  • Ne faites plus ifconfig mais ip addr
  • Activer/déactiver le WiFi en ligne de commande: nmcli radio wifi on / nmcli radio wifi off.
  • Pour lister tout le matériel présent dans la machine (avec numéros de série): sudo lshw. (Et spécifiquement pour la partie réseau: sudo lshw -C network)
  • L'interface graphique ne répond plus ? Tuez-la avec Ctrl+Alt+← Backspace
  • Besoin rapidement d'un terminal en mode texte ? Ctrl+Alt+F1 (jusqu'à F6). Il vous suffit d'entrer votre login et mot de passe.
    • Pressez Alt+F7 ou Alt+F8 pour revenir au mode graphique.
    • Quand vous êtes dans le terminal en mode texte, Ctrl+Alt+Suppr redémarrera rapidement la machine.
  • Si après avoir lancé puis quitté un jeu, vous n'avez plus de son, essayez:
    pulseaudio -k
  • Réseau en vrac ? Redémarrer complètment le gestionnaire: sudo service NetworkManager restart
  • Vous voulez ajouter des actions dans le menu clic-droit du gestionnaire de fichiers (Caja) ? Déposez vos script exécutables dans ~/.config/caja/scripts/ (n'oubliez pas de les rendre exécutables). Exemple:
    Créer rapidement une archive tar-gzip
    #!/bin/bash
    # Créer rapidement une archive .tar.gz
    IFS=$'\n'
     
    for FILENAME in $CAJA_SCRIPT_SELECTED_FILE_PATHS; do
     if [ -d "$FILENAME" ]; then
      tar -c "$FILENAME" | pigz -c > "$FILENAME.tar.gz"
     fi
     if [ -f "$FILENAME" ]; then
      cat "$FILENAME" | pigz -c > "$FILENAME.gz"
     fi
    done
  • Ou si vous voulez faire plus évolué (pensez à faire sudo apt install pv xterm):
    #!/bin/bash
    # Créer rapidement une archive .tar.gz
    IFS=$'\n'
     
    for FILENAME in $CAJA_SCRIPT_SELECTED_FILE_PATHS; do
        if [ -d "$FILENAME" ]; then
            cmd="tar -c \"`basename \"$FILENAME\"`\" | pv | nice pigz -c > \"$FILENAME.tar.gz\""
            xterm -T "Compression de `basename $FILENAME`" -e /bin/bash -l -c "$cmd"
            notify-send -i info -t 20000 "Compression terminée." "`basename $FILENAME`.tar.gz"
        fi
        if [ -f "$FILENAME" ]; then
            cmd="pv \"$FILENAME\" | nice pigz -c > \"$FILENAME.gz\""
            xterm -T "Compression de `basename $FILENAME`" -e /bin/bash -l -c "$cmd"
            notify-send -i info -t 20000 "Compression terminée." "`basename $FILENAME`.gz"
        fi
    done

Notes sur l'ASUS P2 520LA-XO0456T

Logiciel

  • Après l'installation, tout a immédiatement marché: Démarrage de Grub en UEFI. Le WiFi fonctionne.
  • Besoin d'aucun pilote propriétaire.
  • L'hibernation fonctionne, avec reprise du WiFi.
  • Le trackpad fonctionne (y compris tape-2 et 3 doigts, scrolling avec deux doigts, glisser-déplacer avec double-tape+glisser…).
  • Note: Les puces WiFi RealTek, c'est vraiment de la merde. Parfois mon WiFi fonctionne impeccablement pendant des heures, parfois il tombe toutes les 10 minutes. Je m'assurerai que mon prochain ordinateur ait un chipset WiFi Intel. En attendant, solution crade (mais qui marche) pour garder le WiFi en vie (Je n'ai plus ce problème depuis les mises à jour récentes: Le Wifi est parfaitement stable, mais je vous laisse le script au cas où):
    #!/bin/bash
    # Test régulièrement la connexion WiFi et la relance si elle est tombée.
    # Raccourci: xterm -iconic force-net-up.sh
    SCRIPT=$(readlink -f "$0")
    DIR=$(dirname "$SCRIPT")
    cd "$DIR"
    while true
    do
        wget -q --tries=5 --timeout=10 -O - http://192.168.0.254/ > /dev/null
        if [[ $? -eq 0 ]]; then
            echo "`date` Connexion ok. Attente 3 secondes."
            sleep 3
        else
            echo "`date` Connexion tombée ; relance..." | tee -a force-net-up.log
            #service NetworkManager restart
            nmcli networking off
            sleep 4
            nmcli networking on
            echo "Attente 30 secondes."
            sleep 30
        fi
    done

    (oui je sais, c'est vraiment dégueulasse…)

Matériel

  • L'ordinateur a un bel aspect, sombre et sobre. Coque en plastique noir avec texture "aluminium brossé" (même si au toucher le plastique donne un peu l'impression d'être "cheap").
  • La machine est relativement fine et légère.
  • Il y a 4 ports USB (1 en USB2, 3 en USB3). Les ports USB 3 sont rétro-compatibles USB 2.
  • Les ports USB sont durs. Il faut tirer comme une brute pour débrancher un périphérique USB. Après quelques mois d'utilisation, ils sont parfaitement normaux.
  • Je suis heureux que les diodes d'état (allumé, disque dur, WiFi…) soient petites, discrètes et pas trop lumineuses.
  • La machine (et son disque dur) font très peu de bruit.
  • Je peux garder la machine sur les genoux sans me faire cuire les cuisses. Elle ne chauffe pas. Très bien ! (C'est souvent le point noir des ordinateurs portables, mêmes chez les MacBook à 2000€).
  • Je suis globalement très content de la machine.

Maintenance

La légende dit vrai: une machine Linux ne "pourrit" pas avec le temps comme une machine Windows. Sans maintenance particulière, le système tourne comme une horloge pendants des mois (si on met de côté les problèmes de stabilité de X-Windows).

Ceci dit, on peut préventivement faire un peu de maintenance:

Une fois par semaine

  • Mises à jour du système (si vous n'utilisez pas le widget de signalement des mises à jour):
    sudo apt update && sudo apt upgrade
  • Faites des backups !!!
    • Personnellement, j'ai un disque dur externe de même capacité que l'ordinateur, sur lequel j'ai créé une partition chiffrée VeraCrypt. Environ une fois par semaine, je fais un rsync entre les deux. Je fais carrément un backup de la racine / (en excluant quelques répertoire)
      sudo rsync -av --owner --progress --delete --exclude-from='excludes-backup.txt' / /media/veracrypt1/backupasus
    • Et mon fichier d'exclusion:
      excludes-backup.txt
      /proc
      /sys
      /dev
      /media
      /mnt
      /cdrom
      /tmp
      /run
      /var/tmp
      /var/run
      /home/sebsauvage/.steam/steam/steamapps
      /home/sebsauvage/.local/share/Trash
      *.!qB

Une fois par mois (ou tous les deux mois)

  • Faire une petite vérification du système de fichier:
    sudo touch /forcefsck

    puis redémarrer. Cela va forcer une vérification du système de fichiers.

  • De temps en temps, supprimer les paquets qui ne sont plus utilisés par aucun logiciel:
    sudo apt autoremove
  • Fichiers en double: Lancez fslint. Par défaut, votre c'est votre répertoire /home qui est sélectionné et l'onglet "Duplicatas". Autrement dit, la recherche de fichiers en double dans votre répertoire perso. Cliquez sur le bouton "Recherche" et laissez-le travailler. Il affichera les fichiers en double les plus gros en premier.
  • Même si le système de fichiers ext4 ne se fragmente naturellement pratiquement pas, dans le cas où vous dépassez 90% de remplissage du disque, un peu de fragmentation peut apparaître. Vous pouvez alors défragmenter de temps en temps:
    e4defrag -v /home

    ou

    sudo e4defrag -v /

    Notez que cette opération est totalement inutile sur les SSD, puisqu'il n'y a pas de pénalité de déplacement de la tête de lecture.

Retirer les anciens noyaux

A force de mises à jour, votre système conserve les anciens noyaux. Ce n'est pas forcément utile, et on peut gagner pas mal de place en supprimant les anciens.

Ouvre le gestionnaire de mises à jour > Menu Vue > Noyaux Linux

Vous pouvez alors cliquer sur un noyau et utiliser le bouton pour le supprimer.

Image de la partition système

Si vous voulez faire une image de la partition système pour éviter d'avoir à tout réinstaller, bootez sur la clé USB et faites (en root, et en supposant que /dev/sda1 est votre partition système):

partclone.ext4 -c -d -s /dev/sda1 | gzip -c1 > sda1.SYSTEM.partclone.ext4.tar.gz

Restaurer la partition:

zcat sda1.SYSTEM.partclone.ext4.tar.gz | partclone.ext4 -d -r -o /dev/sda1

(Pensez à emporter partclone sur clé USB (sudo apt download partclone))

Partclone étant bien plus intelligent que dd, l'image de la partition est bien plus rapide (partclone comprend les systèmes de fichiers et ne perd pas de temps avec les secteurs vides).

Liens

Dans le même genre:

1)
Le script qui a servi à pomper le site est ou .
2)
Purée il ne se sont pas fait chier à adapter TeamViewer à Linux: Ils embarquent carrément Wine dans le .deb. Mais bon… ça marche !
3)
Je n'arrive pas encore à utiliser l'option private, mais même sans ça il n'aura pas accès à mes fichiers perspo.
4)
sauf un keylogger matériel, bien sûr
mint_customization_18_1.txt · Dernière modification : 2022/01/19 11:32 de sebsauvage