Outils pour utilisateurs

Outils du site


mint_customization_18_3

Ceci est une ancienne révision du document !


Cette page est en cours de refonte.

Checklist installation de Linux Mint 18.3 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.3 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 2 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 -b linuxmint-18.3-mate-64bit.iso
    1ec518ec70d76d9634e22bb9e083546d812f869878a3262fc7ae47ecc5b23e40 *linuxmint-18.3-mate-64bit.iso
  • Dans cette page, choisissez votre version de Mint et téléchargez le fichier sha256sum.txt
  • La checksum mentionnée dans le 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:

Partition Type Nom Taille Notes
Démarrage FAT32 primaire EFI 230 Mo Ne pas toucher. Cette partition doit avoir le flag boot.
Système (Monté sur /) ext4 primaire SYSTEM 60 Go J'ai vu large. 30 Go peuvent largement suffire.
Données (Monté sur /home) ext4 primaire HOME le reste
Swap linux-swap 6 Go 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 depuis d'ancienne versions

En gardant une partition /home séparée du système, vous avez deux solutions pour changer de distribution:

  • Ré-installer complètement Linux.
  • Utiliser le système de migration intégré à Linux Mint.

J'ai utilisé la seconde solution pour passer de Linux Mint 18.1 à 18.3. C'est passé comme une lettre à la poste.

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 choisir «Toujours mettre à jour». Malgré l'avertissement, je n'ai jamais eu de problème. Cliquez sur Valider.

  • La première mise à jour proposée sera sans aucun doute mint-upgrade-info. Une fois installée, vous verrez un autre lot de mises à jour proposées. Mettez à jour (bouton Intaller les mises à jour).
  • 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 "Ne pas suggérer l'utilisation de dépôts locaux"
      • Onglet "Actualisation automatique":
        • D'abord… : Mettre 10 minute.
        • Ensuite… : Mettre 1 jour (pas besoin de vérifier toutes les 2 heures, c'est excessif)
  • 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-ubuntu light-themes
    • Centre de contrôle > Apparence:
      • Onglet Thème : Mint-Y-Dark, bouton Personnaliser…
        • Bordures de fenêtres > New Wave
        • Pointeur > MATE
    • 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.)
  • Terminal:
    • Lancer un terminal
    • Menu Edition > Préférences du profil > onglet "Couleurs":
      • Décocher "Utiliser les couleurs du système
      • Palette prédéfinies: choisir Blanc sur noir (Je préfère le terminal sur fond noir.)
  • 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 : 500 (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 Supports:
        • cocher Ne jamais demander ou démarrer des programmes à l'insertion d'un support
    • 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 > Écran de connexion > Options, cocher Activer le verrouillage du pavé numérique.
  • 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++/-
  • FIXME 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:
    • sudo apt install variety : Variety est un changeur de fonds d'écran. Dans la configuration, j'ai choisi Unsplash comme source. Magnifiques photos.
    • Sinon vous avez aussi:
      • 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). Il y a des très beaux fonds d'écran.
      • J'ai aussi ma petite collection personnelle.
  • 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
  • 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 au choix:
    • Les DNS de FDN: 80.67.169.12, 80.67.169.40 (DNS ouverts non censuré)
    • Les DNS de LDN : 80.67.188.188 (DNS ouverts non censuré)
    • Les DNS de Quad9 : 9.9.9.9 (DNS ouverts non censuré, avec blocage des domaines malveillants)
    • Eviter les GAFAM: GoogleDNS (8.8.8.8), OpenDNS (=Cisco), Norton et autres…
  • Réduction de l'utilisation du swap:
    • On demande d'abord au système de réduire sa propention à swapper:
      • Faire:
        sudo bash -c 'echo "vm.swappiness=10" >> /etc/sysctl.conf'
      • Rebooter pour prendre en compte, ou faire sudo sysctl -p
    • On installe zram. Il permet d'avoir des segments de mémoire compressée qui peuvent (entre autre) être utilisées en priorité sur la partition swap.
      • 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.
      • À savoir:
        • 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 500 Mo de swap utilisé, pas un seul octet n'a commencé à être écrit dans la partition réelle de swap. Excellent.
        • Si vous avez un disque dur normal, votre CPU sera plus rapide à (dé)compresser les données en mémoire 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.
        • Dans tous les cas, vous êtes gagnant ! Donc ☛ Installez zram: Ce n'est que du bénéfice !
        • 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 libnotify-bin ttf-mscorefonts-installer synapse zeitgeist kodi qbittorrent htop playonlinux gparted gimp-gmic gimp-plugin-registry gimp-texturize ffmpeg steam fslint skypeforlinux 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).
    • libnotify-bin : Pour pouvoir utiliser notify-send dans mes scripts shell pour afficher des notifications.
    • 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.
    • ffmpeg : L'outile de conversion audio/vidéo à tout faire.
    • 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
    • skypeforlinux : 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 ~/apps/skype
      • Je créé un script de lancement de Skype (~/apps/skype/start-skype.sh) (FIXME: ne semble plus fonctionner, à corriger):
        #!/bin/bash
        notify-send -i info -t 5000 "Skype" "Lancement par firejail..."
        env PULSE_LATENCY_MSEC=60
        firejail --private=~/apps/skype /usr/bin/skypeforlinux %U
      • Je modifie le raccourcis qui lance Skype pour utiliser ce script.
      • 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.
  • TeamViewer: https://www.teamviewer.com/fr/download/linux/ (Très pratique pour dépanner quelqu'un à distance: Je leur donne l'URL sebsauvage.net/tv à taper)
  • 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.
  • 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 (je l'ai mis dans ~/apps avant de décompresser)
    • 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: cp start-tor-browser.desktop ~/.local/share/applications/
    • Protection (encore imparfaite2)) 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

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 3).

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: 80.67.169.12  # DNS 1 de FDN
     forward-addr: 80.67.169.40  # DNS 2 de FDN
    • Explication de certaines options:
      • do-ip6: no: Je demande à unbound de ne pas requêter ni répondre en ipv6.
      • 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 ceux de FDN (non censurés).
      • 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, 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.

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)
Je n'arrive pas encore à utiliser l'option private, mais même sans ça il n'aura pas accès à mes fichiers perspo.
3)
sauf un keylogger matériel, bien sûr
mint_customization_18_3.1512556765.txt.gz · Dernière modification : 2017/12/06 10:39 de sebsauvage