Outils pour utilisateurs

Outils du site


linux-vrac

Ceci est une ancienne révision du document !


Linux: Le gros bloc-note

Je note dans cette page, en vrac, diverses astuces pour Linux. Oui, vraiment en vrac. Certaines évidentes, d'autres un peu moins. Ça me sert de bloc-note. Et je le publie: On ne sait jamais, ça pourrait aider d'autres personnes. Certaines astuces peuvent être spécifiques à une distribution. Certaines de ces astuces sont reprises de ma page Linux Mint.

Étant donnée la grande variété des distributions et environnements de bureau, il est possible que certaines astuces dans cette page ne fonctionnent pas avec votre distribution. J'utilise Linux Mint.
  • Taper un É majuscule ? : Appuyez sur CapsLock puis é. Ben oui c'est tout con. Même chose pour Ç, À, Ê, È, Ô… : pensez juste à activer CapsLock.
    • Pour « et », c'est AltGr+Z et AltGr+X
  • Déplacer une fenêtre: Faites Alt+clic gauche pour déplacer une fenêtre en cliquant n'importe où à l'intérieur.
  • Voir les points de montage: C'est beaucoup plus lisible comme ça: mount |column -t
  • Partage rapide de fichiers par HTTP : Un serveur web en 10 secondes.
    • Ouvrez un terminal 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.
  • Lancer une tâche de fond avec la priorité CPU et disque minimale (afin qu'elle ralentisse le moins possible les autres programmes):
    • Ajoutez à votre .bashrc:
      alias ni='nice -n 19 ionice -c3'
    • Puis lancez n'importe quel programme en le préfixant par ni:
      ni tar cvfz monarchive.tgz monrepertoire/
  • Lancer un script au démarrage du système:
    • Si vous êtes sous systemd, /etc/rc.local n'est plus utilisé, donc pour que votre script shell soit lancé au démarrage du système, mettez-le par exemple dans /opt/scripts/monscript.sh, puis faites sudo crontab -e et ajoutez la ligne:
      @reboot /opt/scripts/monscript.sh
  • Tracer tous les accès d'une application à mes fichiers perso (remplacez LEPROGRAMME par votre programme):
    strace -e trace=file LEPROGRAMME 2>&1 | grep "/home" > trace.log
  • Gestion des services par System-V, Upstart et systemd:
    • Certains services sont gérés par System-V (scripts dans /etc/init.d), d'autres par Upstart (scripts dans /etc/init) et d'autres par systemd. La plupart des distributions récentes utilisent systemd.
    • 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'
    • systemd:
      • Lister les services: sudo systemctl list-unit-files --type=service
      • Démarrer/arrêter un service: sudo systemctl start <servicename> / sudo systemctl stop <servicename>
      • Activer/désactiver un service: sudo systemctl enable <servicename> / sudo systemctl disable <servicename>
  • Astuce rapide:
    • Si vous n'utilisez que des comptes locaux (et pas de comptes réseau), vous pouvez demander à systemd de ne pas attendre que le réseau soit disponible pour afficher la fenêtre de connnexion. Ça permet de gagner quelques secondes sur le démarrage: sudo systemctl disable NetworkManager-wait-online.service
  • Isoler un logiciel : Pour lancer une application en laquelle je n'ai pas confiance, en ne lui laissant pas accès à mon répertoire perso:
    • J'installe d'abord firejail: sudo apt install firejail (ou voir site officiel).
    • Je créé un répertoire pour cette application dans lequel je met le script shell lanceur (qui utilise firejail):
      #!/bin/bash
      SCRIPT=$(readlink -f "$0")
      DIR=$(dirname "$SCRIPT")
      cd "$DIR"
      notify-send -i info -t 5000 "Skype" "Lancement par firejail..."
      firejail --noprofile --private=. bash -c "/usr/bin/skype"
    • Le programme enregistrera ses fichiers de config dans ce répertoire, sans pouvoir accéder à mon vrai répertoire perso.
    • Si je veux interdire au programme d'aller sur le net, j'ajoute --net=none à la ligne de commande firejail.
  • Mini-mémo tar (bah oui, quoi !)
    • Créer une archive: tar cvfz archive.tar.gz répertoire/
    • Créer une archive beaucoup plus vite : tar cv répertoire/ | pigz > archive.tar.gz
      • Pensez à installer: sudo apt intall pigz
    • Décompresser: tar xvf archive.tar.gz
    • Exclure des types de fichiers: tar cvfz archive.tar.gz répertoire/ --exclude=*.mp3
    • Exclure des répertoires: tar cvfz archive.tar.gz répertoire/ --exclude=chemin/relatif
  • Calculer la MD5 de fichiers avec sous-répertoires
    • Calculer:
      nice find . -type f -print0 | xargs -0 md5sum | sort -k2 > md5sums
    • Vérifier:
      md5sum -c md5sums
  • Emporter une application sur clé USB (pour ma clé "Live" de Linux Mint que j'utilise comme clé de dépannage):
    • Booter sur la clé et se connecter au net (afin d'être dans la même configuration de paquets installés/non-installés).
    • sudo apt download filezilla par exemple: Cela va créer un fichier .tar .gz contenant tous les .deb nécessaires, ainsi que le fichier install.sh.
    • Pratique pour embarquer des logiciels comme partclone sur clé USB afin de faire des images de mes partitions.
    • A noter qu'une fois booté sur la clé, le contenu de la clé USB est accessible en lecture seule dans /cdrom (copier sur le bureau pour pouvoir utiliser).
  • Supprimer les paquets inutiles: sudo apt autoremove
  • Cache des paquets:
    • Tous les paquets installés sont en copie dans /var/cache/apt/archives/
    • Pour vider ce cache pour gagner de la place: sudo apt clean
  • Installer de nouvelles polices de caractères:
    • Copier dans ~/.fonts
    • Faire: fc-cache -fv
  • gzip/bzip2 beaucoup plus rapides (multi-coeurs):
    • sudo apt install pigz pbzip2
    • Dans mon .bashrc, mettre:
      alias gzip='pigz'
      alias bzip2='pbzip2'
  • Image/clonage d'une partition ext4 (en bootant sur clé USB):
    • sudo apt install partclone (ou sudo apt download partclone pour l'emporter sur clé USB). partclone est plus intelligent que dd car il comprendre la structure des systèmes de fichiers (il ne sauvegardera pas les secteurs vides, ce qui le rend bien plus rapide).
    • Créer une image (compressée):
      partclone.ext4 -c -d -s /dev/sda1 | gzip -c1 > sda1.SYSTEM.partclone.ext4.gz
    • Restaurer une image:
      zcat sda1.SYSTEM.partclone.ext4.gz | partclone.ext4 -d -r -o /dev/sda1
    • Et partclone supporte aussi ext2, ext3, ntfs, etc.: Faire apropos partclone
    • gzip -c1 pour compresser le plus vite possible, -c9 pour compresser mieux. Ne pas hésiter à remplacer gzip par pigz (nettement plus rapide).
  • Plus de son ? Relancer pulseaudio: pulseaudio -k
  • Plus de réseau ? Redémarrer le service réseau: sudo service network-manager restart ou plus simplement (sans sudo): nmcli networking off && sleep 5 && nmcli networking on
  • Ajouter des actions dans le menu contextuel du gestionnaire de fichiers Caja (ça marche avec la plupart des gestionnaires de fichiers):
    • Déposer votre script dans ~/.config/caja/scripts/ et le rendre exécutable.
    • Faites un clic-droit sur n'importe quel fichier ou dossier > Scripts > Nom de votre script
    • Exemple:
      Compresser RAPIDEMENT en 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

Version un peu plus évoluée du script

Version un peu plus évoluée du script

En affichant la progression dans un terminal (sudo apt install pv xterm) et une notification de fin de compression.

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
        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


  • Faire un backup de tout (/) en conservant les droits (vers mon disque dur externe en ext4 également):
    sudo rsync -av --owner --progress --delete --exclude-from='excludes-backup.txt' / /destination
    • Fichiers/répertoires exclus du backup:
      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
  • Vérifier le système de fichiers: sudo touch /forcefsck et redémarrez.
  • Vérifier (fsck) une partition VeraCrypt:
    • Monter normalement votre partition (avec le mot de passe), puis:
    • sudo umount /media/veracrypt1
      sudo fsck /dev/mapper/veracrypt1
  • Passer en clavier en QWERTY juste le temps d'un jeu (remplacez monprogramme par le nom de votre jeu ; Ce script repasse en clavier français à la fin du jeu):
    #!/bin/bash
    monprogramme &
    echo $! >/tmp/monprogramme.pid &
    /usr/bin/setxkbmap -layout us &
    pid=`cat /tmp/monprogramme.pid` &
    if wait $pid
    then
        /usr/bin/setxkbmap -layout fr
    else
        /usr/bin/setxkbmap -layout fr
    fi
  • Quelques astuces pour les jeux, voir dans cette page.
  • Traiter les images en lot ou en automatique:
    • XNViewMP a une jolie interface graphique et possède des fonctions de manipulation et conversion en masse. (à télécharger du site et installer manuellement)
    • En ligne de commande GraphickMagick est le roi (il est plus moderne et efficace qu'ImageMagick). (sudo apt install graphicsmagick ; site officiel)
  • 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 ⇧ Maj au démarrage).
      • Prenez le premier élément du menu, pressez E pour le modifier.
      • Entrez votre login/mot de passe Grub (si Grub est protégé par mot de passe)
      • 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 Grub et votre BIOS par mot de passe et configurez-le pour interdire de booter ailleurs que sur le disque dur interne.
  • Réinitialiser le mot de passe Windows:
    • Cette astuce fonctionne de Windows XP jusqu'à Windows 10.
    • :!: ATTENTION: Manipulation à ne PAS effectuer si vous utilisez le chiffrement de fichiers Windows, sinon vous risquez de perdre vos fichiers !
    • Eteignez proprement Windows (pas de mode veille ou hibernation).
    • Démarrez sur une clé USB Linux (par exemple Linux Mint).
    • Montez la partition Windows, puis
      cd "/media/mint/Windows 10/Windows/System32/"
      cp Utilman.exe Utilman.exe.original
      cp cmd.exe Utilman.exe

      (selon les versions de Windows, c'est sethc.exe qu'il faut manipuler, pas Utilman.exe).

    • Redémarrez sous Windows, attendez la fenêtre de login.
    • Selon les versions de Windows:
      • Cliquez sur le petit logo
      • ou pressez 5 fois la touche ⇧ Maj gauche.
      • ou pressez Win+U
    • Oh pouf ! Regardez le joli terminal qui s'affiche. Maintenant vous pouvez taper:
      • net user pour voir la liste des utilisateurs de la machine.
      • net user toto /ADD pour ajouter l'utilisateur toto.
      • net user toto * pour changer le mot de passe de toto (ou de n'importe quel autre utilisateur)
      • net localgroup pour lister les groups locaux.
      • net localgroup Administrators /ADD toto pour donner à l'utilisateur toto les droits admin.
  • NumLock activé sur l'écran de login:
    • sudo apt install numlockx
    • Centre de contrôle > Fenêtre de connexion > Options, cocher Activer NumLock.
  • Taille occupée par les dossiers:
    • En comptant les sous-dossiers mais sans les afficher:
      du --max-depth=1 -h
    • Et utilisez l'excellent ncdu !
  • Remplir l'espace vide par des zéros pour empêcher la récupération des fichiers (ou alléger une machine virtuelle):
    • Installer:
      sudo apt install secure-delete
    • Nettoyer:
      sfill -fllvz /lerépertoire
    • Pour le swap:
      sudo swapoff -a
      sudo sswap -fllvz /dev/sda5
    • 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 quelle est votre distribution Linux:
    cat /etc/*-release
    • Exemple pour Linux Mint 19:
      DISTRIB_ID=LinuxMint
      DISTRIB_RELEASE=19
      DISTRIB_CODENAME=tara
      DISTRIB_DESCRIPTION="Linux Mint 19 Tara"
      NAME="Linux Mint"
      VERSION="19 (Tara)"
      ID=linuxmint
      ID_LIKE=ubuntu
      PRETTY_NAME="Linux Mint 19"
      VERSION_ID="19"
      HOME_URL="https://www.linuxmint.com/"
      SUPPORT_URL="https://forums.ubuntu.com/"
      BUG_REPORT_URL="http://linuxmint-troubleshooting-guide.readthedocs.io/en/latest/"
      PRIVACY_POLICY_URL="https://www.linuxmint.com/"
      VERSION_CODENAME=tara
      UBUNTU_CODENAME=bionic

      (On voit que c'est Linux Mint 19 basé sur Ubuntu Bionic Beaver, donc 18.04)

  • Informations système:
    • inxi est fantastique.
    • inxi -F vous donnera une vue d'ensemble de votre système.
    • -G pour la carte graphique, -A pour l'audio, etc. Faites un man inxi pour voir toutes les options.
    • Certaines informations (comme les numéros de série) ne remonteront qu'en lançant inxi en sudo. Exemple: numéro de série de votre ordinateur: sudo inxi -M ou encore les barettes de RAM avec leur numéro de série: sudo inxi -m -xx.
  • 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
  • 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
  • Mise à jour de fortune (citations): fortune est un programme qui affiche des citations. Mais il 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 fortune directement dans votre ~/.bashrc (ou si vous préférez:fortune | cowsay)
  • Du mal à lire une clé USB, un disque externe ou une carte mémoire ? Elle est peut-être en exFAT (système de fichiers de Microsoft différent de FAT32, sans la limite des 4 Go par fichier).
    • Faites: sudo apt-get install exfat-fuse exfat-utils
  • Réduction de l'utilisation du swap (1)
    • Faire:
      sudo bash -c 'echo "vm.swappiness=10" >> /etc/sysctl.conf'
    • Rebooter pour prendre en compte, ou faire sudo sysctl -p
  • Réduction de l'utilisation du swap (2)
    • sudo apt install zram-config et c'est tout. Les segments de mémoire compressés seront utilisés en priorité sur le swap disque.
  • Faire du ménage dans vos fichiers:
    • En recherchant les fichiers en double.
      • Installez fslint: sudo apt install fslint
      • Lancez l'application: Par défaut, c'est l'onget "Duplicata" qui est sélectionné, avec votre répertoire perso.
      • Cliquez sur le bouton Rechercher en bas à gauche: Cela va rechercher les fichiers en double dans votre répertoire perso.
      • Il va vous afficher ceux qui prennent le plus de place en premier.
      • Vous pouvez sélectionner manuellement les fichiers, ou utiliser le bouton Sélectionné > Dans les groupes > Tout saut le plus récent pour sélectionner directement les fichiers redondants. Vous pouvez ensuite les supprimer.
      • Utilisez aussi l'onglet "Fichiers temporaires".
    • En recherchant les fichiers volumineux:
      • Installez gdmap: sudo apt install gdmap et lancez-le.
      • Il permet de repérer visuellement les fichiers les plus volumineux: À l'écran, chaque rectangle représente un fichier. Plus le rectangle est grand, plus le fichier est gros. (screenshots)
      • Vous pouvez aussi utiliser (en terminal) l'excellent ncdu.
    • En recherchant les répertoires volumineux:
      • Avec mate-disk-usage-analyzer (fourni avec Linux Mint sous le nom de "Analyseur d'utilisation des disques").
      • Cliquez sur le bouton Analyser le dossier personnel
      • Les répertoires les plus volumineux sont affichés en premier. Vous pouvez les développer.
    • Jetez un coup d'oeil dans les répertoires suivants: Il y a peut-être des restes de fichiers de configuration de logiciels que vous avez dé-installés:
      • ~/.local/share/
      • ~/.config/
    • Je ne suis pas fan du logiciel BleachBit. Faites très attention à ce que vous faites dans ce logiciel.
  • Voir les entrées/sorties (accès disque):
    • Liste des processus actuellement en train de faire des I/O: sudo iotop -o (Notez la différence entre 'Total disk write' et 'Actual disk write': Total correspond aux demandes d'écriture effectuées par les applications (qui atterrissent alors dans le cache), et le 'Actual' qui correspond aux écritures réelles sur disque (cache vers disque).
    • En cas de gros blocage, pour voir les processus en sont en attente des I/O:
      sudo watch -n 1 "(ps aux | awk '\$8 ~ /D/  { print \$0 }')"
    • Voir aussi: iostat -d
  • Installer le logiciel Captvty sous Linux ? C'est possible !
  • Convertir un dossier de *.flac (et ses sous-répertoires) en mp3:
    find -name "*.flac" -exec ffmpeg -i {} -acodec libmp3lame -ab 128k {}.mp3 \;
  • Changer la luminosité au clavier:
    • Installez XBackLight: sudo apt install xbacklight
    • Ajoutez les raccourcis clavier:
      • Ctrl ⇧ Maj + : lancer la commande: xbacklight -inc 10
      • Ctrl ⇧ Maj - : lancer la commande: xbacklight -dec 10
  • Avoir de superbes fonds d'écran ? Prendre le logiciel Variety qui peut aller chercher des images chez Unsplash.: sudo apt install variety ou installer à la main les paquets "variety-slideshow" et "variety" (Site officiel, Paquets sur Launchpad).
  • BackInTime est une bonne solution pour faire des backups automatisés des fichiers utilisateurs. Il possède une interface graphique qui permet aux utilisateur de récupérer facilement les anciennes versions des fichiers. (sudo apt install backintime-gnome).
  • Swap sous forme de fichier:
    • À la place d'utiliser une partition de swap, on peut utiliser un fichier de swap. L'avantage est qu'on peut changer sa taille facilement sans avoir à retailler les partitions.
    • Désactiver le swap actuel: sudo swapoff -a
    • Créer un fichier de swap de 2 Go: sudo dd if=/dev/zero of=/swapfile bs=1024 count=2000000
    • Mettre les droits: sudo chmod 0600 /swapfile
    • S'assurer qu'il n'est pas fragmenté: sudo e4defrag -v /swapfile
    • Préparer le swap: sudo mkswap /swapfile
    • Activer le swap: sudo swapon /swapfile
    • Mettre dans /etc/fstab:
      /swapfile none swap sw 0 0
    • Note:
      • Si vous voulez supprimer votre partition de swap:
        • Pensez à commenter la ligne dans votre /etc/fstab.
        • Vous pouvez booter sur clé USB pour supprimer la partition avec gparted.
        • Pensez à retirer la partition du système d'hibernation pour éviter des attentes inutiles au boot:
          • Si vous voyez Gave up waiting for suspend/resume device dans /var/log/boot.log alors modifiez le fichier /etc/initramfs-tools/conf.d/resume:
            • Là où il y a RESUME=UUID=388a79ac-27b7-42f5-ac13-… remplacez par RESUME=none
            • puis faites: sudo update-initramfs -u
  • Allonger l'autonomie
    • sudo apt install tlp
    • tlp va changer des réglages système quand vous passez de secteur à batterie (et inversement). Les réglages par défaut sont excellents.
    • man tlp ou voir le fichier /etc/default/tlp pour changer les réglages.
    • Si vous utilisez tlp, powertop n'est plus utile.
  • Besoin de capturer une vidéo de l'écran ?
    • Kazam marche très bien, même pour capturer un jeu vidéo en plein écran. sudo apt install kazam
    • Capture de tout ou partie de l'écran au format MP4(h264)/WebM(VP8)/AVI, avec ou sans le son (source: sortie audio et/ou micro).
1)
Le script qui a servi à pomper le site est ou .
linux-vrac.1538574581.txt.gz · Dernière modification : 2018/10/03 13:49 de sebsauvage