Exile on Keyboard St. - Blog sur Linux et Debian

Aller au contenu | Aller au menu | Aller à la recherche

lundi 17 avril 2017

Un installeur d'archives pour Linux: liar

Quand on développe sous Linux, on est souvent amené à installer des logiciels sans être connecté en tant que root.

Ces logiciels livrés sous forme d'archive .zip ou .tar.gz la plupart du temps sont installés dans l'arborescence de l'utilisateur courant $HOME.

Cette façon d'installer un logiciel manuellement comprend les étapes suivantes:

  • Le téléchargement de l'archive
  • La création du répertoire d'installation
  • Le changement de répertoire
  • La décompression de l'archive

Toutes ces opérations manuelles, outre le fait qu'elles sont rébarbatives et conduisent trop souvent à des erreurs notamment sur les flags à utiliser pour décompresser l'archive.

De plus, il nous faut ensuite créer des liens symboliques vers les exécutables du logiciel, par exemple dans $HOME/bin, pour en faciliter son utilisation.

Le projet Linux Installer for ARchives ou liar comble ce vide en fournissant une ligne de commande permettant de réaliser toutes ces opérations en une seule fois.

liar permet donc d'installer, de lister et de supprimer tout logiciel livré sous forme d'archive dans le répertoire de votre choix, avec optionnellement la création des liens symboliques.

L'installation de liar est très simple puisqu'il suffit de copier un seul script Shell dans votre arbrorescence. La complétion bash peut également être utilisée à condition d'ajouter le fichier de complétion dans /etc/bash_completion.d/.

La documentation de Linux Installer for ARchives se trouve sur Framagit comme le reste du projet.

Cette documentation liste l'ensemble des fonctionnalités de liar et illustre de nombreux exemples d'utilisation. Elle n'est pour l'instant disponible qu'en Anglais.

liar est un logiciel libre, distribué selon les termes de la Licence Publique Générale GNU publiée par la Free Software Foundation, version 3 de la Licence (ou toute version ultérieure).

Pour en savoir plus sur le projet, vous pouvez consulter la vidéo d'introduction à liar:

dimanche 26 mars 2017

Capture d'écran et raccourcis claviers avec Mate

Quand on souhaite illustrer un billet sur un blog, inclure une image d'une boite de dialogue dans une documentation ou échanger quelque chose avec un collègue, on se tourne naturellement vers une capture d'écran.

Avec l'environnement graphique Mate, deux raccourcis clavier sont définis pour cela:

  • Impr: qui capture tout l'écran, bureau et barre des tâches compris
  • Alt+Impr: qui capture uniquement la fenêtre active

La capture d'écran sous Mate est faites avec mate-screenshot.

Si on appele directement cet utilitaire, on peut être plus précis dans la capture, par exemple pour capturer une zone de l'écran que l'on sélectionnera à la souris avec le flag -a ou --area.

Il est aussi possible de sélectionner quel type de capture (écran, fenêtre ou sélection) ou souhaite avec le flag --interactive:

Capture-Capture_d_ecran.png

On pourra donc ajouter de nouveaux raccourcis clavier si on le souhaite, avec par exemple la touche Windows (Mod5) ou Contrôle (Ctrl) combinée à Impr.

Par contre, la combinaison Alt-Gr+Impr ne fonctionne pas: si vous essayer, vous verrez que c'est le raccourci: Alt-Gr qui est pris en compte à la place ...

samedi 4 mars 2017

Trouver facilement votre adresse ip sans parser la sortie de la commande ifconfig

Combien de fois avez-vous eu besoin de connaître l'adresse IP de telle ou telle interface réseau sur une machine physique ou virtuelle ?

Quand on pose cette question la réponse ne se fait pas attendre:

Baahhh, tu n'as qu'à parser la sortie d'ifconfig !

En effet, la sortie de la commande ifconfig ressemblant à ceci:

debian@debian-jessie:~$ /sbin/ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 08:00:27:ae:00:9f  
          inet adr:10.0.2.15  Bcast:10.0.2.255  Masque:255.255.255.0
          adr inet6: fe80::a00:27ff:feae:9f/64 Scope:Lien
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:155 errors:0 dropped:0 overruns:0 frame:0
          TX packets:136 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000 
          RX bytes:43715 (42.6 KiB)  TX bytes:22029 (21.5 KiB)

Il est possible de parser cette sortie par exemple de la façon suivante:

    /sbin/ifconfig eth0 2> /dev/null | grep 'inet adr:' | cut -d : -f2 | awk '{ print $1}'

Déjà, c'est un peu lourdingue. Ensuite, on ne teste aucune erreur possible, par exemple si la sortie affiche "inet addr" avec deux "d" au lieu d'un, ce qui est le cas sur certaines distributions Linux, on voit ben qu'il faudra modifier la commande grep.

En fait, vous n'êtes pas obligés de parser la sortie d'ifconfig, et on peut obtenir cette adresse ip beaucoup plus simplement avec la commande ifdata.

Pour l'installer:

sudo apt-get install moreutils

Et pour afficher l'adresse:

debian@debian-jessie:/home/debian# ifdata -pa eth0
10.0.2.15

Comme vous le voyez la commande ifdata est très simple à utiliser et elle nous permet également de connaitre toutes les caractéristiques de ce réseau comme l'adresse de broadcast, le masque de sous-réseau, ...

Par exemple pour l'adresse de broadcast:

debian@debian-jessie:/home/debian# ifdata -pb eth0
10.0.2.255

Et pour voir l'ensemble des flags possibles de la commande:

debian@debian-jessie:/home/debian# ifdata 
Usage: ifdata [options] iface
     -e   Reports interface existence via return code
     -p   Print out the whole config of iface
    -pe   Print out yes or no according to existence
    -pa   Print out the address
    -pn   Print netmask
    -pN   Print network address
    -pb   Print broadcast
    -pm   Print mtu
    -ph   Print out the hardware address
    -pf   Print flags
    -si   Print all statistics on input
   -sip   Print # of in packets
   -sib   Print # of in bytes
   -sie   Print # of in errors
   -sid   Print # of in drops
   -sif   Print # of in fifo overruns
   -sic   Print # of in compress
   -sim   Print # of in multicast
    -so   Print all statistics on output
   -sop   Print # of out packets
   -sob   Print # of out bytes
   -soe   Print # of out errors
   -sod   Print # of out drops
   -sof   Print # of out fifo overruns
   -sox   Print # of out collisions
   -soc   Print # of out carrier loss
   -som   Print # of out multicast
  -bips   Print # of incoming bytes per second
  -bops   Print # of outgoing bytes per second

samedi 25 février 2017

Avec le tableur de LibreOffice, faites attention à vos données !!!

Dans la configuration par défaut de LibreOffice, le tableur définit les options de sauvegarde automatique comme suit:

Options_-_Load-Save_-_General.png

C'est à dire que les informations de récupération du document, qui seront utilisées en cas de plantage, sont sauvegardées toutes les 15 minutes et cela ne donne pas lieu à la sauvegarde du document en même temps.

J'en ai fait l'amère expérience il y a deux jours, cette configuration n'est pas fiable.

En effet, en dix minutes vous avez le temps de commencer à entrer pas mal de choses dans une feuille de calcul nouvellement créée, et quand LibreOffice se ferme brutalement, ça fait tout drôle ... Vous l'avez compris, j'ai perdu tout ce que je venais de saisir.

Aussi, il me parait impératif de réduire ce délai de 15 minutes à 5 minutes et également de cocher la case "Enregistrer automatiquement le document" afin d'éviter les mauvaises surprises.

En revanche, je ne coche pas la case "Toujours créer une copie de sauvegarde".

- page 2 de 21 -