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 [2018/10/03 13:49]
sebsauvage
linux-vrac [2018/12/10 08:49] (Version actuelle)
sebsauvage
Ligne 1: Ligne 1:
 ====== Linux: Le gros bloc-note ====== ====== 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 [[mint_customization|Linux Mint]].+Je note dans cette page, **en vrac**, diverses astuces pour Linux. 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.
  
-<​note>​É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.</note>+<​note>​É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.</​note>​ 
 + 
 +  * **//​apropos//​ est votre ami**: 
 +    * Voir les outils concernant pdf présents sur votre système ? <code bash>​apropos pdf</​code>​ 
 + 
 +  * **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>​ 
 +    * //​progress//​ fonctionne avec cp,​mv,​dd,​tar,​gzip,​7z,​rsync... 
 + 
 +  * **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 une archive: ​<code bash>tar cvfz archive.tgz dossier/</​code>​ 
 +      * Mais si vous voulez un **tar survitaminé** qui va //​beaucoup//​ plus vite, utilisez pigz:<​code bash>tar cvf - dossier/ | pigz > archive.tgz</​code>​ 
 +      * ou:<code bash>tar cvf archive.tgz -I pigz dossier/</​code>​ 
 +      * //pigz// est comme //gzip//, mais qui fonctionne en multi-coeurs. 
 +      * Exemple pratique: 1,1 Go de données à compresser. Avec le tar/cvfz: 43,7 secondes. Avec le tar/pigz: 16,3 secondes (!). 
 +    * Décompresser:<​code bash>tar xvf archive.tgz</​code>​ 
 +    * Exclure des types de fichiers: <code bash>tar cvfz archive.tgz dossier/ --exclude=*.mp3</​code>​ 
 +    * Exclure des répertoires:​ <code bash>tar cvfz archive.tgz dossier/ --exclude=chemin/​relatif</​code>​ 
 + 
 +  * **gzip/​bzip2 //beaucoup plus rapides//** (multi-coeurs):​ 
 +    * ''​sudo apt install pigz pbzip2''​ 
 +    * pigz/pbzip2 ont une syntaxe compatible avec gzip/​bzip2. 
 +    * Dans ''​.bashrc''​ mettre:<​code bash>​alias gzip='​pigz'​ 
 +alias bzip2='​pbzip2'</​code>
  
   * **Taper un É majuscule ?** : Appuyez sur <​key>​CapsLock</​key>​ puis <​key>​é</​key>​. Ben oui c'est tout con. Même chose pour Ç, À, Ê, È, Ô... : pensez juste à activer <​key>​CapsLock</​key>​.   * **Taper un É majuscule ?** : Appuyez sur <​key>​CapsLock</​key>​ puis <​key>​é</​key>​. Ben oui c'est tout con. Même chose pour Ç, À, Ê, È, Ô... : pensez juste à activer <​key>​CapsLock</​key>​.
     * 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.
 +    * Essayez ! <​key>​C</​key>​+<​key>​⇧ Maj</​key>​+<​key>​u</​key>​+2705+<​key>​ESPACE</​key>​ : ✅
  
   * **Déplacer une fenêtre**: Faites <​key>​Alt</​key>​+clic gauche pour déplacer une fenêtre en cliquant n'​importe où à l'​intérieur.   * **Déplacer une fenêtre**: Faites <​key>​Alt</​key>​+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''​+  * **Voir les disques montés**: C'est beaucoup plus lisible comme ça: ''​mount | column -t''​ 
 +  * **Voir les disques/​partitions montables**:​ Plusieurs possibilités:​ ''​sudo fdisk -l''​ ou ''​sudo inxi -Po''​ ou graphiquement avec ''​sudo gparted''​. 
 + 
 +  * **Réduction de l'​utilisation du swap (1)** 
 +    * Faire:<​code bash>​sudo bash -c 'echo "​vm.swappiness=10"​ >> /​etc/​sysctl.conf'</​code>​ 
 +    * 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. 
 +  * **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''​). 
 +    * 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. 
 + 
 +  * **/tmp en tmpfs**: 
 +    * Afin d'​éviter les écritures inutiles sur disque, je vous recommande chaudement de mapper votre répertoire /tmp en tmpfs au lieu du disque //même si vous n'avez pas beaucoup de mémoire vive// (oui, même juste 1 Go). Si vous avez un disque dur c'est plus rapide et si vous avez un SSD, ça réduit son usure. Ajoutez à votre ''/​etc/​fstab'':<​code>​tmpfs /tmp tmpfs defaults,​relatime,​mode=1777,​nosuid,​size=4196M 0 0</​code>​ 
 +      * N'​hésitez pas à mettre une valeur importante pour //size//: tmpfs ne consomme pas de RAM tant qu'on ne met rien dedans.  
 +      * Si les applications ont vraiment besoin de plus de RAM, tmpfs leur laissera la place en swappant ses données. 
 + 
 +  * **Voir les ports ouverts** et quelles applications les ont ouverts: 
 +    * <code bash>​sudo netstat -pntul</​code>​ 
 +    * ou:<code bash>​sudo ss -pntul</​code>​
  
   * **Partage rapide de fichiers par HTTP** : Un serveur web en 10 secondes.   * **Partage rapide de fichiers par HTTP** : Un serveur web en 10 secondes.
Ligne 21: Ligne 66:
     * 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>​
 +
 +  * 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>​
 +    * ''​-e nomDuProgramme''​ ou ''​-P cheminCompletDuProgramme''​
 +    * ''​-l 25''​ pour 25% de CPU
 +    * ''​-b''​ pour mettre cpulimit en tâche de fond. Sans ça, il tourne en avant-plan et vous pouvez l'​arrêter avec <​key>​Ctrl-c</​key>​ (pratique pour limiter temporairement un programme)
  
   * **Lancer un script au démarrage du système**:   * **Lancer un script au démarrage du système**:
Ligne 26: Ligne 76:
  
   * **Tracer tous les accès d'une application à mes fichiers perso** (remplacez //​LEPROGRAMME//​ par votre programme):<​code bash>​strace -e trace=file LEPROGRAMME 2>&1 | grep "/​home"​ > trace.log</​code>​   * **Tracer tous les accès d'une application à mes fichiers perso** (remplacez //​LEPROGRAMME//​ par votre programme):<​code bash>​strace -e trace=file LEPROGRAMME 2>&1 | grep "/​home"​ > trace.log</​code>​
 +  * Plus puissant que strace ?  **sysdig** (''​sudo apt install sysdig sysdig-dkms''​ ; essayez: ''​sudo sysdig proc.name=cat''​ et de faire un cat dans une autre fenêtre).
 +
 +  * **Savoir quelle application verrouille un fichier ou un répertoire**:<​code bash>​sudo lsof | grep NOMFICHIER</​code>​
  
   * **Gestion des services par System-V, Upstart et systemd**:   * **Gestion des services par System-V, Upstart et systemd**:
Ligne 47: Ligne 100:
   * **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:   * **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 [[https://​firejail.wordpress.com/​|site officiel]]).     * J'​installe d'​abord firejail: ''​sudo apt install firejail''​ (ou voir [[https://​firejail.wordpress.com/​|site officiel]]).
-    * Je créé un répertoire pour cette application dans lequel je met le script shell lanceur (qui utilise firejail):<​code bash>#​!/​bin/​bash+    * Si je veux lancer un programme en lui interdisant d'​aller sur internet, je fais:<​code bash>​firejail --net=none monprogramme</​code>​ 
 +    * Si je veux lancer un programme en lui interdisant l'​accès à mon répertoire perso: ​Je créé un répertoire pour cette application dans lequel je met le script shell lanceur (qui utilise firejail):<​code bash>#​!/​bin/​bash
 SCRIPT=$(readlink -f "​$0"​) SCRIPT=$(readlink -f "​$0"​)
 DIR=$(dirname "​$SCRIPT"​) DIR=$(dirname "​$SCRIPT"​)
Ligne 54: Ligne 108:
 firejail --noprofile --private=. bash -c "/​usr/​bin/​skype"</​code>​ firejail --noprofile --private=. bash -c "/​usr/​bin/​skype"</​code>​
     * Le programme enregistrera ses fichiers de config dans ce répertoire,​ sans pouvoir accéder à mon vrai répertoire perso.     * 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 la MD5 de fichiers avec sous-répertoires**
Ligne 83: Ligne 128:
     * Copier dans ''​~/​.fonts''​     * Copier dans ''​~/​.fonts''​
     * Faire: ''​fc-cache -fv''​     * Faire: ''​fc-cache -fv''​
- 
-  * **gzip/​bzip2 //beaucoup plus rapides//** (multi-coeurs):​ 
-    * ''​sudo apt install pigz pbzip2''​ 
-    * Dans mon .bashrc, mettre:<​code bash>​alias gzip='​pigz'​ 
-alias bzip2='​pbzip2'</​code>​ 
- 
-  * **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):​ <code bash>​partclone.ext4 -c -d -s /dev/sda1 | gzip -c1 > sda1.SYSTEM.partclone.ext4.gz</​code>​ 
-    * Restaurer une image: <code bash>​zcat sda1.SYSTEM.partclone.ext4.gz | partclone.ext4 -d -r -o /​dev/​sda1</​code>​ 
-    * 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 son ?** Relancer pulseaudio: ''​pulseaudio -k''​
Ligne 277: Ligne 310:
   * **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).
     * Faites: ''​sudo apt-get install exfat-fuse exfat-utils''​     * Faites: ''​sudo apt-get install exfat-fuse exfat-utils''​
- 
-  * **Réduction de l'​utilisation du swap (1)** 
-    * Faire:<​code bash>​sudo bash -c 'echo "​vm.swappiness=10"​ >> /​etc/​sysctl.conf'</​code>​ 
-    * 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**:   * **Faire du ménage dans vos fichiers**:
Ligne 295: Ligne 322:
       * Installez //gdmap//: ''​sudo apt install gdmap''​ et lancez-le.       * 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. ([[http://​gdmap.sourceforge.net/​|screenshots]])       * 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. ([[http://​gdmap.sourceforge.net/​|screenshots]])
 +      * Dans le même genre: //​qdirstat//​.
       * Vous pouvez aussi utiliser (en terminal) l'​excellent ''​ncdu''​.       * Vous pouvez aussi utiliser (en terminal) l'​excellent ''​ncdu''​.
     * En recherchant les **répertoires volumineux**:​     * En recherchant les **répertoires volumineux**:​
Ligne 357: Ligne 385:
     * Kazam marche très bien, même pour capturer un jeu vidéo en plein écran. ''​sudo apt install kazam''​     * 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).     * 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).
 +
 +  * **Gestion des sessions utilisateur**:​
 +    * Voir qui est logué: ''​w''​
 +    * Désactiver temporairement un utilisateur:​ ''​sudo vipw''​ et mettre un ''#''​ devant son login.
 +    * Déloguer de force un utilisateur:​ ''​sudo pkill -u utilisateur mate-session''​ (mate-session ou le processus visible quand vous faites ''​w''​).
 +
 +  * **Monter un fichier *.img** (comme, par exemple, un fichier img de RecalBox)
 +    * Dans l'​explorateur de fichier de certaines distributions,​ pour pouvez faire un clic-droit sur un fichier .img pour le monter, mais il sera monté en lecture seule. Pour le monter en lecture/​écriture:​
 +    * Un fichier img peut contenir plusieurs partitions. Pour connaître les partitions faites: ''​fdisk -l fichier.img''​. Par exemple pour RecalBox:<​code>>​fdisk -l recalbox.img
 +Disque recalbox.img :​ 2,4 GiB, 2579489280 octets,​ 5038065 secteurs
 +Unités : secteur de 1 × 512 = 512 octets
 +Taille de secteur (logique / physique) :​ 512 octets / 512 octets
 +taille d'E/S (minimale / optimale) :​ 512 octets / 512 octets
 +Type d'​étiquette de disque : dos
 +Identifiant de disque : 0x00000000
 +
 +Périphérique ​ Amorçage ​ Début ​    Fin Secteurs Taille Id Type
 +recalbox.img1 ​           1263  132334 ​  ​131072 ​   64M  c W95 FAT32 (LBA)
 +recalbox.img2 ​         132335 5038064 ​ 4905730 ​  2,3G 83 Linux</​code>​
 +    * On voit qu'il y a 2 partition. La partition Linux commence à 132335. Le blocksize est de 512. La partition commence donc à 132335*512=67755520. On peut la monter en indiquant l'​offset:<​code>​mkdir temp
 +sudo mount -o loop,​offset=67755520 recalbox.img temp/</​code>​
 +
 +  * Si vous avez un disque *.img (par exemple une image destinée à cette saloperie d'​[[https://​etcher.io/​|Etcher]]) et que vous voulez l'​utiliser directement dans VirtualBox, vous pouvez (après l'​avoir décompressée avec ''​unxz %%--%%keep image.img.xz''​) le convertir en *.vdi:<​code>​VBoxManage convertdd image.img image.vdi</​code>​
 +
 +  * **Monter un disque .vdi dans votre système** : Il est possible de monter dans votre système un disque VirtualBox (*.vdi):
 +    * Installer les outils: ''​sudo apt install qemu-kvm qemu-utils''​
 +    * Activer le module: ''​sudo modprobe nbd''​
 +    * Monter le device: ''​sudo qemu-nbd -c /dev/nbd0 disk.vdi''​
 +    * Vous pouvez voir les partitions du disque (/​dev/​nbd0p1,​ /​dev/​nbd0p2...):​ <​code>>​sudo fdisk -l /dev/nbd0
 +[...]
 +Périphérique Amorçage ​ Début ​    Fin Secteurs Taille Id Type
 +/​dev/​nbd0p1 ​            ​1263 ​ 132334 ​  ​131072 ​   64M  c W95 FAT32 (LBA)
 +/​dev/​nbd0p2 ​          ​132335 4326782 ​ 4194448 ​    2G 83 Linux</​code>​
 +    * Vous pouvez monter une partition: <​code>​mkdir part
 +sudo mount /dev/nbd0p2 part/</​code>​
 +    * Quand vous avez terminé:<​code>​sudo umount /dev/nbd0p2
 +qemu-nbd -d /​dev/​nbd0</​code>​
 +
 +
 +  * **Faire des images de partitions ou de disque** (pour garder une copie d'une partition ou d'un disque complet: disque dur, clé USB, carte MicroSD...)
 +    * Si votre disque est /dev/sda, les partitions seront /dev/sda1, /dev/sda2, etc. Pour voir les partitions: ''​sudo fdisk -l''​ ou ''​inxi -Po''​
 +    * **Avec dd**: Vous pouvez sauvegarder partitions ou disques complets.
 +      * ''​dd''​ copie "​bêtement"​ tous les octets (y compris les secteurs où il n'y a pas de fichiers). ''​pigz''​ compresse comme ''​gzip''​ mais plus rapidement. ''​pv''​ permet de voir la progression.
 +      * Sauvegarder une partition ou un disque (en compressant):​ <code bash>​sudo dd if=/​dev/​sda2 | pv | pigz > image.dd.gz</​code>​
 +      * (mettre /dev/sda pour sauvegarder TOUTES les partitions, y compris le MBR).
 +      * Restaurer: <code bash>​zcat image.dd.gz | pv | sudo dd of=/​dev/​sda2</​code>​
 +    * **Avec partclone**:​ Vous pouvez sauvegarder des partitions.
 +      * ''​partclone''​ est un peu plus intelligent que ''​dd'':​ Il "​comprend"​ le système de fichier et n'ira pas sauvegarder les secteurs vides. Il sera donc a priori plus rapide que dd, et générera des images plus compactes.
 +      * ''​sudo apt install partclone''​ pour installer.
 +      * Vous devez utiliser le partclone correspondant au système de fichier de la partition que vous voulez sauvegarder (ext4 --> partclone.ext4).
 +        * Voir ''​man partclone''​ ou ''​apropos partclone''​.
 +        * Pour FAT (fat12/​fat16/​fat32),​ ne vous embêtez pas: Prenez ''​partclone.vfat''​. Par contre pour exfat, il faut prendre partclone.exfat.
 +      * Sauvegarder une partition ext4 (en compressant):​ <code bash>​sudo partclone.ext4 -c -d -s /dev/sda2 | pigz > image.partclone.gz</​code>​
 +      * Restaurer: <code bash>​zcat image.partclone.gz | sudo partclone.restore -d -o /​dev/​sda2</​code>​
 +      * Voir les informations d'une image partclone:<​code bash>​zcat image.partclone.gz | sudo partclone.info -s -</​code>​
 +      * Vérifier une image partclone:<​code bash>​zcat image.partclone.gz | sudo partclone.chkimg -s -</​code>​
 +      * Conseil: Nommez le fichier pour vous y retrouver. Moi j'​utilise //​NomDevice.Utilisation.partclone.TypeDeSystèmeDeFichier.gz//​. Exemple: //​sda2.HOME.partclone.ext4.gz//​. Je sais ainsi que c'est l'​image partclone de ma partition sda2 en ext4, utilisée pour ///home//.
 +    * N'​utilisez plus ''​partimage''​. Il n'est pas compatible ext4.
 +    * Si vous avez sauvegardé les partitions individuellement,​ vous voudrez peut-être aussi sauvegarder le MBR (qui contient le logiciel amorce et la table de partitions):​
 +      * Sauvegarder:<​code bash>​sudo dd if=/dev/sda of=mbr.bin bs=512 count=1</​code>​
 +      * Restaurer:<​code bash>​sudo dd if=mbr.bin of=/​dev/​sda</​code>​
 +    * **Astuce**: Pour sauvegarder sur un disque FAT32 (dont la taille limite de fichier est 4 Go), on peut découper par fichiers de 4 Go:
 +      * 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>​
 +
 +  * 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]].
 +
 +  * Besoin d'​exécuter un script shell qui se trouve sur un disque FAT/NTFS, mais impossible de faire un ''​chmod +x''​ justement parce que vous êtes sur FAT/NTFS ?  Lancez-le simplement en faisant: ''​bash ./​script.sh''​
 +
 +  * **Faire un backup de votre smartphone Android par ssh+rsync**:​
 +    * À partir du moment où votre smartphone et votre ordinateur sont sur le même réseau local, //rsync// est très efficace pour synchroniser des répertoires. Heureusement pour nous, il existe sous Android des serveurs ssh incluant un serveur rsync, comme [[https://​play.google.com/​store/​apps/​details?​id=com.arachnoid.sshelper|SSHelper]].
 +    * Voici un exemple de script de sauvegarde (avec dans l'​exemple:​ Login automatique par mot de passe, utilisation d'un port ssh non standard et liste de types de fichiers et répertoires à exclure):<​file bash backup-smartphone.sh>#​!/​bin/​bash
 +# Backup de la mémoire interne du téléphone:​
 +sshpass -p '​motdepasse'​ rsync -av --no-p -zz --progress --delete login@192.168.0.3:/​sdcard/​ -e "ssh -p 2222" ~/​backup-smartphone/​internal/​
 +# Backup de la carte MicroSD
 +sshpass -p '​motdepasse'​ rsync -av --no-p -zz --progress --delete login@192.168.0.3:/​storage/​0000-0000/​ -e "ssh -p 2222" --exclude={'​.android_secure','​*.obf','​*.mwm',​Music,​Android/​data/​com.earthflare.android.radioparadisewidget.gpv2/​cache/​} ~/​backup-smartphone/​sdcard/​
 +</​file>​
 +
 +  * Il est assez facile de [[linux-partage-ethernet|partager une connexion Ethernet en WiFi]] ou se créé un hotspot WiFi (par exemple juste entre votre smartphone et votre ordinateur).
 +
 +  * Vous êtes chez FreeMobile ? Voici comment [[linux-sms|envoyer automatiquement (et gratuitement) des SMS lors de certains événements dans les logs]].
 +
 +  * **Backup ?** [[borgbackup|BorgBackup]] est un logiciel de backup remarquablement efficace. Je l'​utilise dans [[disque_externe|ma procédure de backup personnelle]].
 +
 +  * Je n'ai pas encore pris le temps de mettre le nez dedans, mais //​[[https://​www.synbioz.com/​blog/​astuces_zsh_installer_et_comprendre_oh_my_zsh|zsh]]//​ a vraiment l'air d'​être une tuerie ! (pour remplacer //bash//).
 +    * Autre alternative à explorer: //​[[https://​fishshell.com/​|Fish]]//​
 +
 +  * **flock** permet de vous assurer qu'un programme n'est pas lancé plusieurs fois en même temps, ou que deux tâches ne sont pas lancées simultanément.
 +    * Exemple: Si vous lancez séparément ces deux commandes (par exemple dans des terminaux différents),​ flock s'​assurera qu'​elles ne sont pas exécutées simultanément:<​code bash>​flock /​tmp/​abcd555 -c "sleep 30"
 +flock /​tmp/​abcd555 -c "echo coucou"</​code>​
  
   * D'​autres astuces ? Voir [[mint_customization|cette page]].   * D'​autres astuces ? Voir [[mint_customization|cette page]].
 +
  
  
linux-vrac.1538574581.txt.gz · Dernière modification: 2018/10/03 13:49 par sebsauvage