Outils pour utilisateurs

Outils du site


linux-vrac

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
linux-vrac [2019/05/28 13:17]
sebsauvage
linux-vrac [2021/06/12 07:47] (Version actuelle)
sebsauvage
Ligne 35: Ligne 35:
  - Extract files matching a pattern:  - Extract files matching a pattern:
    tar xf {{source.tar}} --wildcards {{"*.html"}}</code>    tar xf {{source.tar}} --wildcards {{"*.html"}}</code>
 +
 +  * **Votre Wifi ne fonctionne pas bien ?** Vous avez peut-être oublié de régler la région "France" pour les fréqences (du coup, les canaux 11/12/13 sont peu ou pas accessibles).
 +    * Vérifier la valeur: ''iw reg get''. Si vous ne voyez pas ''Country: FR'' c'est que ce n'est pas correctement réglé.
 +    * Modifier le réglage à la volée: ''sudo iw reg set FR'', mais cela ne persiste pas au redémarrage.
 +    * Pour que la valeur persiste, modifiez le paramètre ''REGDOMAIN'' dans le fichier ''/etc/default/crda''. Mettez:<code>REGDOMAIN=FR</code>
  
   * **Voir la progression d'une longue commande en cours**:   * **Voir la progression d'une longue commande en cours**:
     * Vous avez lancé un //dd// ou un //tar// très long, et vous ne savez pas où il en est ? Lancez:<code bash>sudo progress -m</code>     * Vous avez lancé un //dd// ou un //tar// très long, et vous ne savez pas où il en est ? Lancez:<code bash>sudo progress -m</code>
     * //progress// fonctionne avec cp,mv,dd,tar,gzip,7z,rsync...     * //progress// fonctionne avec cp,mv,dd,tar,gzip,7z,rsync...
 +    * Si vous utilisez ''-M'', progress ne quittera pas et attendra un autre processus.
  
   * **Créer des archives compressées** : Créer une archive compressée c'est simple, mais c'est toujours bon de se rappeler la syntaxe:   * **Créer des archives compressées** : Créer une archive compressée c'est simple, mais c'est toujours bon de se rappeler la syntaxe:
Ligne 67: Ligne 73:
     * Pour **«** et **»**, c'est <key>AltGr-z</key> et <key>AltGr-x</key>     * Pour **«** et **»**, c'est <key>AltGr-z</key> et <key>AltGr-x</key>
  
-  * **Entrer des caractères Unicode**: <key>C</key>+<key>⇧ Maj</key>+<key>u</key> et tapez la valeur Unicode en héxadécimal.+  * **Entrer des caractères Unicode**: <key>C</key>+<key>⇧ Maj</key>+<key>'U'</key> et tapez la valeur Unicode en héxadécimal.
     * Essayez ! <key>C</key>+<key>⇧ Maj</key>+<key>u</key>+2705+<key>ESPACE</key> : ✅     * Essayez ! <key>C</key>+<key>⇧ Maj</key>+<key>u</key>+2705+<key>ESPACE</key> : ✅
  
Ligne 83: Ligne 89:
     * Faire:<code bash>sudo bash -c 'echo "vm.swappiness=10" >> /etc/sysctl.conf'</code>     * Faire:<code bash>sudo bash -c 'echo "vm.swappiness=10" >> /etc/sysctl.conf'</code>
     * Rebooter pour prendre en compte, ou faire ''sudo sysctl -p''     * Rebooter pour prendre en compte, ou faire ''sudo sysctl -p''
-    * Cela va réduire la propension du système à swapper. Par défaut ce paramètre est souvent à 60, mais en la passant à 10 le système attendra d'avoir 90% de RAM utilisée avant de commencer à swapper.+    * Cela va réduire la propension du système à swapper. Par défaut ce paramètre est souvent à 60, mais en le passant à 10 le système attendra beaucoup plus avant de commencer à swapper.
   * **Réduction de l'utilisation du swap (2)**   * **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. (Vous pouvez voir les ''/dev/zramX'' quand vous faites ''cat /proc/swaps'').+    * ''sudo apt install zram-config'', rebootez, et c'est tout. Les segments de mémoire compressés seront utilisés en priorité sur le swap disque. (Vous pouvez voir les ''/dev/zramX'' quand vous faites ''cat /proc/swaps'').
     * C'est tellement efficace, que sur une machine avec 4 Go de RAM sur laquelle on lance plein de programmes au point d'atteindre 1,1 Go de swap utilisé, //aucun octet n'a commencé à être écrit dans le swap sur disque !//     * C'est tellement efficace, que sur une machine avec 4 Go de RAM sur laquelle on lance plein de programmes au point d'atteindre 1,1 Go de swap utilisé, //aucun octet n'a commencé à être écrit dans le swap sur disque !//
     * zram est utile quelle que soit la quantité de RAM que vous avez en réduisant à néant les lectures/écritures dans le swap disque. Le swap zram est infiniment plus rapide qu'un swap disque (quel que soit votre type de disque) et cela réduit l'usure des SSD.     * zram est utile quelle que soit la quantité de RAM que vous avez en réduisant à néant les lectures/écritures dans le swap disque. Le swap zram est infiniment plus rapide qu'un swap disque (quel que soit votre type de disque) et cela réduit l'usure des SSD.
Ligne 100: Ligne 106:
   * **Partage rapide de fichiers par HTTP** : Un serveur web en 10 secondes.   * **Partage rapide de fichiers par HTTP** : Un serveur web en 10 secondes.
     * Ouvrez un terminal dans le répertoire à partager.     * Ouvrez un terminal dans le répertoire à partager.
-    * Tapez:<code bash>python -m SimpleHTTPServer 9988</code> +    * Tapez (pour Python3) :<code bash>python3 -m http.server 5555</code> 
-    * Et c'est tout. Le répertoire sera accessible par ''http://adresseip:9988/''+      * Si vous n'avez que Python2, c'est ''python -m SimpleHTTPServer 5555'' 
 +    * Et c'est tout. Le répertoire sera accessible par ''http://adresseip:5555/''
     * Pressez <key>Ctrl-c</key> pour arrêter le partage.     * Pressez <key>Ctrl-c</key> pour arrêter le partage.
  
Ligne 107: Ligne 114:
     * Ajoutez à votre ''.bashrc'':<code bash>alias ni='nice -n 19 ionice -c3'</code>     * Ajoutez à votre ''.bashrc'':<code bash>alias ni='nice -n 19 ionice -c3'</code>
     * Puis lancez n'importe quel programme en le préfixant par ''ni'':<code bash>ni tar cvfz monarchive.tgz monrepertoire/</code>     * Puis lancez n'importe quel programme en le préfixant par ''ni'':<code bash>ni tar cvfz monarchive.tgz monrepertoire/</code>
 +
 +  * Mettre automatiquement un programme en arrière plan quand il est lancé: Par exemple pour ''7z'' ouvrez un terminal, lancez cette commande et laissez le terminal ouvert:<code>watch "renice 19 -p $(pgrep 7z)"</code>
 +
  
   * Un programme prend trop de CPU ? Vous voulez lui limiter le pourcentage de CPU qu'il consomme ? Utilisez **cpulimit**: <code>cpulimit -e nomDuProgramme -l 25 -b</code>   * Un programme prend trop de CPU ? Vous voulez lui limiter le pourcentage de CPU qu'il consomme ? Utilisez **cpulimit**: <code>cpulimit -e nomDuProgramme -l 25 -b</code>
Ligne 153: Ligne 163:
  
   * **Calculer la MD5 de fichiers avec sous-répertoires**   * **Calculer la MD5 de fichiers avec sous-répertoires**
-    * Calculer: <code bash>nice find . -type f -print0 | xargs -0 md5sum | sort -k2 > md5sums</code>+    * Calculer: <code bash>find . -type f -print0 | xargs -0 md5sum | sort -k2 > md5sums</code> 
 +      * Cela va créer un fichier ''md5sums'' qui permettra de vérifier l'intégrité des fichiers. 
 +      * Le ''sort -k2'' permet de trier par les noms de fichier. 
 +      * Si vous ne voulez pas aller dans les sous-répertoires, faites juste ''md5sum * | sort -k2 > md5sums''
     * Vérifier: <code bash>md5sum -c md5sums</code>     * Vérifier: <code bash>md5sum -c md5sums</code>
 +      * Si un fichier manque ou a été endommagé, cette commande vous le signalera.
 +    * Si votre disque est très rapide (SSD), vous pouvez même utiliser xargs pour lancer des calculs de md5 en parallèle sur plusieurs fichiers pour aller plus vite:<code bash>find . -type f -print0 | xargs -0 -L1 -P4 md5sum | sort -k2 > md5sums</code>
 +      * Le ''-P4'' permet de lancer 4 calculs de md5 en parallèle.
 +      * Et pour calcul cette même md5 seulement dans le répertoire courant sans aller dans les sous-répertoire, ajoutez ''-maxdepth 1'' juste avant ''-type f''.
  
   * **Emporter une application sur clé USB** (pour ma clé "Live" de Linux Mint que j'utilise comme clé de dépannage):   * **Emporter une application sur clé USB** (pour ma clé "Live" de Linux Mint que j'utilise comme clé de dépannage):
Ligne 163: Ligne 180:
  
   * **Supprimer les paquets inutiles**: ''sudo apt autoremove''   * **Supprimer les paquets inutiles**: ''sudo apt autoremove''
 +    * Cela va dé-installer les paquets qui ne sont plus utilisés par d'autres paquets mais qui auraient pu être laissés.
  
-  * **Cache des paquets**: +  * **Cache des paquets** (debian et dérivés (Ubuntu, LinuxMint...))
-    * Tous les paquets installés sont en copie dans ''/var/cache/apt/archives/'' +    * 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''+    * La copie locale de ces paquets peut être parfois utile en cas de paquet foireux (rare) ou pour réinstaller un paquet sans connexion internet. Vous pouvez le vider pour gagner de la place, c'est sans risque pour le système. 
 +    * Retirer les anciens paquets (retire les anciennes versions des paquets, mais laisse celles actuellement installées): ''sudo apt autoclean''
 +    * Vider complètement le cache des paquets: ''sudo apt clean'' 
 +    * Forcer le re-téléchargement de tous les paquets:<code>dpkg -l | grep "^ii" | awk ' {print $2} ' | xargs sudo apt-get -y --force-yes install --reinstall --download-only</code> 
 +      * Note: Cela ne va bien sur pas re-télécharger les .deb que vous avez manuellement téléchargés, mais seulement ceux présents dans les dépôts.
  
   * **Installer de nouvelles polices de caractères**:   * **Installer de nouvelles polices de caractères**:
Ligne 344: Ligne 366:
     * Démontage:<code bash>fusermount -u pointdemontage</code>     * Démontage:<code bash>fusermount -u pointdemontage</code>
  
-  * **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:+  * **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/*''     * Supprimez les citations existantes: ''sudo rm -rf /usr/share/games/fortunes/*''
-    * Récupérez le fichier [[http://sebsauvage.net/files/fortune/citation-celebre.7z|citation-celebre.7z]] (2 Mo, md5 4bf707f4d4a1af8457834d8578699a52), décompressez-le. (Il contient plus de 69000 citations, de Confucius à Les Nulls.) ((Le script qui a servi à pomper le site est [[http://sebsauvage.net/files/fortune/scraper-citation-celebre.py|là]] ou [[http://sebsauvage.net/paste/?12bf3badbd066925#24uaJVn4zDNKymWTEYzOIAdInksekhSyCJYvWqw7/Qw|là]].))+    * Récupérez le fichier [[http://sebsauvage.net/files/fortune/citation-celebre.7z|citation-celebre.7z]] (2 Mo, md5 b0e056e0f78434c35659b9889061286f), décompressez-le. (Il contient plus de 80000 citations, de Confucius à Les Nulls.)
     * Copiez ces 2 fichiers: ''sudo cp citation-celebre.com* /usr/share/games/fortunes''     * Copiez ces 2 fichiers: ''sudo cp citation-celebre.com* /usr/share/games/fortunes''
     * Testez: ''fortune''     * 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'')     * 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'')
 +    * Plus d'informations dans [[fortunes-fr|cette page]].
  
   * **Du mal à lire une clé USB, un disque externe ou une carte mémoire ?** Elle est peut-être en [[https://fr.wikipedia.org/wiki/ExFAT|exFAT]] (système de fichiers de Microsoft différent de FAT32, sans la limite des 4 Go par fichier).   * **Du mal à lire une clé USB, un disque externe ou une carte mémoire ?** Elle est peut-être en [[https://fr.wikipedia.org/wiki/ExFAT|exFAT]] (système de fichiers de Microsoft différent de FAT32, sans la limite des 4 Go par fichier).
Ligne 356: Ligne 379:
   * **Faire du ménage dans vos fichiers**:   * **Faire du ménage dans vos fichiers**:
     * En recherchant les **fichiers en double**.     * En recherchant les **fichiers en double**.
-      * Installez //fslint//: ''sudo apt install fslint'' +      * <del>Installez //fslint//: ''sudo apt install fslint''</del> Cette application n'existe plus, mais quelqu'un la ré-implémentée sous le nom de [[https://github.com/qarmin/czkawka|Czkawka]]. 
-      * Lancez l'application: Par défaut, c'est l'onget "**Duplicata**" qui est sélectionné, avec votre répertoire perso. +      * Lancez l'application: Par défaut, c'est l'onget "**Duplicate files**" 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.       * 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.       * Il va vous afficher ceux qui prennent le plus de place en premier.
Ligne 383: Ligne 406:
  
   * **Voir les entrées/sorties (accès disque)**:   * **Voir les entrées/sorties (accès disque)**:
 +    * Affichage en temps réel des processus consommant de l'I/O disque: ''sudo iotop''
     * Liste des processus qui font des des I/O: ''sudo iotop -b -o | grep \%''     * Liste des processus qui font des des I/O: ''sudo iotop -b -o | grep \%''
     * Sans le //grep//, 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).     * Sans le //grep//, 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).
Ligne 419: Ligne 443:
         * Vous pouvez booter sur clé USB pour supprimer la partition avec gparted.         * 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:         * 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'':+          * 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'' (créez ce fichier s'il n'existe pas):
             * Là où il y a ''RESUME=UUID=388a79ac-27b7-42f5-ac13-...'' remplacez par ''RESUME=none''             * Là où il y a ''RESUME=UUID=388a79ac-27b7-42f5-ac13-...'' remplacez par ''RESUME=none''
             * puis faites: ''sudo update-initramfs -u''             * puis faites: ''sudo update-initramfs -u''
 +
 +  * **Désactiver l'hibernation** (c'est à dire suspend-to-disk et suspend-to-ram):
 +    * Désactiver:<code bash>sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
 +sudo systemctl restart systemd-logind.service</code>
 +    * Réactiver:<code bash>sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target</code>
 +    * Et pour empêcher l'hibernation quand l'écran est rabattu, dans le fichier ''/etc/systemd/logind.conf'', décommenter les deux lignes suivantes:<code>HandleLidSwitch=ignore
 +HandleLidSwitchDocked=ignore</code>
  
   * **Allonger l'autonomie**   * **Allonger l'autonomie**
Ligne 496: Ligne 527:
       * Sauvegarde:<code bash>partclone.ext4 -c -d -s /dev/sda2 | pigz | split -d -b 4000M - image.partclone.gz.</code>Cela va créer des fichiers ''image.partclone.gz.00'', ''image.partclone.gz.01'', etc.       * Sauvegarde:<code bash>partclone.ext4 -c -d -s /dev/sda2 | pigz | split -d -b 4000M - image.partclone.gz.</code>Cela va créer des fichiers ''image.partclone.gz.00'', ''image.partclone.gz.01'', etc.
       * Pour restaurer:<code bash>cat image.partclone.gz.* | pigz -d | sudo partclone.restore -d -o /dev/sda2</code>       * Pour restaurer:<code bash>cat image.partclone.gz.* | pigz -d | sudo partclone.restore -d -o /dev/sda2</code>
 +    * **Avec fsarchiver** 
 +      * ''dd'' et ''partclone'' ne peuvent travailler que sur des partitions démontées. ''fsarchiver'' peut travailler sur des fs montés, et (tout comme partimage) il garde tous les fichiers avec leurs attributs. Voici les différences: 
 +        * Tout comme partimage, il garde tous les attributs des fichiers, mais il travaille au niveau //fichiers//, ce qui lui permet de restaurer les fichiers vers une partition d'un type différent (alors que, par exemple, partimage ne peut restaurer une sauvegarde ext4 que dans un partition ext4). 
 +        * Il est beaucoup plus rapide. 
 +        * La compression est intégrée (compression zstd très rapide) 
 +        * Les archives ainsi créées peuvent être transférées vers des disque plus gros ou plus petits. 
 +        * Si une archive fsarchiver est corrompue, vous ne perdez que les fichiers endommagés de l'archive, pas toute l'archive. 
 +        * De par sa vitesse, **fsarchiver est un excellent choix pour faire un backup préventif sur un disque externe** avant une réinstallation du système, par exemple.
   * Besoin de voir si votre joystick ou manette fonctionne bien ? Utilisez **jstest-gtk** (''sudo apt install jstest-gtk'')   * Besoin de voir si votre joystick ou manette fonctionne bien ? Utilisez **jstest-gtk** (''sudo apt install jstest-gtk'')
     * PS: Même si //jstest// fonctionne, il se base sur ''/dev/input/jsX'' qui sont en principe obsolètes. Vous pouvez passer à //evtest// qui se base sur ''/dev/input/eventXX''. La version graphique, //[[https://gitlab.com/evtest-qt/evtest-qt|evtest-qt]]// n'est sans doute pas dispo pour votre distribution. Vous devrez la compiler ou prendre les packages [[https://launchpad.net/~grumbel/+archive/ubuntu/ppa/+packages?field.name_filter=evtest-qt&field.status_filter=published|sur Launchpad]].     * PS: Même si //jstest// fonctionne, il se base sur ''/dev/input/jsX'' qui sont en principe obsolètes. Vous pouvez passer à //evtest// qui se base sur ''/dev/input/eventXX''. La version graphique, //[[https://gitlab.com/evtest-qt/evtest-qt|evtest-qt]]// n'est sans doute pas dispo pour votre distribution. Vous devrez la compiler ou prendre les packages [[https://launchpad.net/~grumbel/+archive/ubuntu/ppa/+packages?field.name_filter=evtest-qt&field.status_filter=published|sur Launchpad]].
Ligne 558: Ligne 596:
     * puis faites: ''sudo update-grub''     * puis faites: ''sudo update-grub''
  
-  * Quel programme est en train de vous bouffer la bande passante ?+  * Quel programme sur votre ordinateur est en train de vous bouffer la bande passante ?
     * ''sudo nethogs''     * ''sudo nethogs''
 +
 +  * Quel machine sur votre réseau est en train de bouffer la bande passante ? Utilisez //iptraf//:
 +    * Installation: ''sudo apt install iptraf-ng''
 +    * Utilisation:
 +      * ''sudo iptraf-ng''
 +      * Sélectionnez //LAN Station Monitor// : Vous verrez alors le traffic réseau (ce sont les adresses MAC qui sont affichées).
  
   * Couper automatiquement les applications de P2P si vous coupez votre VPN ou qu'il tombe:<file bash surveillance-vpn.sh>#!/bin/bash   * Couper automatiquement les applications de P2P si vous coupez votre VPN ou qu'il tombe:<file bash surveillance-vpn.sh>#!/bin/bash
Ligne 578: Ligne 622:
 done</file> done</file>
  
-  * Trouver les machines sur une plage d'IP:<code>nmap -sP 192.168.0.1-255</code>+  * **Trouver les machines sur une plage d'IP**:<code>nmap -sP 192.168.0.1-255</code> 
 +    * ou plus rapide avec ''arp-scan'' (''sudo apt install arp-scan''): <code>sudo arp-scan 192.168.0.0/24</code> 
 +    * ou lister rapidement les machines du LAN: <code>arp -an</code> 
 + 
 +  * **Capturer une image avec la webcam**:<code>ffmpeg -f video4linux2 -s 640x480 -i /dev/video0 -ss 0:0:2 -frames 1 -y "/tmp/`date -Iseconds`.jpg"</code> 
 + 
 +  * **Optimiser un GIF animé**: 
 +    * Le format mp4 est généralement une meilleure solution que le format GIF animé (voir [[video-web|cette page]]), mais si vous tenez absolument au format GIF, on peut les optimiser: 
 +    * Vous pouvez réduire sa taille avec //ImageMagick//:<code>convert -limit memory 1 -limit map 1 -fuzz 5% -layers Optimize input.gif output.gif</code> 
 +    * ou avec //[[https://github.com/kohler/gifsicle|gifsicle]]// (attention, nécessite gifscicle 1.92 ou supérieur ; les dépôts n'ont souvent que la 1.91):<code>gifsicle -O3 --lossy=80 -o output.gif input.gif</code> 
 +    * Selon la nature des images, l'un ou l'autre sera plus efficace. 
 +    * Notez que ces deux méthodes réduisent un peu la qualité d'image. 
 +    * Avec gifsicle, vous pouvez monter la valeur du paramètre ''%%--%%lossy'' (par exemple ''%%--%%lossy=200'' ou ''%%--%%lossy=800'') : Cela compressera encore mieux, au détriment de la qualité d'image. 
 + 
 +  * **Tracer toutes les commandes lancées sur un système** avec les options de la ligne de commande: 
 +    * Installez: ''sudo apt install snoopy'' 
 +    * Et pouf, vous n'avez plus qu'à regarder dans ''/var/log/auth.log''. Exemple de sortie:<code>Jul 16 10:33:22 mycomputer snoopy[11483]: [login:sebsauvage ssh:((undefined)) sid:12137 tty:/dev/pts/3 (1005/sebsauvage) uid:sebsauvage(1005)/sebsauvage(1005) cwd:/home/sebsauvage]: nmap -sP 192.168.0.1-255</code> 
 +    * Exemple de script de filtrage:<code bash>#!/bin/bash 
 +reg_snoopy="(.+?) (.+?) (.+?) (.+?) snoopy.+?login:([a-z]+)\s.+?cwd.+?\]: (.*)" 
 +tail -fn0 /var/log/auth.log | \ 
 +while read line ; do 
 +   if [[ $line =~ $reg_snoopy ]] ; then 
 +    echo "Date: ${BASH_REMATCH[1]} ${BASH_REMATCH[2]} ${BASH_REMATCH[3]}, utilisateur: ${BASH_REMATCH[5]}, commande: ${BASH_REMATCH[6]}" 
 +   fi 
 +done</code> 
 + 
 +  * ** Qui est connecté ?** : <code>w</code> 
 +  * **Date de dernière connexion** de chaque utilisateur:<code>lslogins -u</code> 
 +  * **Liste des connexions et déconnexions utilisateur, et temps de connexion**:<code>last</code> 
 + 
 +  * **Synchroniser un répertoire local vers un répertoire distant par FTP**: 
 +    * <code>lftp ftp://login:password@votreserveurftp.com -e "mirror -e -c -R --ignore-time --verbose=1 /répertoirelocal /répertoiredistant/ ; quit" 
 +</code> 
 +    * **-e** supprimera les fichiers distants s'ils ont été supprimés en local. 
 +    * **-c** essaiera de faire de son mieux pour reprendre en cas d'interruption. 
 +    * **-R** sert à synchroniser //local vers distant// (sans -R, c'est //distant vers local//) 
 +    * **%%--%%ignore-time** ne tranfèrera les fichiers que si la taille est différente. Vous pouvez retirer cette option pour transférer les fichiers dont la date a changé localement. 
 +    * **%%--%%verbose=1** affichera les opérations effectuées (fichiers supprimés, transférés...) 
 +    * Si vous voulez limiter lftp pour les serveurs FTP qui n'aiment pas trop les multiples connexions simultanées, dans ''~/.lftp/rc'', mettez:<code>set cmd:parallel 1 
 +set net:connection-limit 1 
 +set xfer:parallel 1 
 +set ftp:sync-mode true</code> 
 + 
 +  * **Accéder au contenu de votre téléphone par USB (MTP)** : La plupart des téléphones actuels permettent l'accès aux fichiers par MTP. C'est horriblement lent, mais on a pas trop le choix. Si certains explorateurs de fichiers (Gnome) sont capable d'accéder aux fichiers (par exemple avec gvfs), ce n'est pas accessible du système de fichier. Pour monter réellement les répertoires dans votre système de fichiers: 
 +    * D'abord installer le paquet qui va bien:<code>sudo apt install jmtpfs</code> 
 +    * Ajoutez-vous dans le goupe "plugdev" et "fuse":<code>sudo usermod -a -G plugdev monlogin 
 +sudo usermod -a -G fuse monlogin</code> 
 +    * Ensuite "éjecter" le périphérique de l'explorateur de fichiers, puis créer un répertoire, et enfin monter votre téléphone dans ce répertoire:<code>sudo jmtpfs -o allow_other répertoire</code> 
 +    * Pour démonter:<code>sudo umount répertoire</code> 
 +    * Alternativement, vous pouvez essayer //mtpfs// et //mtp-tools//
 + 
 +  * Tapez ''export TMOUT=30'' et votre terminal se fermera au bout de 30 secondes (sauf si un processus est en cours. Dans ce cas, il attendra la fin du processus). 
 + 
 +  * Voir tous les mots de passe stockés dans le trousseau de clés Gnome (mots de passe de partages, Wifi, Vpn...): ''sudo apt install seahorse'' et lancez-le. 
 + 
 +  * **flatpak**: 
 +    * FIXME Section à compléter 
 +    * Voir la liste des pack installés:<code>flatpak list</code> 
 +    * Retirer les packs inutilisés:<code>flatpak uninstall --unused</code> 
 + 
 +  * **snap** 
 +    * FIXME Section à compléter 
 +    * Retirer les snaps inutilisés: 
 +      * créer le script suivant ([[https://www.linuxuprising.com/2019/04/how-to-remove-old-snap-versions-to-free.html|source]]):<file bash remove-old-snaps>#!/bin/bash 
 +# Removes old revisions of snaps 
 +# CLOSE ALL SNAPS BEFORE RUNNING THIS 
 +set -eu 
 + 
 +LANG=en_US.UTF-8 snap list --all | awk '/disabled/{print $1, $3}' | 
 +    while read snapname revision; do 
 +        snap remove "$snapname" --revision="$revision" 
 +    done</file> 
 +      * rendre le script exécutable ''chmod +x remove-old-snaps'' 
 +      * lancer: ''sudo ./remove-old-snaps'' 
 + 
 +  * S'installer rapidement un serveur web avec apache:<code>sudo apt install apache2 php7.2 libapache2-mod-php7.2</code> 
 +    * Le répertoire du serveur web est ''/var/www/html/''
 + 
 +  * Pour NextCloud, //pour tester en local, pas pour une prod//, ajoutez:<code>sudo apt install php7.2-zip php7.2-xml php7.2-gd php7.2-curl php7.2-mbstring php7.2-sqlite3 php7.2-imagick php7.2-intl  
 +sudo phpenmod intl 
 +sudo a2enmod rewrite 
 +sudo service apache2 restart</code>     
 +    * Dans ''/etc/apache2/apache2.conf'', dans la section ''<Directory /var/www/>'', remplacez ''AllowOverride None'' par ''AllowOverride All''
 +    * Dans le répertoire racine de votre serveur web, créez un fichier ''.htaccess'' contenant: ''php_value memory_limit 2048M'' 
 + 
 +  * Votre répertoire de fichiers temporaires (''/tmp'') se vide tout seul à chaque redémarrage, mais pas le cache d'impression de cups: Tout ce que vous avez imprimé s'accumule dans ''/var/cache/cups''. Pour le vider faites:<code bash>sudo service cups stop 
 +sudo rm -r /var/cache/cups/ 
 +sudo service cups start</code> 
 + 
 +  * Si vous avez des problèmes dépendance pour installer un paquet, il arrive souvent que **aptitude** trouve des solutions un peu plus poussées qui résoudront les problèmes.<code bash>sudo apt install aptitude 
 +sudo apt install MonPaquet</code> 
 + 
 +  * Des soucis pour installer, configuer ou utiliser Wine ?  Voir [[wine|cette page]]. 
 + 
 +  * **Réparer des fichiers** 
 +    * par2 permet de réparer des fichiers. (Version courte de l'explication: Imaginez que vous ayez 10 Go de fichiers. Si vous préparez à l'avance 1 Go de fichiers //par2//, vous pourrez réparer/reconstituer (au plus) 1 Go de données endommagées ou perdues dans ces 10 Go, quel que soit l'endroit où les données sont endommagées dans ces 10 Go). 
 +    * **Créer** des fichiers //par2// sur un groupe de fichiers, avec 10% de redondance (Donc 10 Go de données créera 1 Go de fichiers par2):<code>par2 c -r10 protection *</code> 
 +      * Cela va créer le fichier //protection.par2//, ainsi que des fichiers //protection.volxxx+xx.par2//.  
 +        * Le fichier //protection.par2// seul est utile pour **vérifier** l'intégrité de vos fichiers. 
 +        * Les fichiers //protection.volxxx+xx.par2// servent à **réparer** les données. Un fichier //.par2// de 2,3 Mo permettra de réparer jusqu'à 2,3 Mo de données perdues/endommagées. 
 +      * Ajoutez l'option ''-R'' si vous voulez aussi prendre en compte les sous-répertoires. 
 +    * **Vérifier** des fichiers: <code>par2 v protection.par2</code> 
 +      * Message affiché à la fin: 
 +        * //All files are correct, repair is not required.// : Tout va bien, vos données sont saines. 
 +        * //Repair is required. / Repair is possible. // : Vos fichiers sont endommagés, mais vous pouvez les réparer. Passez à l'étape suivante. 
 +        * //Repair is required. / Repair is not possible. // : Vos fichiers sont endommagés, mais mauvaise nouvelle, ce n'est pas réparable (vous n'avez pas assez de blocs de réparation pour tout réparer.) 
 +    * **Réparer** les fichiers:<code>par2 r protection.par2</code> 
 +      * Et attendez (cela peut être assez long). 
 +      * Si vous voyez //Repair complete.//, c'est tout bon. Vos données sont réparées. 
 + 
 +  * Dans **LibreOffice**, vous voulez une barre d'outils comme dans Microsoft Office ? 
 +    * Allez dans le menu //Outils// > //Options...// > //LibreOffice// > //Avancé// > Cochez //Activer les fonctions expérimentales// 
 +    * Redémarrez LibreOffice. 
 +    * Allez dans le menu //Affichage// > //Dispositio des barres d'outils// > //Métabarre// 
 + 
 +  * **Savoir à quel paquet appartient un fichier** 
 +    * Par exemple vous lancez un programme qui se plaint qui lui manque un fichier:<code>error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory</code> 
 +    * Comment savoir dans quel paquet aller chercher ce fichier ? Commencez par installer ''apt-file'':<code>sudo apt install apt-file</code> 
 +    * <code>sudo apt-file update</code> 
 +    * Ensuite cherchez votre fichier<code>>apt-file search libcrypto.so.1.0.0 
 +google-earth-pro-stable: /opt/google/earth/pro/libcrypto.so.1.0.0 
 +libssl1.0.0: /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0</code> 
 +    * Voilà, vous savez qu'il ne vous reste plus qu'à installer le paquet manquant: ''sudo apt install libssl1.0.0'' 
 + 
 +  * La clé USB live d'Ubuntu Mate 20.04 a la sale manie de vérifier tout le média avant de booter. Pour éviter ça, dans le fichier ''/boot/grub/grub.cfg'', ajouter l'option ''fsck.mode=skip''
 +    * Et pour avoir le clavier français, ajouter ''locales=fr_FR.UTF-8 keyboard-layouts=fr'' 
 + 
 +  * Votre Ubuntu n'en a rien à foutre du délai ''GRUB_TIMEOUT'' que vous avez mis dans ''/etc/default/grub'' ? Essayez ''GRUB_RECORDFAIL_TIMEOUT'' à la place (suivi d'un ''sudo update-grub''). 
 + 
 +  * Besoin de désactiver le clavier interne ou le touchpad de votre ordinateur portable ? 
 +    * Pour lister les périphériques:<code>xinput list</code> 
 +    * Pour désactiver le clavier:<code>xinput disable "AT Translated Set 2 keyboard"</code> 
 +    * Pour réactiver le clavier:<code>xinput enable "AT Translated Set 2 keyboard"</code> 
 + 
 +  * Si quand vous lancez un jeu ou programme vous avez l'erreur ''System.Exception: Magic number is wrong: 542'', lancez le programme comme suit:<code>export 'TERM=roxterm' && ./LeProgramme.bin</code> 
 + 
 +  * Voir les taux de transfers USB en temps réel. 
 +    * Installer:<code>sudo apt install usbtop</code> 
 +    * Activer le module de capture:<code>sudo modprobe usbmon</code> 
 +    * Afficher les débits:<code>sudo usbtop</code> 
 + 
 +  * Comparer deux répertoires (y compris le contenu des fichiers): 
 +    * avec **diff** : <code>diff -qr /répertoire1 /répertoire2</code> 
 +      * ''-q'' pour n'afficher que les différences. 
 +      * ''-r'' pour traiter les sous-répertoires. 
 +    * avec **rsync**: On fait comme si on démarrait une synchro, mais en mode "test seul" (donc sans rien faire):<code>rsync -rvnc --delete /répertoire1 /répertoire2</code> 
 +      * ''-r'' : traiter les sous-répertoires. 
 +      * ''-v'' : verbose (affiche le détail) 
 +      * ''-n'' : ne touche pas aux fichiers 
 +      * ''-c'' : compare le contenu des fichiers (checksum) au lieu de juste date/heure/taille. 
 +      * ''--delete'' : Rassurez-vous, il ne va rien effacer (car on a utilisé ''-n''), mais cela permet d'afficher les fichiers présents dans la destination mais pas dans la source. 
 +    * L'avantage de rsync sur diff est qu'on peut le suivre avec un ''sudo progress -M''
 +    * Ou avec une interface graphique avec //meld// (''sudo apt install meld''). 
 + 
 +  * Besoin de travailler temporairement sur des fichiers que vous allez jeter après ? Ne les enregistrez pas dans votre répertoire perso, mais dans ''/dev/shm''. Ce répertoire réside en mémoire, et ne sera jamais écrit sur disque. Le contenu sera automatiquement effacé au prochain redémarrage. 
 + 
 +  * Malheureusement, des développeurs de Gnome on cru bon de ré-implémenter l'équivalent du service d'indexation des fichiers de Windows. Ça bouffe du CPU, de l'I/O disque et aussi de l'espace disque (''~/.cache/tracker/''). Voici comment le désactiver (à faire pour chaque utilisateur):<code>systemctl --user mask tracker-store.service tracker-miner-fs.service tracker-miner-rss.service tracker-extract.service tracker-miner-apps.service tracker-writeback.service 
 +tracker reset --hard</code> 
 + 
 +  * Le répertoire ''~/.cache'' peut grossir. Beaucoup. On peut sans problème l'effacer (les applications vont re-créer ce dont elles ont besoin) mais si vous n'êtes pas à l'aise avec ça, on peut supprimer juste tous les fichiers qui ont plus d'un an. Cela devrait déjà vous faire gagner de la place: 
 +    * Voir ce qui va être supprimé:<code>find ~/.cache/ -depth -type f -mtime +365</code> 
 +    * Ou les supprimer directement:<code>find ~/.cache/ -type f -mtime +365 -delete</code> 
 +    * Attention: Si vous utilisez ''borg'', en effaçant sont cache vous risquez de rallonger la durée de votre prochain backup car borg n'aura plus en cache le status des fichiers (il va devoir reconstruire son cache). 
 + 
 +  * La liste et date/heure d'installation de tous les paquets: <code>zgrep -h " installed " /var/log/dpkg.log* | sort | uniq</code> 
 + 
 +  * Voir la charge de la batterie en ligne de commande (si vous avez ''tlp'' installé): <code>sudo tlp-stat -b</code> 
 +    * alternativement, vous pouvez aussi faire:<code>cat /sys/class/power_supply/BAT*/status</code>
  
   * Vous avez un Raspberry Pi ? [[raspi3:raspbian|cette page]] pourra vous être utile.   * Vous avez un Raspberry Pi ? [[raspi3:raspbian|cette page]] pourra vous être utile.
Ligne 584: Ligne 795:
   * D'autres astuces ? Voir [[mint_customization|cette page]].   * D'autres astuces ? Voir [[mint_customization|cette page]].
  
 +  * Vous avez des soucis pour faire reconnaître votre imprimante sous Ubuntu/Linux Mint ?  Il faut savoir que par défaut tous les pilotes ne sont pas installés. Jetez un coup d'oeil dans les paquets ''printer-driver-*'' Par exemple, installez le paquet ''printer-driver-escpr'' pour les imprimantes Epson (qui n'est pas installé par défaut).
  
linux-vrac.1559045858.txt.gz · Dernière modification: 2019/05/28 13:17 de sebsauvage