Outils pour utilisateurs

Outils du site


mint_customization_17_3

Checklist installation de Linux Mint 17.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 17.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.

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-17.3-mate-64bit.iso
    d02bfaae749db966778276a8ae364843c1ffb37b3e1990c205f938bda367ad2a  linuxmint-17.3-mate-64bit.is
  • Dans cette page, allez dans le sous-répertoire correspondant à la version de Mint que vous avez téléchargée (/17.3, /18, etc.) et ouvrez le fichier sha256sum.txt (par exemple ici pour Linux Mint 17.3)
  • 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 30 Go Système (Monté sur /) Après un an d'utilisation et des tonnes de logiciels installés, ma partition système n'est utilisée qu'à 11,7 Go.
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'ai désactivé le swap (voir ci-dessous)

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 gzip -d /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 unzip -c /mnt/disk/partwindows.ntfsclone.gz | ntfsclone --restore-image --overwrite /dev/sda1 -


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.
  • 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).
    • Installez à partir du LiveDVD (au lieu d'une clé USB) pour éviter d'éventuels problèmes de substitution (sda/sdb) dans Grub dûs à l'USB.
    • Reliez l'ordinateur à internet par Ethernet (au lieu du WiFi) pour éviter d'éventuels problèmes de déconnexion.

Notez que si vous voulez vous faire une clé USB Linux bootable pour installation, je vous recommande d'utiliser UNetBootin. Instructions dans cette page.

Mises à jour

Après installation:

  • 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 Edition > Sources de logiciels:
      • Cliquer sur Principal et choisir un dépôt plus rapide.
      • Cliquer sur Base et choisir un dépôt plus rapide.
    • Menu Edition > Préférences:
      • Onglet “Options”:
        • Cocher “Toujours montrer les mises à jour de sécurité”
        • Cocher “Toujours cocher les mises à jour de sécurité”
      • Onglet “Rafraichissement 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)
  • Avec le gestionnaire de mises à jour de Mint, installer toutes 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 voulez installer toutes les mises à jour en ligne de commande:
    sudo apt update
    sudo apt upgrade

    Lors de la mise à jour, en cas de demande de confirmation sur les fichiers de conf, presser juste Entrée (=conserver les fichiers existants).

  • 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

  • Désactivation des services inutiles (pour réduire la surface d'attaque en fermant les ports ouverts (sudo netstat -pantu) et en réduisant le trafic réseau):
    sudo bash -c 'echo "manual" > /etc/init/avahi-daemon.override'
    sudo bash -c 'echo "manual" > /etc/init/smbd.override'
    sudo bash -c 'echo "manual" > /etc/init/nmbd.override'
    • smdb permet le partage de dossier avec des machines Windows.
    • nmdb permet la résolution des noms NetBIOS nécesssaire aux machines Windows.
    • avahi permet l'auto-attribution d'adresse IP, la résolution DNS simplifiée en LAN (*.local) et l'auto-découverte de périphériques connectés.
    • Je ne lance ces service que quand j'en ai vraiment besoin, c'est à dire pratiquement jamais, FTP et HTTP étant généralement plus fiables pour transférer des fichiers. Partager un répertoire par HTTP ? Je tape python -m SimpleHTTPServer et on y accède par http://adresseip:8000/.
    • Les services ainsi désactivés peuvent quand même être démarrés à la demande. Par exemple: sudo initctl start smbd

Note sur la gestion des services par System-V et Upstart

Note sur la gestion des services par System-V et Upstart

  • :!: Attention : Certains services sont gérés par System-V (scripts dans /etc/init.d), d'autres par Upstart (scripts dans /etc/init)
  • System-V:
    • Lister les services: sudo service –status-all (+ démarré, - non démarré, ? status inconnu)
    • Démarrer/arrêter un service: sudo service <servicename> start / sudo service <servicename> stop
    • Activer/désactiver un service: sudo update-rc.d <servicename> enable / sudo update-rc.d <servicename> disable
  • Upstart:
    • Lister les services: sudo initctl list
    • Démarrer/arrêter un service: sudo initctl stop <servicename> / sudo initctl start <servicename>
    • Désactiver un service: Créer un fichier <servicename>.override contenant le mot “manual”. Exemple: sudo bash -c 'echo “manual” > /etc/init/avahi-daemon.override'
  • Installation du firewall: sudo apt install gufw et activation avec la config par défaut (blocage de toutes les connexions entrantes): 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.
  • Installation de firejail pour isoler les applications en lesquelles j'ai une confiance limitée (ex: Skype):
  • Il se trouve que la version du codec vidéo libavcodec livrée avec la version d'Ubuntu sur laquelle est basée Linux Mint 17.3 a une faille de sécurité (vous aurez un message dans Firefox libavcodec may be vulnerable or is not supported, and should be updated to play video.). Il est nécessaire de passer de la version 9 à la version 11 en utilisant un ppa:
    sudo add-apt-repository ppa:heyarje/libav-11
    sudo apt update
    sudo apt install libav-tools

Mémo : Réinitialiser le mot de passe

Mémo : Réinitialiser le mot de passe

Si vous avez perdu votre mot de passe utilisateur ou root et que vous voulez le réinitialiser:

  • En bootant sur la machine elle-même:
    • Accédez au menu Grub (ESC ou ⇧ Shift au démarrage).
    • Prenez le premier élément du menu, pressez E pour le modifier.
    • Entrez votre login/mot de passe Grub
    • Repérez la ligne contenant ro quiet splash et remplacez par ro quiet splash rw init=/bin/bash
    • Pressez F10 pour booter dessus.
    • Vous accédez au login root.
    • Changez votre mot de passe: passwd monlogin
  • En bootant sur un LiveCD ou clé USB:
    • Démarrez sur le LiveCD/clé USB.
    • Tapez sudo fdisk -l (ou lancez gparted) pour repérer votre partition système (Pour l'exemple, ce sera /dev/sda1).
      sudo mkdir /media/sda1
      sudo mount /dev/sda1 /media/sda1
      sudo chroot /media/sda1
      passwd monlogin
      exit
    • Corollaire: Pour plus de sécurité, protégez toujours votre BIOS par mot de passe et configurez-le pour interdire de booter ailleurs que sur le disque dur interne.


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-X-Orange, bouton Personnaliser…
        • Bordures de fenêtres > New Wave
        • Contrôles : Darklooks (beau thème sombre, mais les application encore sous GTK2 (comme Synaptic) auront un look de merde, tant pis).
      • Onglet Polices > Détails > Résolution : 90 points par pouce.
    • Centre de contrôle > Notifications d'évènement: Thème “Coco”.
    • 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
    • Menu Edition > Arrière-plans et emblèmes… > Couleur > Argent et drag-n-drop de la couleur dans la liste des fichiers.
    • 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.
  • Trackpad: Centre de contrôle > Souris > Pavé tactile:
    • Cocher Désactiver le pavé tactile lors de la frappe 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
  • Changement de l'image de l'écran de verrouillage (Si vous gardez mate-screensaver et n'installez pas xscreenaver comme ci-dessous): Dans /usr/share/backgrounds/linuxmint/, faire:
    sudo mv default_background.jpg default_background.jpg.old
    sudo ln -s /chemin/vers/mon/image.jpg default_background.jpg
  • 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
  • Ajout d'économiseurs d'écran (et remplacement de mate-screensaver par xscreensaver):
    • MATE est fourni uniquement avec 4 économiseurs d'écran non-configurables. Nous allons remplacer mate-screensaver par xscreensaver qui en fournit 200 et qui permet de les configurer.
    • sudo apt install xscreensaver xscreensaver-data xscreensaver-data-extra xscreensaver-gl xscreensaver-gl-extra
    • Désactiver l'économiseur d'écran Mate:
      dconf write /org/mate/screensaver/idle-activation-enabled false
    • On va demander au gestionnaire d'énergie de ne pas se baser sur l'activation de mate-screensaver pour demander un mot de passe à la sortie d'hibernation (sinon aucun mot de passe ne sera demandé):
      dconf write /org/mate/power-manager/lock-use-screensaver false
    • Malheureusement, le gestionnaire d'énergie de Mate utilise mate-screensaver pour verrouiller la session ou l'écran lors de la sortie d'hibernation. Il faut le forcer à utiliser xscreensaver-command au lieu de mate-screensaver-command:
      sudo bash -c "cd /usr/bin;mv mate-screensaver-command mate-screensaver-command.old; ln -s xscreensaver-command mate-screensaver-command"
    • Allez dans Centre de contrôle > Applications au démarrage:
      • Décochez Economiseur d'écran (c'est en fait mate-screensaver)
      • Cliquez sur le bouton Add et entrez xscreensaver -nosplash (comme commande). Cliquez sur Save.
    • Ouf… C'est désormais xscreensaver qui gèrera l'économiseur d'écran et les écrans de verrouillage (sauf l'écran de connexion) (Oui je sais la fenêtre de déverrouillage de xscreensaver est moche. Pas grave.)
    • Si vous voulez que certains économiseurs d'écran (comme XAnalogTV) utilisent l'image de votre webcam, installez le paquet streamer:
      sudo apt install streamer
    • Mes économiseurs d'écran préférés: Apple2 (nostalgie oblige), CubicGrid, Goop, Intermomentary, Noof, Squiral, WhirlWindWarp, XAnalogTV
    • …et aussi Phosphor et StarWars qu'on peut utiliser pour afficher des citations: Dans la configuration de xscreensaver, onglet Avancé, dans Manipulation de texte choisir Programme et entrer: fortune | iconv -f UTF-8 -t 8859_1 (car les économiseurs d'écran n'aiment généralement pas l'UTF-8 mais se contentent bien de l'ISO-8859-1).
      • Si l'économiseur d'écran StarWars est un peu dégueulasse, listez les fonts bitmap dispo avec xlsfonts et dans la config de StarWars, bouton Avancé, dans la ligne de commande ajoutez -font. Par exemple:
        starwars -root -delay 40909 -steps 76 -columns 40 -font "-misc-fixed-bold-r-normal--18-120-100-100-c-90-iso8859-1"
  • Installation de RedShift pour ne pas m'exploser les yeux:
    • sudo apt install redshift-gtk
    • Création du fichier de config: pluma ~/.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).
  • Si vous préférez f.lux à RedShift (Notez que je trouve que la version Linux de f.lux est trop limitée et fait moins bien son boulot que RedShift):
    sudo add-apt-repository ppa:nathan-renniewaldock/flux
    sudo apt update
    sudo apt install fluxgui
  • 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: Je prend MDModern.
  • 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, 80.67.169.12, 80.67.169.40 (ce sont ceux de FDN).
  • Cache DNS:
    • Par défaut, Linux Mint possède déjà un cache local DNS, dnsmasq lancé automatiquement par NetworkManager (le gestionnaire de réseau). (C'est pour cela que si vous faite un nslookup, vous verrez qu'il interroge 127.0.1.1). Notez que NetworkManager lance lui-même dnsmasq, vous ne verrez donc aucune config dans /etc/dnsmasq.d et aucune mention de dnsmasq dans System-V ou Upstart.
    • Seul inconvénient: NetworkManager lance dnsmasq avec un cache de taille zéro. Mais ça peut se corriger:
      sudo bash -c "echo 'cache-size=2000' >> /etc/NetworkManager/dnsmasq.d/cache.conf"
      sudo service network-manager restart
    • Si vous voulez un cache DNS plus efficace permettant de forcer les TTL, installez unbound.
  • Réduction de l'utilisation du swap: 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.)
      • Pour verrouiller l'écran et lancer l'hibernation en ligne de commande:
        mate-screensaver-command --lock ; dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Hibernate
  • Améliorer les performances disque:
    • Par défaut, le système ext4 attend au plus 5 secondes avant d'écrire sur disque (En cas de coupure de courant, vous perdez donc au maximum les données écrite dans les 5 secondes passées). On peut augmenter ce délais pour réduire la fréquence des écritures disque. Ajoutez l'option commit=30 dans la ligne fstab pour augmenter à 30 secondes. Exemple:
      UUID=147a1f8d-644f-521b-a075-f68a5bce5ed1 /               ext4    errors=remount-ro,commit=30 0       1
    • Il n'est pas utile de mettre noatime,nodiratime dans votre fstab. En effet les noyaux récents montent par défaut avec l'option relatime, et le gain en passant à noatime,nodiratime n'est pas intéressant. Pour vérifier si vos partitions / et /home sont bien montées avec l'optop relatime, faites:
      cat /proc/mounts | grep relatime
  • Flash: Personnellement, je désactive Flash dans Firefox. Ce truc est à la source de trop de problèmes de sécurité. Si un site nécessite absolument Flash, je passe par Chromium.
  • /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=512M 0 0
  • 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.
    • gsmartcontrol permet d'aller examiner les paramètres du disque dur.

Installation de logiciels

Ajout de dépôts

  • getdeb :
    wget -q -O- http://archive.getdeb.net/getdeb-archive.key | sudo apt-key add -
    sudo bash -c 'echo "deb http://archive.getdeb.net/ubuntu trusty-getdeb apps" >> /etc/apt/sources.list.d/getdeb.list'
    sudo bash -c 'echo "deb http://archive.getdeb.net/ubuntu trusty-getdeb games" >> /etc/apt/sources.list.d/getdeb.list'
    • getdeb contient des jeux et mises à jour de jeux (Minetest, OpenTTD, Tales of Maj'Eyal, 0AD, HedgeWars…) et des logiciels.
  • Synapse: un lanceur (Ctrl+Espace) plus efficace que Gnome-Do ou Kupfer:
    sudo add-apt-repository ppa:synapse-core/testing
    sudo apt update
    sudo apt install synapse zeitgeist
  • Note: zeitgeist permet à Synapse d'améliorer ses prédictions.

Installation de logiciels des dépôts

  • Installation de logiciels:
    sudo apt install fail2ban ttf-mscorefonts-installer fonts-roboto fonts-droid clementine htop playonlinux virtualbox-5.0 gparted geany geany-* qbittorrent doublecmd-gtk skype chromium-browser dukto gimp-gmic gimp-plugin-registry gimp-texturize exfat-fuse exfat-utils libav-tools libavcodec-extra steam-launcher gnupg2 fslint xnviewmp gnome-mplayer freetuxtv
    • fail2ban : protection contre les attaques bruteforce (je m'en sers pour protéger le serveur ssh et autres).
    • ttf-mscorefonts-installer : Polices Windows.
    • fonts-roboto fonts-droid : Polices d'Android. Je les trouve très réussies et très lisibles sur écran.
    • clementine : C'est un très chouette lecteur audio, simple, pratique, efficace. Je le préfère à Banshee fourni en standard.
    • 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.
    • virtualbox-5.0 : machine virtuelle pour besoins spécifiques (tester des distributions, faire tourner certains logiciels Windows)
    • gparted : pour (re)partionner des disques.
    • geany geany-* : j'ai une préférence pour geany sur l'éditeur par défaut de Mint (Pluma).
      • Une fois geany installé, penser à activer les plugins: menu Outils → Gestionnaire de plugins et les cocher.
      • Thèmes pour Geany: https://github.com/codebrainz/geany-themes/archive/master.zip Dézipper et copier le répertoire colorschemes dans ~/.config/geany/ puis aller dans le menu Affichage → Editeur → Jeu de couleurs.
      • Et comme certains logiciel d'acharnent à lancer pluma: sudo ln -sf /usr/bin/geany /usr/bin/pluma
    • qbittorrent : Client BitTorrent très complet que je préfère à Transmission.
    • doublecmd-gtk : un bon gestionnaire de fichiers double-panneau très similaire à l'excellent Total Commander.
    • dukto : échange de fichiers rapide en LAN sans se prendre la tête (compatible Windows/Linux/OSX/Android)
    • gimp-gmic gimp-plugin-registry gimp-texturize : plugins supplémentaires pour Gimp.
    • exfat-fuse exfat-utils: pour pouvoir lire/écrire certains supports venant de Windows en exFat (=FAT sans la limite des 4 Go).
    • libav-tools libavcodec-extra : Pour avoir avconv, le remplaçant de ffmpeg pour la conversion audio/vidéo.
    • steam-launcher : Pour avoir mes jeux Steam.
    • gnupg2 : J'ignore pourquoi la distrib a GnuPG v1 installé par défaut. Thunderbird (avec Enigmail) a besoin de GnuPG v2.
    • fslint : pour trouver les fichiers en double et faire le ménage.
    • xnviewmp : Je suis habitué à ce gestionnaire d'image. Fonctions de conversion en lot très pratiques. (Gratuit pour une utilisation personnelle.)
    • gnome-mplayer : Un bon lecteur vidéo (lit de nombreux format, et surtout il a un seek time bien plus court que VLC (donc quand vous déplacez le curseur, la vidéo est bien plus vite “calée”))
    • freetuxtv : Pour regarder les chaînes de télé sur l'ordinateur. C'est compatible Freebox. Pensez juste à autoriser dans le firewall les flux UDP entrants depuis l'IP 212.27.38.253 (sudo ufw allow in proto udp from 212.27.38.253)
    • 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 la ligne de commande du menu qui sert à le lancer:
        firejail --private=~/data/apphomes/skype skype %U
      • Il n'aura accès ainsi à aucun de mes fichiers perso, juste à ses propres fichiers de config.
    • chromium-browser : juste pour consulter les sites exigeant Flash. Et même chose que pour Skype (au cas où une saloperie sortirait par une faille Flash) (penser à créer préalablement le répertoire ~/data/apphomes/chromium-browser):
      firejail --private=~/data/apphomes/chromium-browser chromium-browser %U
  • Décodage des DVD: Installation de la clé de déchiffrement (qui ne peut pas être incluse par défaut dans les distributions):
    sudo /usr/share/doc/libdvdread4/install-css.sh

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.17-setup-gui-x64 pour les 64 bits ou veracrypt-1.17-setup-gui-x86 pour les 32 bits).
    • Notez que VeraCrypt ne peut pas monter certaines partitions TrueCrypt.
    • 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 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
    • Téléchargez teamviewer_i386.deb et installez 3)
    • Ne pas lancer le service TeamViewer (teamviewerd) par défaut:
      sudo bash -c 'echo "manual" > /etc/init/teamviewerd.override'
    • Démarrer le service juste quand j'ai besoin d'utiliser TeamViewer:
      sudo initctl start teamviewerd
    • Note: teamviewerd étant une configuration Upstart, impossible d'utiliser les sudoers (comme avec System-V) pour autoriser tout le monde à lancer/arrêter juste ce service. Fait chier.
  • Aller télécharger les jeux non-Steam que j'ai sur GOG, HumbleBundle et Minecraft.

Suppression de paquets

sudo apt purge apt-xapian-index transmission-gtk banshee
  • 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).
  • banshee : Je préfère utiliser Clementine comme lecteur audio.
  • 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

Améliorations possibles

  • FIXME : Je voudrais que le swap soit chiffré. C'est tout à fait possible, avec une clé aléatoire différente à chaque démarrage. Soucis: L'hibernation utilise aussi cet espace de swap chiffré, ce qui impose alors de mettre un mot de passe fixe au lieu d'une clé aléatoire. Mais je n'ai pas envie d'avoir à taper un mot de passe supplémentaire quand je sors d'hibernation. Solution à trouver.
  • FIXME : installation de sbackup-gtk et mise en place des backups locaux de /etc,/home,etc.
  • FIXME : installer Pombo
  • FIXME : installer un honeypot local ?
  • FIXME : installer zsh ?
  • FIXME : Créer un compte invité (pour amis/famille: surfer, manipuler fichiers/USB, etc.) (ré-initialisation automatique du profil ? chroot ?)
  • FIXME : trouver un bon client SIP pour Linux et configurer mon compte Free dessus (permet de passer des coups de fil si je n'ai pas mon smartphone sous la main).
  • FIXME : faire du TOTP dans PAM ? (par exemple pour protéger l'accès au serveur ssh) (le paquet libpam-google-authenticator semble implémenter HTOP et TOTP. Voir ici ou )
  • FIXME : installation d'Urban Terror (avec les dépôts ou avec le lanceur officiel ?)
  • FIXME : Coller une étiquette sous l'ordinateur « Si je suis perdu, merci de me ramener à mon propriétaire » avec email et numéro de téléphone.
  • FIXME : logiciel à explorer (en vrac): gdmap, glances, weboobs, youtube-dl

Opérations optionnelles et astuces

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.
  • 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
  • Configurer: dans /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

Autres

(Un peu en vrac)

Installation d'un serveur ssh pour accès distant (et utilisation de fail2ban)

Installation d'un serveur ssh pour accès distant (et utilisation de fail2ban)

  • Un serveur ssh est certes utile pour accéder à sa machine à distance (transfer de fichiers, mais aussi utilisation d'applications graphique), mais surtout pour permettre de récupérer facilement ses données si le clavier ou l'écran de l'ordinateur portable sont morts.
  • Conseils sécurité:
    • Ne laissez jamais votre serveur ssh sur le port standard ssh (22).
    • N'ouvrez jamais un service avec login sans mettre fail2ban dessus (nous allons le faire ci-dessous). fail2ban surveille les logs de connexion, et si plusieurs tentatives de connexion sont en échec, il reconfigure le firewall pour bloquer l'adresse IP.
  • Installation du serveur openssh et de fail2ban:
    sudo apt install openssh-server fail2ban
  • Configuration du serveur ssh sur un port non-standard (autre que 22) dans /etc/ssh/sshd_config:
    Port 12322
    PermitRootLogin no
    X11Forwarding yes
  • Redémarrage du serveur ssh:
    sudo service ssh restart
  • Création de la règle fail2ban pour protéger le serveur ssh des attaques par force brute: Je créé le fichier /etc/fail2ban/jail.local:
    jail.local
    [ssh]
    enabled = true
    port = 12322
    filter = sshd
    logpath = /var/log/auth.log
    maxretry = 4
    bantime = 600
  • Redémarrage de fail2ban:
    sudo service fail2ban restart
  • Voir le status du jail ssh (avec la liste des adresses IP bannies):
    sudo fail2ban-client status ssh
  • Pour le firewall:
    • Vous pouvez passer par l'interface graphique (gufw) ou en ligne de commande (ufw, voir ci-dessous). Note: L'interface graphique n'est pas toujours capable d'agir sur les règles créées en ligne de commande.
    • Ouvrir le port dans le firewall:
      sudo ufw allow in 12322/tcp

      ou plus simplement:

      sudo ufw allow 12322
    • Supprimer cette règle du firewall:
      sudo ufw delete allow in 12322/tcp
    • Voir les règles:
      sudo ufw status
    • Si trop de tentatives de connexion en échec sont faites sur votre serveur ssh; fail2ban bannira l'adresse IP dans le firewall pendant 600 secondes (10 minutes). (fail2ban manipule directement iptables et n'utilise pas ufw, mais il reste compatible avec ce dernier: l'adresse IP sera bien bloquée même si le port est ouvert dans ufw)
    • Pour dé-bannir une adresse IP du jail ssh:
      sudo fail2ban-client set ssh unbanip 12.34.56.78

Installer le serveur x2go

Installer le serveur x2go

  • x2go permet d'avoir une session X (graphique) distante très performante grâce à un protocole de compression spécial. Il remplace le projet FreeNX tout en reprenant le même protocole de compression. L'installation est très simple.
  • Vous devez déjà avoir un serveur ssh installé et opérationnel. x2go passe à travers la connexion ssh.
  • Le serveur x2go est dans un ppa:
    sudo add-apt-repository ppa:x2go/stable
    sudo apt update
    sudo apt install x2goserver x2goserver-xsession x2gomatebindings

    Et c'est tout. Vous pouvez directement vous connecter sur votre serveur avec le client x2go en utilisant votre login ssh.

  • Le client x2go est déjà dans les dépôts:
    sudo apt install x2goclient
  • Dans la configuration de la session, vous pouvez lui demander de vous connecter à une nouvelle session (MATE ou autre), ou à une session existante (Connexion au bureau local).
  • Notez qu'il y a aussi des clients x2go pour Windows et OSX.

Installation de Cinnamon

Installation de Cinnamon

  • Si en plus de MATE vous voulez Cinnamon:
    sudo apt install mint-meta-cinnamon
  • Ensuite choisir Cinnamon sur la fenêtre de login (il gèrera lors tout votre bureau) (Attention certains thème de login son bugués et ne permettent pas de choisir le gestionnaire de fenêtres.)

Activation de Compiz dans MATE

Activation de Compiz dans MATE

  • Vous pouvez quand même faire mumuse avec Compiz quand vous êtes sous Mate pour impressionner la galerie: Centre de contrôle > Paramètres du bureau > Fenêtres > Gestionnaire de fenêtres, choisir “Compiz”.

Récupérer la version d'origine (du paquet) d'un fichier de config

Récupérer la version d'origine (du paquet) d'un fichier de config

  • Savoir à quel package appartient un fichier de config:
    sudo dpkg -S fichier
  • Changer le nom du fichier de conf dont vous voulez avoir la version originale (mv fichier fichier.bak).
  • Faire:
    sudo apt-get install --reinstall -o Dpkg::Options::="--force-confmiss" nomDuPackage

    Cela ne touchera pas aux autres fichiers de config du package que vous auriez modifié. Seuls les fichiers de config manquant seront remis en place.

Installation de Wireshark 2

Installation de Wireshark 2

  • (les dépôts n'ont que la 1.x):
    sudo add-apt-repository ppa:wireshark-dev/stable
    sudo apt update
    sudo apt install wireshark

    Confirmez quand il vous demande si les utilisateurs pourront capturer des paquets, puis ajouter les utilisateurs qui pourront accéder à Wireshark au groupe wireshark:

    sudo usermod -a -G wireshark monlogin

    (Pensez à vous déloguer/reloguer.)

Installation d'Oracle Java 8 (JRE/JDK)

Installation d'Oracle Java 8 (JRE/JDK)

Si vous voulez utiliser la version d'Oracle de Java au lieu d'OpenJDK:

  • Installation:
    sudo add-apt-repository ppa:webupd8team/java
    sudo apt update
    sudo apt install oracle-java8-installer
  • Définition comme JRE par défaut:
    sudo apt-get install oracle-java8-set-default
  • Vérification de version:
    java -version
  • et
    javac -version

Installation de Netbeans 8

Installation de Netbeans 8

  • sudo add-apt-repository ppa:sainthyoga2003/netbeans
    sudo apt update
    sudo apt install netbeans

Désactiver le WiFi 802.11n

Désactiver le WiFi 802.11n

  • Il arrive qu'il y ait des incompatibilités entre point d'accès et clients WiFi en 802.11n (spécifiquement). Si besoin, il est possible de désactiver ce protocole au niveau de Linux:
    sudo bash -c 'echo "options iwlwifi 11n_disable=1" >> /etc/modprobe.d/iwlwifi.conf'

Mémo rapide firejail

Mémo rapide firejail

  • firejail permet d'isoler les applications et restreindre ce à quoi elles ont accès (système de fichier, réseau, API…). firejail est léger et ne nécessite pas d'être root.
  • Lancer une application:
    firejail firefox
    • Si un profile existe pour cette application, le profile sera utilisé. Les profiles sont situés dans:
      • /etc/firejail
      • ~/.config/firejail
  • Lancer une application en lui donnant un répertoire /home vide (tout ce que l'application écrit sera détruit à la fin de l'exécution)
    firejail --private firefox
  • Lancer une application en lui donnant un répertoire /home précis (tout ce que l'application écrit sera conservé dans ce répertoire à la fin de l'exécution):
    firejail --private=~/mon_repertoire gedit
  • Si je veux me souvenir que je le lance bien par firejail, je peux afficher une petite notification au lancement:
    notify-send -i info -t 5000 "Chromium" "Lancement par firejail..." ; firejail --private=~/data/apphomes/chromium-browser chromium-browser %U
  • Interdire l'accès réseau à un logiciel:
    firejail --net=none vlc
  • Voir quels programmes lancés sont actuellement pris en main par firejail:
    firejail --list
  • Pour plus de possibilités, voir la ligne de commande (man firejail) ou écrire des fichiers de profile (voir site officiel).
  • Notes pour les fichiers de profile:

Afficher la liste des dernières connexion sur le bureau

Afficher la liste des dernières connexion sur le bureau

  • Quand je me connecte, j'aime bien savoir quelles sont été les dernières tentatives de connexion, locales ou distantes (ssh), en succès ou en échec. J'utilise Conky pour afficher ça pendant une trentaine de secondes sur mon bureau quand je me connecte.
  • Le fichier Python que je met dans ~/apps/scripts/filter-logins.py. Ce script Python m'extrait/filtre/reformate le contenu de /var/log/auth.log:
    #!/usr/bin/python
    # coding: utf8
    import sys,re
    sortie = []
    for line in open('/var/log/auth.log','r'):
     dateevt = line[:15]
     # ssh
     results = re.findall('Failed password for (.+?) from (\d+.\d+.\d+.\d+)',line)
     if results: sortie += [ "%s - ssh   FAILED  for %s (%s)" % (dateevt,results[0][0],results[0][1]) ]
     results = re.findall('Accepted password for (.+?) from (\d+.\d+.\d+.\d+)',line)
     if results: sortie += [ "%s - ssh   success for %s (%s)" % (dateevt,results[0][0],results[0][1]) ]
     # pam local:
     results = re.findall('session opened for user (.+?)\s',line)
     if results: sortie += [ "%s - local success for %s" % (dateevt,results[0]) ]
     results = re.findall('authentication failure; .+? user=(.+?)\s',line)
     if results: sortie += [ "%s - local FAILED  for %s" % (dateevt,results[0]) ]
     
    sortie= [line for line in sortie if 'root' not in line]
     
    for line in sortie[-10:]:
       print line
  • Penser à rendre le script exécutable: chmod +x ~/apps/scripts/filter-logins.py
  • Mon fichier ~/.conkyrc:
    alignment bottom_right
    default_color grey
    use_xft yes
    xftfont DejaVu Sans Mono:weight=Bold:size=10
    update_interval 9999.0
    TEXT
    Dernières connexions:
    ${exec /home/sebsauvage/apps/scripts/filter-logins.py}
  • Et j'ajoute dans les applications au démarrage de session:
    bash -c "conky -b -d -p 10; sleep 40; pkill conky"
  • Exemple de sortie:
    Dernières connexions:
    Mar 30 10:21:14 - ssh   FAILED  for sebsauvage (127.0.0.1)
    Mar 30 10:21:22 - ssh   success for sebsauvage (127.0.0.1)
    Mar 30 10:21:22 - local success for sebsauvage
    Mar 30 10:25:47 - local FAILED  for sebsauvage

Désactiver IPv6

Désactiver IPv6

  • De manière temporaire:
    sudo bash -c 'echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6'
  • De manière permanente:
    sudo bash -c 'echo "net.ipv6.conf.all.disable_ipv6=1" >> /etc/sysctl.conf'

    puis faire sudo sysctl -p ou rebooter.

Partage rapide de fichiers par HTTP

Partage rapide de fichiers par HTTP

  • Mettez-vous dans le répertoire à partager.
  • Tapez:
    python -m SimpleHTTPServer 9988
  • Et c'est tout. Le répertoire sera accessible par http://adresseip:9988/
  • Pressez Ctrl+C pour arrêter le partage.

Un serveur FTP rapidement

Un serveur FTP rapidement

  • Le serveur FTP est utile pour échanger avec des machines hétérogènes (Windows) sans se prendre la tête (client FTP inclus par défaut dans Windows). Très utile pour dépanner ou effectuer des sauvegardes par réseau.
  • FTP avec mot de passe
    • Installation du serveur:
      sudo apt install vsftpd
    • Dans /etc/vsftpd.conf, ajouter les lignes:
      local_enable=YES
      write_enable=YES
    • Redémarrer le service: sudo service vsftpd restart
    • Les utilisateurs locaux peuvent alors se connecter à distance au serveur FTP.
    • Arrêter le serveur ftp:
      sudo service vsftpd stop
  • Créer rapidement un compte séparé pour le FTP:
    • Créer un utilisateur:
      sudo adduser toto
    • Entrer le mot de passe, puis presser ↵ Entrée pour tout le reste.
    • L'utilisateur toto peut alors se connecter. Il pourra écrire dans /home/toto
    • Quand terminé, supprimer l'utilisateur (le répertoire /home/toto persistera avec ses fichiers):
      sudo deluser toto
  • FTP anonyme (avec upload)
    • :!: Attention : à ne faire que dans un LAN de confiance, jamais sur internet, car n'importe qui peut venir lire et écrire des fichiers dans le répertoire.
    • Créez le répertoire où seront uploadés les fichiers:
      sudo mkdir -p /home/ftp/public
      sudo chmod 777 /home/ftp/public
      sudo chmod a-w /home/ftp

      (La raison du chmod a-w est que pour des raisons de sécurité vsftpd interdit que les anonymes puissent écrire dans le répertoire racine. Ils ne pourront écrire que dans le sous-répertoire public.)

    • Ajouter à la fin de /etc/vsftpd.conf:
      listen=YES
      local_enable=NO
      write_enable=YES
      anonymous_enable=YES
      no_anon_password=YES
      anon_upload_enable=YES
      anon_mkdir_write_enable=YES
      anon_other_write_enable=YES
      anon_root=/home/ftp
      anon_umask=0000
    • Redémarrer le serveur (sudo service vsftpd restart).

rkhunter

rkhunter

  • rkhunter permet d'effectuer quelques vérification sécurité (fichiers système modifiés, rootkits communs, fichiers douteux).
  • Installation:
    sudo apt instal rkhunter
  • Au premier lancement, prendre une empreinte de certains fichiers:
    sudo rkhunter --propupd
  • Mise à jour des règles (à faire avant chaque scan):
    sudo rkhunter --update
  • Puis lancer un scan (en affichant que les problèmes potentiels rencontrés):
    sudo rkhunter --check --report-warnings-only
  • Certaines distributions pouvant avoir des particularités, il n'est pas rare que rkhunter trouve des fichiers bizarre et vous les signale. Par exemple:
    Warning: Suspicious file types found in /dev:
             /dev/.udev/rules.d/root.rules: ASCII text
    Warning: Hidden directory found: /etc/.java: directory 
    Warning: Hidden directory found: /dev/.udev: directory 
    Warning: Hidden file found: /dev/.initramfs: symbolic link to `/run/initramfs' 

    Dans ce cas, vous pouvez créer une règles pour ignorer un fichier. Créez le fichier /etc/rkhunter.conf.local:

    ALLOWDEVFILE=/dev/.udev/rules.d/root.rules
  • Notez que lors de la mise à jour du système, les signature de certains exécutables peuvent changer. Donc il est recommandé:
    • De faire d'abord un update puis un check/report-warnings-only avec rkhunter pour s'assurer que tout va bien.
    • Puis de faire votre apt upgrade
    • Puis de faire un rkhunter avec propupd pour noter la nouvelle signature des exécutables.
    • Ce qui donne:
      sudo rkhunter --update
      sudo rkhunter --check --report-warnings-only
      sudo apt update
      sudo apt upgrade
      sudo rkhunter --propupd

Prendre une photo par la webcam en cas d'échec de connexion

Prendre une photo par la webcam en cas d'échec de connexion

  • Astuce pour prendre une photo avec la webcam quand il y a un échec de connexion (que ce soit sur la fenêtre de login ou sur un sudo).
  • Installer streamer:
    sudo apt install streamer
  • Créer le fichier /usr/local/bin/grabcam. Chaque fois que ce script est lancé, il capture la webcam dans un fichier jpeg dans le répertoire /home/.backup:
    #!/bin/bash
    streamer -s 1600x900 -o "/home/.backup/capture-`date --rfc-3339=seconds`.jpeg" 2>/dev/null
    exit 0
  • Rendre exécutable:
    sudo chmod +x /usr/local/bin/grabcam
  • Faire une copie de sauvegarde du fichier de config PAM:
    sudo cp /etc/pam.d/common-auth /etc/pam.d/common-auth.old
  • Modifier le fichier /etc/pam.d/common-auth (faites attention à ce que vous faites):
    • Repérer la ligne:
      auth	[success=1 default=ignore]	pam_unix.so nullok_secure
    • et remplacer par:
      auth	[success=2 default=ignore]	pam_unix.so nullok_secure
      auth	optional pam_exec.so	seteuid /usr/local/bin/grabcam
  • Le success=2 veut dire “aller à la seconde ligne en cas de succès” (donc sans faire la capture).
  • En cas d'échec, la ligne suivante sera donc exécutée: pam_exec.so lancera donc votre script, faisant une capture d'écran.
  • Vous n'avez plus qu'à collecter les photos dans /home/.backup
  • PS: Certaines webcam mettant quelques secondes à pondre une image correcte après s'être allumée, il vous faudra peut-être capturer plusieurs images. Par exemple pour prendre 1 image par seconde pendant 4 secondes: :
    streamer -r 1 -t 4 -s 1600x900 -o "/home/.backup/capture-`date --rfc-3339=seconds`.jpeg" 2>/dev/null

Snippets divers

Snippets divers

  • Taille occupée par les dossiers, en comptant les sous-dossiers mais sans les afficher:
    du --max-depth=1 -h
  • Remplir l'espace vide par des zéros pour empêcher la récupération des fichiers:
    • Installer:
      sudo apt install secure-delete
    • Nettoyer le swap:
      sudo swapoff -a
      sudo sswap -fllvz /dev/sda5
    • Nettoyer une autre partition:
      sfill -fllvz /home
    • Note: Le système se réservant par sécurité une partie du disque, il n'y a pas de garantie que la totalité soit effacée.
    • Autre option de nettoyage: le paquet zerofree. Notez que zerofree ne fonctionne que sur ext2/ext3/ext4 et qu'il ne travaille que sur des partitions démontées (sfill fonctionne sur une partition en cours d'utilisation).
  • Savoir combien de RAM a votre carte graphique:
    • sudo dmesg | grep drm
    • ce qui donne parmi les lignes retournées:
      [drm] Memory usable by graphics device = 2048M
  • Savoir quelle est votre distribution Linux:
    cat /etc/*-release
    • Exemple pour Linux Mint 17.3:
      DISTRIB_ID=LinuxMint
      DISTRIB_RELEASE=17.3
      DISTRIB_CODENAME=rosa
      DISTRIB_DESCRIPTION="Linux Mint 17.3 Rosa"
      NAME="Ubuntu"
      VERSION="14.04.3 LTS, Trusty Tahr"
      ID=ubuntu
      ID_LIKE=debian
      PRETTY_NAME="Ubuntu 14.04.3 LTS"
      VERSION_ID="14.04"
      HOME_URL="http://www.ubuntu.com/"
      SUPPORT_URL="http://help.ubuntu.com/"
      BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
  • Lancer une tâche lourde sans vous ralentir: Il peut arriver que vous souhaitiez lancer une tâche en fond sans qu'elle vous ralentisse (par exemple la compression de gros dossiers). J'ai cet alias dans mon ~/.bashrc:
    alias ni='nice -n 19 ionice -c3'
    • Il permet de lancer un processus avec la priori CPU et accès disque la plus basse possible.
    • Exemple: Au lieu de faire:
      7z a monarchive.7z monrepertoire/
    • Je rajoute juste ni devant:
      ni 7z a monarchive.7z monrepertoire/

Monter un répertoire distant par ssh

Monter un répertoire distant par ssh

  • Installation:
    sudo apt install sshfs
  • Montage:
    mkdir pointdemontage
    sshfs utilisateur@machine.com: pointdemontage
    • Si vous voulez monter un répertoire distant précis:
      sshfs utilisateur@machine.com:/repertoire/distant pointdemontage
    • Si votre serveur ssh n'est pas sur un port standard:
      sshfs utilisateur@machine.com: pointdemontage -p 33000
  • Démontage:
    fusermount -u pointdemontage


Notes diverses

  • Ne faites plus ifconfig mais ip addr
  • Activer/déactiver le WiFi en ligne de commande: nmcli nm wifi on / nmcli nm wifi off (cela lance ou arrête le network-manager).
  • 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.

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…).
  • Je n'ai pas encore tout testé, mais les touches spéciales Fn fonctionnent (volume, mise en veille…), mais pas les deux touches de luminosité d'écran (que je règle du coup avec l'applet Mate). Problème a régler (voir peut-être )
  • Même si le WiFi fonctionne out-of-the-box, le pilote WiFi Realtek fourni a parfois des problèmes de stabilité (connexion qui tombe au bout de quelques minutes, puis remonte). Il vaut mieux le recompiler à partir des sources les plus récentes (sources: 1 2 3)
    • Faire
      sudo apt-get install linux-headers-generic build-essential git 
      git clone https://github.com/lwfinger/rtlwifi_new/
      cd rtlwifi_new
      make
      sudo make install
    • puis
      sudo modprobe -r rtl8723be
      sudo modprobe rtl8723be

      ou rebooter.

    • puis désactiver les fonctions d'économie d'énergie du WiFi:
      echo "options rtl8723be fwlps=0 swlps=0" | sudo tee /etc/modprobe.d/rtl8723be.conf
    • D'après certains, le bluetooth peut perturber le WiFi. Pour désactiver le bluetooth:
      echo manual | sudo tee /etc/init/bluetooth.override
  • 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:
    #!/bin/bash
    # Test régulièrement la connexion WiFi et la relance si elle est tombée.
    while true
    do
        wget -q --tries=10 --timeout=20 -O - http://free.fr > /dev/null
        if [[ $? -eq 0 ]]; then
            echo "`date` Connexion ok. Attente 10 secondes."
        else
            echo "`date` Connexion tombée ; relance..." | tee -a force-net-up.log
            nmcli nm wifi off
            sleep 4
            nmcli nm wifi on
            echo "Attente 30 secondes."
            sleep 20
        fi
        sleep 10
    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.
  • Je n'ai pas testé une décharge complète, mais le système m'annonce plus de 4 heures d'autonomie.

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) Purée il ne se sont pas fait chier à adapter TeamViewer à Linux: Ils embarquent carrément Wine dans le .deb. Mais bon… ça marche !
4) sauf un keylogger matériel, bien sûr
mint_customization_17_3.txt · Dernière modification: 2016/12/03 22:04 par sebsauvage