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édentesRévision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
linux-vrac [2020/01/13 09:55] sebsauvagelinux-vrac [2020/12/10 08:47] 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 428: Ligne 438:
             * 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 502: Ligne 519:
       * 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 591: Ligne 615:
  
   * **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>   * **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>
Ligne 616: Ligne 642:
   * ** Qui est connecté ?** : <code>w</code>   * ** Qui est connecté ?** : <code>w</code>
   * **Date de dernière connexion** de chaque utilisateur:<code>lslogins -u</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**:   * **Synchroniser un répertoire local vers un répertoire distant par FTP**:
Ligne 640: Ligne 667:
   * 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).   * 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).
  
-  * **AppArmor** :  +  * 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. 
-    * AppArmor est un module de sécurité qui permet de restreindre les ressources auxquelles ont accès les applicationsC'est utile pour limiter le risque de piratage si une faille non connue est exploitée dans Firefoxpar exemple+ 
-    * AppArmor est installé par défaut dans Debian/Ubuntu/LinuxMintIl n'est pas actif par défaut+  * **flatpak**: 
-    * AppArmor définit des "profils", définissant à quelles ressources une application peut avoir accèsQuelques profils par défaut sont fourniset il y en a d'autres dans le paquet ''apparmor-profiles''Il arrive également que certains profils soient fournis dans les paquets des applications directement+    * FIXME Section à compléter 
-    * Lister les profils existants: ''sudo aa-status'' +    * Voir la liste des pack installés:<code>flatpak list</code> 
-    * Ajouter des profils: ''sudo apt install apparmor-profiles'' +    * Retirer les packs inutilisés:<code>flatpak uninstall --unused</code> 
-    * FIXMEà terminer.+ 
 +  * **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>
  
   * 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 652: Ligne 754:
   * 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.txt · Dernière modification : 2024/01/30 14:32 de sebsauvage