<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xml:lang="fr">

  <title type="html">Humus numericus - Mot-clé - linux</title>
  <subtitle type="html"></subtitle>
  <link href="https://blog.nozav.org/feed/tag/linux/atom" rel="self" type="application/atom+xml"/>
  <link href="https://blog.nozav.org/" rel="alternate" type="text/html"
  title=""/>
  <updated>2019-05-09T20:00:29+02:00</updated>
  <author>
    <name></name>
  </author>
  <id>urn:md5:c2531a830c9d2a52c5500061b4d5077e</id>
  <generator uri="http://www.dotclear.org/">Dotclear</generator>

  
  <entry>
    <title>Comment protéger une adresse mail destinée à un enfant ?</title>
    <link href="https://blog.nozav.org/post/2010/03/08/Comment-prot%C3%A9ger-une-adresse-mail-destin%C3%A9e-%C3%A0-un-enfant" rel="alternate" type="text/html"
    title="Comment protéger une adresse mail destinée à un enfant ?" />
    <id>urn:md5:58501b772327eb36e261af23dd67a873</id>
    <published>2010-03-08T17:05:00+01:00</published>
          <updated>2010-03-08T18:09:20+01:00</updated>
            <author><name>Juba</name></author>
        <dc:subject>Linux, Debian, etc.</dc:subject>
        <dc:subject>enfants</dc:subject><dc:subject>linux</dc:subject><dc:subject>mailman</dc:subject><dc:subject>postfix</dc:subject>
    <content type="html">    &lt;p&gt;L&amp;#8217;autre jour ma fille de six ans et demi a eu envie que je lui installe un client mail sur son interface sur notre ordi familial. J&amp;#8217;ai trouvé que c&amp;#8217;était une bonne idée, mais je ne voulais évidemment pas utiliser une adresse ouverte à tous les vents, avec risque notamment de recevoir des spams inappropriés. La cahier des charges était donc le suivant&amp;#160;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;que les deux parents reçoivent systématiquement une copie des messages reçus sur la boîte&amp;#160;;&lt;/li&gt;
&lt;li&gt;que les messages reçus sur la boîte mail ne soient diffusés qu&amp;#8217;après validation manuelle de la part d&amp;#8217;un des deux parents&amp;#160;;&lt;/li&gt;
&lt;li&gt;ajouter la possibilité de &lt;em&gt;&amp;#8220;whitelister&amp;#8221;&lt;/em&gt; certaines adresses d&amp;#8217;expédition pour ne pas avoir à valider systématiquement les messages qui en proviennent&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Oui, bon, je sais, ça fait un peu &lt;em&gt;big brother&lt;/em&gt;, mais vu le type de spam qu&amp;#8217;on reçoit parfois, y compris sur des adresses a priori totalement privées, je préfère bétonner un maximum pour l&amp;#8217;instant.&lt;/p&gt;


&lt;p&gt;Je me suis demandé comment faire ça avec Postfix, Procmail ou je ne sais quel assemblage d&amp;#8217;applications que j&amp;#8217;utilise pour le mail, et puis j&amp;#8217;ai finalement trouvé une solution que je trouve pas trop compliquée, et qui passe par la création d&amp;#8217;une liste de diffusion, ici avec Mailman.&lt;/p&gt;


&lt;p&gt;Donc voici la marche à suivre&amp;#160;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Créer une liste de diffusion nommée &lt;code&gt;prenom@domaine.org&lt;/code&gt; (l&amp;#8217;adresse mail publique attribuée à l&amp;#8217;enfant)&lt;/li&gt;
&lt;li&gt;Mettre les mails des parents comme administrateurs de la liste&lt;/li&gt;
&lt;li&gt;La configurer pour que tous les envois soient modérés par défaut, avec validation manuelle des administrateurs de la liste&lt;/li&gt;
&lt;li&gt;Créer une adresse mail &amp;#8220;de transit&amp;#8221; du type &lt;code&gt;mail.prenom@domaine.org&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Abonner à la liste &lt;code&gt;prenom@domaine.org&lt;/code&gt; les deux parents, ainsi que &lt;code&gt;mail.prenom@domaine.org&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Configurer le client mail sur l&amp;#8217;ordi familial pour aller lire les mails sur la boîte &lt;code&gt;mail.prenom@domaine.org&lt;/code&gt;, tout en envoyant les mails avec l&amp;#8217;adresse &lt;code&gt;prenom@domaine.org&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Et voilou&amp;#160;! À partir de là, chaque message envoyé à &lt;code&gt;prenom@domaine.org&lt;/code&gt; passe par une phase de modération, et les deux parents reçoivent un mail avec un lien leur permettant de rejeter ou valider le message, et en plus la possibilité de placer l&amp;#8217;expéditeur sur liste blanche (ou liste noire) pour éviter les validations ultérieures. Une fois le message validé, il est ensuite transféré de manière transparente sur la boite &lt;code&gt;mail.prenom@domaine.org&lt;/code&gt; (donc à l&amp;#8217;enfant) et sur les boîtes des parents.&lt;/p&gt;


&lt;p&gt;Voilà, je ne sais pas si c&amp;#8217;est très clair, mais ça a le mérite de fonctionner en tous cas &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:-)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</content>

    


      </entry>
  
  <entry>
    <title>Comment révoquer une clé PGP</title>
    <link href="https://blog.nozav.org/post/2010/03/08/Comment-r%C3%A9voquer-une-cl%C3%A9-PGP" rel="alternate" type="text/html"
    title="Comment révoquer une clé PGP" />
    <id>urn:md5:b2587faa48df24428ea40bba64d262bd</id>
    <published>2010-03-08T15:38:00+01:00</published>
          <updated>2010-03-08T16:38:30+01:00</updated>
            <author><name>Juba</name></author>
        <dc:subject>Linux, Debian, etc.</dc:subject>
        <dc:subject>gnupg</dc:subject><dc:subject>linux</dc:subject><dc:subject>pgp</dc:subject><dc:subject>sysadmin</dc:subject><dc:subject>vie privée</dc:subject>
    <content type="html">    &lt;p&gt;Je viens de révoquer une clé PGP avec GnuPG pour une ancienne adresse mail. Voici la marche à suivre.&lt;/p&gt;


&lt;p&gt;D&amp;#8217;abord il faut noter l&amp;#8217;identifiant de la clé publique que l&amp;#8217;on souhaite révoquer. Pour cela on fait un&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
$ gpg --list-keys
&lt;/pre&gt;


&lt;p&gt;Et on note l&amp;#8217;identifiant (8 caractères hexadécimaux du type A1B2C3D4). Ensuite on génère un certificat de révocation qu&amp;#8217;on stocke dans un fichier&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
$ gpg --gen-revoke A1B2C3D4 &amp;gt; revoke.txt
&lt;/pre&gt;


&lt;p&gt;Puis on importe ce certificat de révocation&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
$ gpg --import revoke.txt
&lt;/pre&gt;


&lt;p&gt;On exporte la clé publique désormais révoquée&amp;#160;:&lt;/p&gt;
&lt;pre&gt;
$ gpg --export -a A1B2C3D4
&lt;/pre&gt;


&lt;p&gt;On peut alors uploader la sortie de cette dernière commande sur un serveur de clé type &lt;a href=&quot;http://pgp.mit.edu&quot; hreflang=&quot;en&quot;&gt;pgp.mit.edu&lt;/a&gt; et d&amp;#8217;ici peu, le monde entier sera informé que votre clé ne doit plus être utilisée.&lt;/p&gt;</content>

    


      </entry>
  
  <entry>
    <title>Astuces Linux du jour</title>
    <link href="https://blog.nozav.org/post/2008/12/02/Astuces-Linux-du-jour" rel="alternate" type="text/html"
    title="Astuces Linux du jour" />
    <id>urn:md5:3293041399fbb3ac00a0d3b4cd39935b</id>
    <published>2008-12-02T00:19:00+01:00</published>
          <updated>2008-12-19T23:20:32+01:00</updated>
            <author><name>Juba</name></author>
        <dc:subject>Linux, Debian, etc.</dc:subject>
        <dc:subject>debian</dc:subject><dc:subject>ipv6</dc:subject><dc:subject>linux</dc:subject><dc:subject>ssh</dc:subject><dc:subject>sysadmin</dc:subject>
    <content type="html">    &lt;h3&gt;Ajouter un utilisateur à un groupe rapido&lt;/h3&gt;


&lt;p&gt;Jusqu'ici, quand je voulais m'ajouter à un groupe, je faisais un bête :&lt;br /&gt;&lt;/p&gt;

&lt;pre&gt;
# adduser julien group
&lt;/pre&gt;


&lt;p&gt;Problème&amp;nbsp;: dans ces cas-là on est obligé de fermer sa session pour que le changement soit pris en compte. Et bien je viens de découvrir la commande &lt;code&gt;newgrp&lt;/code&gt; qui permet de faire ça directement :&lt;br /&gt;&lt;/p&gt;

&lt;pre&gt;
$ sudo adduser username group
$ newgrp group
&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Source&amp;nbsp;: &lt;a href=&quot;http://linuxfr.org/comments/911699.html#911699&quot; title=&quot;http://linuxfr.org/comments/911699.html#911699&quot;&gt;http://linuxfr.org/comments/911699....&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Accélérer les connexions SSH&lt;/h3&gt;


&lt;p&gt;Si vous avez tendance à vous connecter souvent aux mêmes serveurs, les versions récentes d'openSSH permettent d'accélérer les temps de connexion via du multiplexage de connexion. Pour cela il faut rajouter les lignes suivantes dans &lt;code&gt;~/.ssh/config&lt;/code&gt; (fichiers à mettre en 600)&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
Host *
ControlPath ~/.ssh/mux_socket-%r@%h:%p
&lt;/pre&gt;


&lt;p&gt;Puis de lancer un ssh de la manière suivante (par exemple dans votre &lt;code&gt;.xsession&lt;/code&gt;&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
ssh -fMN nomduserveur
&lt;/pre&gt;


&lt;p&gt;A partir de là les temps d'établissement de connexion vers ce serveur seront beaucoup plus rapides...&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Source&amp;nbsp;: &lt;a href=&quot;http://linuxfr.org/comments/911768.html#911768&quot; title=&quot;http://linuxfr.org/comments/911768.html#911768&quot;&gt;http://linuxfr.org/comments/911768....&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Faire de l'ipv6 facilement&lt;/h3&gt;


&lt;p&gt;J'avais déjà essayé deux ou trois manières de me connecter en ipv6 depuis la maison, mais c'est en général un peu lorudingue&amp;nbsp;: faut s'inscrire chez un &lt;em&gt;tunnel broker&lt;/em&gt;, mettre en place des scripts, avoir une IP fixe... Mais je viens de tomber sur un article de &lt;em&gt;Debian administration&lt;/em&gt; qui présente le paquet &lt;code&gt;miredo&lt;/code&gt; qui permet de faire tout ça de manière hyper-simple. Une commande suffit&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
# apt-get install install miredo
&lt;/pre&gt;


&lt;p&gt;Et vous aurez la joie de voir la &lt;a href=&quot;http://www.kame.net/&quot; hreflang=&quot;en&quot;&gt;tortue danser&lt;/a&gt;&amp;nbsp;!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Source&amp;nbsp;: &lt;a href=&quot;http://www.debian-administration.org/articles/621&quot; title=&quot;http://www.debian-administration.org/articles/621&quot;&gt;http://www.debian-administration.or...&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content>

    


      </entry>
  
  <entry>
    <title>Problème avec VirtualBox</title>
    <link href="https://blog.nozav.org/post/2008/05/14/Probleme-avec-VirtualBox" rel="alternate" type="text/html"
    title="Problème avec VirtualBox" />
    <id>urn:md5:29c4c2d3201c86362e61faa53bbaa14f</id>
    <published>2008-05-14T17:54:00+02:00</published>
          <updated>2008-05-14T17:55:11+02:00</updated>
            <author><name>Juba</name></author>
        <dc:subject>Linux, Debian, etc.</dc:subject>
        <dc:subject>linux</dc:subject><dc:subject>sysadmin</dc:subject><dc:subject>VirtualBox</dc:subject>
    <content type="html">    &lt;p&gt;VirtualBox est une application de virtualisation qui peut servir, entre mille autres choses, à faire tourner un windows à l'intérieur d'un linux.&lt;/p&gt;


&lt;p&gt;Après la mise à jour de ma Debian &lt;em&gt;unstable&lt;/em&gt; effectuée ce matin, plus moyen de démarrer l'appli. J'avais un pop-up d'erreur me signalant une impossibilité de démarrer les services COM, et en cas de lancement de la commande &lt;code&gt;VirtualBox&lt;/code&gt; en ligne de commande, j'obtenais le joli message suivant&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
/usr/lib/virtualbox//VBoxSVC: symbol lookup error: /usr/lib/virtualbox/VBoxXML.so: undefined symbol: _ZN11xalanc_1_1016XalanTransformer10initializeERN11xercesc_2_713MemoryManagerE
&lt;/pre&gt;


&lt;p&gt;La solution&amp;nbsp;? Récupérer la dernière version (la 1.6) depuis le &lt;a href=&quot;http://www.virtualbox.org/wiki/Downloads&quot;&gt;site de Virtual Box&lt;/a&gt;. Apparemment leurs dépôts Debian sont un peu en retard, d'ailleurs le lien de téléchargement renvoit sur le site de Sun, je ne savais pas qu'ils avaient été rachetés...&lt;/p&gt;


&lt;p&gt;En tous cas l'installation du &lt;code&gt;.deb&lt;/code&gt; pour Debian 4.0 a résolu le problème en ce qui me concerne.&lt;/p&gt;</content>

    


      </entry>
  
  <entry>
    <title>Générer un certificat SSL auto-signé pour Apache</title>
    <link href="https://blog.nozav.org/post/2008/05/14/Generer-un-certificat-SSL-auto-signe-pour-Apache" rel="alternate" type="text/html"
    title="Générer un certificat SSL auto-signé pour Apache" />
    <id>urn:md5:6a864aebd5e5847037c19029848727db</id>
    <published>2008-05-14T11:27:00+02:00</published>
          <updated>2008-05-14T12:53:30+02:00</updated>
            <author><name>Juba</name></author>
        <dc:subject>Linux, Debian, etc.</dc:subject>
        <dc:subject>apache</dc:subject><dc:subject>linux</dc:subject><dc:subject>ssl</dc:subject><dc:subject>sysadmin</dc:subject>
    <content type="html">    &lt;p&gt;D'abord on génère une clé non chiffrée sur disque (pour éviter d'avoir à saisir un mot de passe à chaque redémarrage d'Apache)&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
# openssl genrsa -out mykey.key 1024
&lt;/pre&gt;


&lt;p&gt;Ensuite on crée un certificat signé avec cette clé&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
# openssl req -new -x509 -days 365 -key mykey.key -out mycert.crt
&lt;/pre&gt;


&lt;p&gt;Répondre à l'ensemble des questions posées. Le nom de la machine doit être donné en réponse à &lt;em&gt;Common Name&lt;/em&gt;. On peut utiliser un &lt;em&gt;wildcard&lt;/em&gt; (joker) du type &lt;code&gt;*.example.com&lt;/code&gt; pour que le certificat s'applique à un ensemble de sous-domaines.&lt;/p&gt;


&lt;p&gt;Ensuite, dans Apache, modifier le fichier de définition du &lt;em&gt;VirtualHost&lt;/em&gt; qui va bien&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
NameVirtualHost *:443
&amp;lt;VirtualHost *:443&amp;gt;

        SSLEngine on
        SSLCertificateFile    /etc/ssl/mycert.crt
        SSLCertificateKeyFile /etc/ssl/mykey.key
        SSLVerifyClient none

        [etc., etc.]

&amp;lt;/VirtualHost&amp;gt;
&lt;/pre&gt;</content>

    


      </entry>
  
  <entry>
    <title>Ras le bol des grosses configs</title>
    <link href="https://blog.nozav.org/post/2007/12/12/Ras-le-bol-des-grosses-configs" rel="alternate" type="text/html"
    title="Ras le bol des grosses configs" />
    <id>urn:md5:0d5f199025841f337d13d52aa6214310</id>
    <published>2007-12-12T00:35:00+01:00</published>
          <updated>2007-12-12T01:37:08+01:00</updated>
            <author><name>Juba</name></author>
        <dc:subject>Linux, Debian, etc.</dc:subject>
        <dc:subject>linux</dc:subject><dc:subject>perso</dc:subject><dc:subject>énervé</dc:subject>
    <content type="html">    &lt;p&gt;Je suis tombé sur un &lt;a href=&quot;http://www.kdedevelopers.org/node/3137&quot; hreflang=&quot;en&quot;&gt;article&lt;/a&gt; via digg qui s'extasie du fait que KDE4 tourne correctement dans une machine virtuelle simulant un PC avec un proc à 1GHz et 256Mo de RAM. Et dans les &lt;a href=&quot;http://digg.com/linux_unix/KDE_4_works_well_with_256_MiB_of_memory_and_1_GHz_CPU&quot; hreflang=&quot;en&quot;&gt;commentaires&lt;/a&gt; sur digg on a droit à de jolis &lt;q&gt;c'est chouette de penser aux vieilles machines&lt;/q&gt;, &lt;q&gt;c'est bien pour les pays du Tiers-Monde&lt;/q&gt; ou encore &lt;q&gt;on a du mal à croire qu'avant on travaillait sur des machines comme ça&lt;/q&gt;... Bon, d'accord, c'est sur Digg, mais ça a quand même le don de m'énerver...&lt;/p&gt;


&lt;p&gt;A la maison nous avons deux machines. La première est un PC de bureau acheté d'occaze il y'a cinq ans&amp;nbsp;: un magnifique Pentium 3 600 MHz avec 256Mo de RAM et une carte graphique Geforce4 64Mo. La deuxième est un portable également acheté d'occaze il y a deux ans, un rutilant Pentium 3 700MHz avec lui aussi 256 Mo de RAM.&lt;/p&gt;


&lt;p&gt;Sur la machine de bureau, l'interface est un Xfce avec Compiz fusion. Et ça tourne nickel chrome, même le cube, le zoom interactif, les effets d'animation, etc.. Un Gnome ou un KDE tourneraient très bien aussi, mais en bouffant inutilement de la mémoire alors qu'il y en a quand même pas bézef. Niveau logiciel, même Firefox fonctionne bien, alors que c'est pas du léger. Gimp, Digikam, Videolan, ne posent aucun problème, et même OpenOffice se lance alors qu'il faut quand même bien admettre que c'est une bouse. Google Earth, Second Life et certains jeux en 3D tournent aussi, même si les performances ne sont pas hallucinantes.&lt;/p&gt;


&lt;p&gt;Sur le portable, j'ai un bon vieux &lt;a href=&quot;http://www.suckless.org/wiki/dwm&quot; hreflang=&quot;en&quot;&gt;dwm&lt;/a&gt; avec un non moins bon vieil emacs, donc ça tourne évidemment très bien. Le portable en question n'avait que 128Mo de RAM il y a encore quelques semaines&amp;nbsp;: là, Firefox commence à faire souffrir l'utilisateur, mais par contre Epiphany fonctionne très bien. Certes, ça swappait assez rapidement, mais une petite barette de 128Mo supplémentaire achetée d'occasion a résolu le problème sans difficulté. Et je n'ai évidemment aucun souci pour produire des documents avec TeX, développer une appli web en faisant tourner un Apache et un MySql, ou même pour faire des stats avec R si les données sont pas trop volumineuses.&lt;/p&gt;


&lt;p&gt;Voilà, tout ça pour dire que pour un usage courant, on n'a certainement pas besoin d'un PC dernier cri dont les trois quart des ressources sont bouffées par des services inutiles. On peut travailler avec un bureau en 3D, des fenêtres ramollo et les dernières versions des derniers logiciels avec un Pentium 3 et 256Mo de RAM.&lt;/p&gt;


&lt;p&gt;Et encore heureux, d'ailleurs...&lt;/p&gt;</content>

    


      </entry>
  
  <entry>
    <title>Script shell de transfert de photos</title>
    <link href="https://blog.nozav.org/post/2007/12/06/Script-shell-de-transfert-de-photos" rel="alternate" type="text/html"
    title="Script shell de transfert de photos" />
    <id>urn:md5:588f854d8189584b022328c1522933ec</id>
    <published>2007-12-06T00:14:00+01:00</published>
          <updated>2007-12-06T01:25:37+01:00</updated>
            <author><name>Juba</name></author>
        <dc:subject>Linux, Debian, etc.</dc:subject>
        <dc:subject>debian</dc:subject><dc:subject>linux</dc:subject><dc:subject>photo</dc:subject><dc:subject>script</dc:subject>
    <content type="html">    &lt;p&gt;Pas sûr que ça en vaille la peine, mais je me permets quand même de mettre en ligne le petit script bash que j'utilise pour transférer les photos depuis mon appareil numérique vers mon PC. Le script en question part du principe que l'appareil est reconnu comme un périphérique de stockage de masse USB et qu'il est automatiquement monté au point de montage indiqué par la variable &lt;code&gt;mount_point&lt;/code&gt;. Il faut également renseigner les variable &lt;code&gt;source_dir&lt;/code&gt; (chemin vers le répertoire dans lequel se trouve les photos à partir du point de montage) et &lt;code&gt;cible_dir&lt;/code&gt; (emplacement des photos sur le PC). Vous aurez également besoin du paquet &lt;code&gt;libjpeg-progs&lt;/code&gt; pour avoir la commande &lt;code&gt;exifautotran&lt;/code&gt;.&lt;/p&gt;


&lt;p&gt;Une fois que vous avez tout ça, vous aurez juste à brancher votre appareil et à lancer le script. Celui-ci s'occupera de monter le périphérique, de copier chaque image dans un répertoire nommé selon la date de prise de la photo (au format &lt;code&gt;/home/photos/2007/12&lt;/code&gt; par exemple) et d'effectuer une rotation en fonction de l'orientation horizontale ou verticale contenue dans les données EXIF.&lt;/p&gt;


&lt;pre&gt;
#!/bin/sh                                                           
                                                                    
mount_point=/mnt/photo
source_dir=dcim/100km028 
cible_dir=/home/photos

mount $mount_point
for i in $mount_point/$source_dir/*.jpg; do  
        img=`basename $i`
        annee=`stat -c %y $i | cut -d '-' -f 1`
        mois=`stat -c %y $i | cut -d '-' -f 2`
        cible=$cible_dir/$annee/$mois
        if [ ! -d $cible ];
        then
                mkdir -p $cible
        fi      
        echo &amp;quot;Copie de $i vers $cible/$img&amp;quot;
        cp -i $i $cible/$img
        exifautotran $cible/$img
done;   
sleep 2s
umount $mount_point
&lt;/pre&gt;


&lt;p&gt;Comme d'hab en ces lieux, vous constaterez que c'est du vite fait&amp;nbsp;!&lt;/p&gt;</content>

    


      </entry>
  
  <entry>
    <title>Utiliser Gimp avec Ion3</title>
    <link href="https://blog.nozav.org/post/2007/01/30/70-utiliser-gimp-avec-ion3" rel="alternate" type="text/html"
    title="Utiliser Gimp avec Ion3" />
    <id>urn:md5:5c35537b4ba9f3386f2e1c12ac758107</id>
    <published>2007-01-30T15:00:19+00:00</published>
          <updated>2007-02-02T11:19:53+00:00</updated>
            <author><name>Juba</name></author>
        <dc:subject>Linux, Debian, etc.</dc:subject>
        <dc:subject>gimp</dc:subject><dc:subject>ion</dc:subject><dc:subject>linux</dc:subject>
    <content type="html">    &lt;p&gt;Suite à la rédaction du document &lt;a href=&quot;http://dev.nozav.org/intro_ion.html&quot; hreflang=&quot;fr&quot;&gt;Introduction à Ion3&lt;/a&gt;, qui est, je le rappelle, un &lt;em&gt;window manager&lt;/em&gt; totalement minimaliste mais diablement efficace, j'avais eu une petite controverse avec l'un des lecteurs du tutoriel pour savoir si Ion était adapté ou non à l'utilisation de &lt;a href=&quot;http://www.gimp.org&quot; hreflang=&quot;en&quot;&gt;Gimp&lt;/a&gt;. Le bougre en a même fait &lt;a href=&quot;http://yay.blog2geek.com/gimp-et-ion-190.html&quot; hreflang=&quot;fr&quot;&gt;un article sur son blog&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Et ben il a fini par me convaincre. Une configuration semblable à celle qu'il présente est particulièrement pratique. Voici un petit guide pas à pas pour en mettre une en place.&lt;/p&gt;


&lt;p&gt;Première chose à faire&amp;nbsp;: créer un nouveau &lt;em&gt;workspace&lt;/em&gt;. Pour cela, il vous suffit normalement de faire &lt;code&gt;F9&lt;/code&gt; et d'indiquer son nom&amp;nbsp;: nous le nommerons ici &lt;em&gt;gimpws&lt;/em&gt;. Par défaut, Ion crée un espace avec deux colonnes égales. Celle de gauche servira à la boîte à outils, celle de droite aux images. Vous pouvez modifier la taille respective des colonnes en utilisant &lt;code&gt;Mod + bouton droit&lt;/code&gt; (remplacez &lt;code&gt;Mod&lt;/code&gt; par la touche de votre config. Vous pouvez même rendre le cadre d'image flottant à gauche pour lui permettre de chevaucher la boîte à outils (clic droit sur le titre du &lt;em&gt;frame&lt;/em&gt;, &lt;code&gt;Tiling&lt;/code&gt;, &lt;code&gt;Float split&lt;/code&gt;, &lt;code&gt;at left&lt;/code&gt;.&lt;/p&gt;


&lt;p&gt;Ensuite, nous allons donner un nom à ces &lt;em&gt;frames&lt;/em&gt; pour les identifier. Sélectionnez celui de gauche, et tapez &lt;code&gt;Mod + F3&lt;/code&gt;. A l'invite &lt;code&gt;Lua code&lt;/code&gt; qui s'affiche, tapez la commande suivante&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;mod_query.query_renameframe(_)&lt;/pre&gt;


&lt;p&gt;Ion vous demandez d'entrer le nom du &lt;em&gt;frame&lt;/em&gt;&amp;nbsp;: appelons-le &lt;em&gt;gimptoolbox&lt;/em&gt;. Procédez de même avec le &lt;em&gt;frame&lt;/em&gt; de droite et nommez-le &lt;em&gt;gimpimage&lt;/em&gt;. La configuration de nos &lt;em&gt;frames&lt;/em&gt; est terminée.&lt;/p&gt;


&lt;p&gt;Reste à indiquer à Ion où afficher quoi. Nous allons le faire en utilisant des &lt;em&gt;winprops&lt;/em&gt;, c'est à dire en rajoutant les lignes suivantes à la fin de notre fichier de configuration préféré (en général soit &lt;code&gt;~/.ion3/cfg_ion.lua&lt;/code&gt;, soit &lt;code&gt;~/.ion3/cfg_user.lua&lt;/code&gt;&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;defwinprop {
  class=&quot;Gimp&quot;,
  role=&quot;gimp-startup&quot;,       
  target=&quot;gimpimage&quot;,
}
 
defwinprop {
  class=&quot;Gimp&quot;,
  role=&quot;gimp-tip-of-the-day&quot;,
  target=&quot;gimpimage&quot;,  
}

defwinprop {
   class=&quot;Gimp&quot;,
   role=&quot;gimp-image-window&quot;,
   target=&quot;gimpimage&quot;,
 }

defwinprop {
  class=&quot;Gimp&quot;,
  role=&quot;gimp-toolbox&quot;, 
  target=&quot;gimptoolbox&quot;,
}

defwinprop {
  class=&quot;Gimp&quot;,
  target=&quot;gimpws&quot;,
  float=&quot;true&quot;,
}&lt;/pre&gt;


&lt;p&gt;Que signifie tout ceci&amp;nbsp;? D'abord, on indique à Ion d'afficher la boîte de démarrage, l'astuce du jour et les images dans le &lt;em&gt;frame&lt;/em&gt; nommé &lt;em&gt;gimpimage&lt;/em&gt;. Ensuite, on lui dit de placer la boîte à outils dans le &lt;em&gt;frame&lt;/em&gt; appelé &lt;em&gt;gimptoolbox&lt;/em&gt;. Enfin, on lui dit d'afficher toutes les autres fenêtres de Gimp sous forme de fenêtres flottantes (utile pour tous les dialogues de config, de filtres ou d'effets).&lt;/p&gt;


&lt;p&gt;Ainsi, lorsque vous lancez Gimp, vous pouvez le faire depuis n'importe où, vous serez sûr de le retrouver dans le &lt;em&gt;workspace&lt;/em&gt; que vous venez de créer sans avoir à subir les barres de progression de chargement. Ensuite, vous disposez d'un grand espace pour visualiser et travailler sur l'image, et vous pouvez basculer l'image en plein écran avec un simple &lt;code&gt;Mod + Return&lt;/code&gt;. Les fenêtres de config et d'outils s'affichent en flottant, ce qui permet de les déplacer pour ne pas masquer l'image. Et enfin, dernier avantage à mon avis, lorsque vous effectuez une capture d'écran d'une autre fenêtre depuis Gimp, celle-ci va automatiquement se placer dans le bon &lt;em&gt;frame&lt;/em&gt;.&lt;/p&gt;</content>

    


      </entry>
  
  <entry>
    <title>Automatiser les mises à jour de sécurité sous Debian</title>
    <link href="https://blog.nozav.org/post/2007/01/12/65-automatiser-les-mises-a-jour-de-securite-sous-debian" rel="alternate" type="text/html"
    title="Automatiser les mises à jour de sécurité sous Debian" />
    <id>urn:md5:20bd588bdd783ee6b58f7cedf8f792a0</id>
    <published>2007-01-12T22:10:00+00:00</published>
          <updated>2009-04-06T09:22:26+00:00</updated>
            <author><name>Juba</name></author>
        <dc:subject>Linux, Debian, etc.</dc:subject>
        <dc:subject>debian</dc:subject><dc:subject>linux</dc:subject><dc:subject>sysadmin</dc:subject>
    <content type="html">    &lt;p&gt;Tout utilisateur de Debian qui se respecte connaît les dépôts de paquets spécialement conçus pour colmater les failles de sécurité. Dès qu'un problème est identifié, l'équipe de sécurité applique les correctifs existants et met tout ça à disposition le plus vite possible. Nous allons voir ici comment faire en sorte que ces mises à jour soient appliquées automatiquement, par exemple une fois par jour.&lt;/p&gt;


&lt;p&gt;La première chose à faire est d'installer le paquet &lt;code&gt;cron-apt&lt;/code&gt;, qui est spécialement fait pour ça&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;# apt-get install cron-apt&lt;/pre&gt;


&lt;p&gt;Ce paquet permet de lancer une mise à jour à intervalle régulier. Le problème est que nous ne voulons mettre à jour que les paquets concernés par les problèmes de sécurité, et pas l'ensemble de notre distribution. Ceci est particulièrement important si on utilise une distribution &lt;em&gt;testing&lt;/em&gt; ou &lt;em&gt;unstable&lt;/em&gt;. Pour cela nous allons créer une source de paquets restreinte aux dépôts de sécurité. On va donc éditer un fichier &lt;code&gt;/etc/apt/security.sources.list&lt;/code&gt; contenant la ligne suivante&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;deb http://security.debian.org/ testing/updates main contrib non-free&lt;/pre&gt;


&lt;p&gt;(remplacez &lt;code&gt;testing&lt;/code&gt; par &lt;code&gt;stable&lt;/code&gt; ou &lt;code&gt;unstable&lt;/code&gt; selon votre config)&lt;/p&gt;


&lt;p&gt;Il faut ensuite indiquer à &lt;code&gt;cron-apt&lt;/code&gt; d'utiliser ce fichier. Pour cela, ouvrez le fichier &lt;code&gt;/etc/cron-apt/config&lt;/code&gt; et ajoutez ou décommentez la ligne suivante&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;OPTIONS=&quot;-o quiet=1 -o Dir::Etc::SourceList=/etc/apt/security.sources.list&quot;&lt;/pre&gt;


&lt;p&gt;Par défaut, &lt;code&gt;cron-apt&lt;/code&gt; ne fait que mettre à jour les sources de paquets, et ne les installe pas. Si vous souhaitez automatiser également l'installation, il faut que vous rajoutiez un fichier nommé &lt;code&gt;5-install&lt;/code&gt; dans le répertoire &lt;code&gt;/etc/cron-apt/action.d/&lt;/code&gt; et qui contient la ligne suivante&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;dist-upgrade -y -o APT::Get::Show-Upgraded=true&lt;/pre&gt;


&lt;p&gt;&lt;strong&gt;Attention :&lt;/strong&gt; il est normalement déconseillé d'effectuer ce genre d'actions automatiquement sur un serveur. En cas de problèmes lors de la mise à jour, ceci peut empêcher certains services de redémarrer. Dans tous les cas, pensez à bien regarder les rapports envoyés par Cron pour vérifier que tout s'est bien dérouolé...&lt;/p&gt;


&lt;p&gt;Et voilou. Il nous reste à régler la fréquence et le moment des mises à jour. Par défaut elles ont lieu une fois par jour à 4h du matin (cf le fichier &lt;code&gt;/etc/cron.d/cron-apt&lt;/code&gt;). Ceci est très bien si vous avez un serveur qui tourne en permanence. Mais pour une machine de bureau, on pourra plutôt utiliser &lt;code&gt;anacron&lt;/code&gt; et faire un lien sympolique vers &lt;code&gt;/usr/sbin/cron-apt&lt;/code&gt; dans &lt;code&gt;/etc/cron.daily&lt;/code&gt;&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;# ln -s /usr/sbin/cron-apt /etc/cron.daily/cron-apt&lt;/pre&gt;</content>

    


      </entry>
  
  <entry>
    <title>Boîtes aux lettres corrompues par Procmail</title>
    <link href="https://blog.nozav.org/post/2006/08/18/58-boites-aux-lettres-corrompues-par-procmail" rel="alternate" type="text/html"
    title="Boîtes aux lettres corrompues par Procmail" />
    <id>urn:md5:5dcbc8591c1b45dd780d8157a72c0b39</id>
    <published>2006-08-18T22:45:11+00:00</published>
              <updated>2006-08-18T22:45:11+00:00</updated>
        <author><name>Juba</name></author>
        <dc:subject>Linux, Debian, etc.</dc:subject>
        <dc:subject>linux</dc:subject><dc:subject>procmail</dc:subject><dc:subject>sysadmin</dc:subject>
    <content type="html">    &lt;p&gt;Il y a visiblement un petit problème récurrent avec &lt;code&gt;procmail&lt;/code&gt;, l'outil de tri de courrier électronique sous Linux, que la plupart des gens utilisent sans forcément le savoir. J'avais déjà rencontré le souci il y a pas mal de temps, ça s'était réglé, et finalement c'est revenu.&lt;/p&gt;


&lt;p&gt;Le problème vient du fait qu'à certains moments, les fichiers stockant les messages reçus, du type &lt;code&gt;/var/mail/user&lt;/code&gt;, sont corrompus car ils commencent par &lt;code&gt;rom&lt;/code&gt; au lieu du traditionnel et attendu &lt;code&gt;From&lt;/code&gt;. Du coup, plus moyen d'accéder aux messages situés à l'intérieur.&lt;/p&gt;


&lt;p&gt;La solution est facile à trouver avec un minimum de &lt;em&gt;googling&lt;/em&gt;, mais je la mets ici pour m'en souvenir&amp;nbsp;: il suffit de rajouter le code suivant à la fin de votre fichier &lt;code&gt;procmailrc&lt;/code&gt; (en général, &lt;code&gt;~/.procmailrc&lt;/code&gt;).&lt;/p&gt;


&lt;pre&gt;:0
* ^^rom&lt;a href=&quot;https://blog.nozav.org/post/2006/08/18/&quot;&gt; &lt;/a&gt;
{
 LOG=&quot;*** Dropped F off From_ header! Fixing up. &quot;

 :0 fhw
 | sed -e '1s/^/F/'

}&lt;/pre&gt;</content>

    


      </entry>
  
  <entry>
    <title>Petite astuce pour le sélecteur de fichiers de Gnome</title>
    <link href="https://blog.nozav.org/post/2006/07/07/57-petite-astuce-pour-le-selecteur-de-fichiers-de-gnome" rel="alternate" type="text/html"
    title="Petite astuce pour le sélecteur de fichiers de Gnome" />
    <id>urn:md5:f7386585b690d39b934829f491537916</id>
    <published>2006-07-07T13:34:05+00:00</published>
              <updated>2006-07-07T13:34:05+00:00</updated>
        <author><name>Juba</name></author>
        <dc:subject>Linux, Debian, etc.</dc:subject>
        <dc:subject>gnome</dc:subject><dc:subject>linux</dc:subject>
    <content type="html">    &lt;p&gt;Je ne sais pas si vous êtes du même avis, mais j'ai personnellement du mal avec l'actuel sélecteur de fichier de Gnome, qui sert entre autres pour toutes les fonctions relatives au &lt;em&gt;file system&lt;/em&gt; de Firefox. Ce qui est le plus gênant est surtout l'impossibilité à première vue de pouvoir rentrer directement le nom du fichier au clavier, par auto-complétion ou par copier-coller.&lt;/p&gt;


&lt;p&gt;Et ben en fait c'est possible. Il suffit de faire un petit &lt;code&gt;Control + L&lt;/code&gt; et un champ texte s'ouvre devans vos petit yeux émerveillés, champ dans lequel vous pouvez saisir le nom du fichier, avec en prime une autocomplétion digne de la ligne de commande. Si c'est pas du bonheur...&lt;/p&gt;</content>

    


      </entry>
  
  <entry>
    <title>Installation du client Cisco VPN avec un noyau 2.6.16</title>
    <link href="https://blog.nozav.org/post/2006/06/19/56-installation-du-client-cisco-vpn-avec-un-noyau-2616" rel="alternate" type="text/html"
    title="Installation du client Cisco VPN avec un noyau 2.6.16" />
    <id>urn:md5:88be1937b94aea801fc1c3311d66bde8</id>
    <published>2006-06-19T10:51:46+00:00</published>
              <updated>2006-06-19T10:51:46+00:00</updated>
        <author><name>Juba</name></author>
        <dc:subject>Linux, Debian, etc.</dc:subject>
        <dc:subject>internet</dc:subject><dc:subject>linux</dc:subject><dc:subject>vpn</dc:subject>
    <content type="html">    &lt;p&gt;Je viens de me rendre compte que mon client VPN Cisco ne fonctionnait plus au boulot depuis mon passage au noyau linux 2.6.16.18. Après un peu de Googling, voici les deux opérations à effectuer pour que ça tourne&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Problème de compilation&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;Pour régler l'erreur apparaissant à la compilation du module, il faut éditer le fichier &lt;code&gt;linuxcniapi.c&lt;/code&gt; et remplacer toutes les occurrences de &lt;code&gt;skb-&amp;gt;stamp&lt;/code&gt; en &lt;code&gt;skb-&amp;gt;tstamp&lt;/code&gt;.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Problème à l'initialisation&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;Une fois le module compilé et chargé, je n'arrivais plus à lancer le VPN et me retrouvais avec le message d'erreur suivant&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;privsep: unable to drop privileges: group set failed.&lt;/pre&gt;


&lt;p&gt;La solution est assez simple&amp;nbsp;: un petit &lt;code&gt;chmod 4111 /opt/cisco-vpnclient/bin/cvpnd&lt;/code&gt; et ça roule.&lt;/p&gt;


&lt;p&gt;Je préfèrerais utiliser un client libre comme vpnc, mais il ne fonctionne pas avec notre super installation de la mort qui tue du boulot. Bref.&lt;/p&gt;</content>

    


      </entry>
  
  <entry>
    <title>Utiliser le browser SWT sous Eclipse 3.1.1 avec Debian</title>
    <link href="https://blog.nozav.org/post/2006/02/15/43-utiliser-le-browser-swt-sous-eclipse-avec-debian" rel="alternate" type="text/html"
    title="Utiliser le browser SWT sous Eclipse 3.1.1 avec Debian" />
    <id>urn:md5:258a149a708ecd47dacd258f6b72e9f9</id>
    <published>2006-02-15T11:13:17+00:00</published>
          <updated>2006-02-15T13:49:21+00:00</updated>
            <author><name>Juba</name></author>
        <dc:subject>Linux, Debian, etc.</dc:subject>
        <dc:subject>debian</dc:subject><dc:subject>eclipse</dc:subject><dc:subject>linux</dc:subject>
    <content type="html">    &lt;p&gt;J'utilise depuis peu une version recompilée pour &lt;em&gt;testing&lt;/em&gt; du paquet &lt;em&gt;unstable&lt;/em&gt; d'Eclipse 3.1.1. Tout fonctionne bien a priori, mais je viens de rencontrer une difficulté après l'installation des RDT (&lt;em&gt;&lt;a href=&quot;http://rubyeclipse.sourceforge.net/&quot; hreflang=&quot;en&quot;&gt;Ruby Development Tools&lt;/a&gt;&lt;/em&gt;) pour utiliser la vue &lt;em&gt;ri&lt;/em&gt;&amp;nbsp;: j'obtiens un message d'erreur me signalant un crash de SWT.&lt;/p&gt;


&lt;p&gt;En fait, cette erreur est due à l'impossibilité pour Eclipse et SWT d'utiliser le widget &lt;em&gt;Browser&lt;/em&gt; du fait d'une dépendance non-satisfaite, en l'occurrence il a besoin de la librairie &lt;code&gt;libgtkembedmoz.so&lt;/code&gt; qu'il ne retrouve pas. Les instructions pour faire tourner tout ça sont dans &lt;a href=&quot;http://www.eclipse.org/swt/faq.php#browserlinux&quot; hreflang=&quot;en&quot;&gt;la FAQ d'Eclipse&lt;/a&gt;, mais en fait sous Debian le problème vient du fait que SWT cherche la librairie manquante sous Firefox alors qu'elle n'est présente que sous Mozilla. Et modifier la variable &lt;code&gt;MOZILLA_FIVE_HOME&lt;/code&gt;, comme indiqué dans la faq, ne fontionne pas car celle-ci est initialisée dans le script de démarrage d'Eclipse.&lt;/p&gt;


&lt;p&gt;La solution la plus simple est donc de modifier le script de démarrage en question, en l'occurrence le fichier &lt;code&gt;/usr/bin/eclipse&lt;/code&gt; en transformant le passage suivant&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;# Set path for the Mozilla SWT binding
if [ -d /usr/lib/firefox ]; then
    export MOZILLA_FIVE_HOME=/usr/lib/firefox
elif [ -d /usr/lib/mozilla-firefox ]; then
    export MOZILLA_FIVE_HOME=/usr/lib/mozilla-firefox
elif [ -d /usr/lib/mozilla ]; then
    export MOZILLA_FIVE_HOME=/usr/lib/mozilla
fi&lt;/pre&gt;


&lt;p&gt;en ceci&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;# Set path for the Mozilla SWT binding
#if [ -d /usr/lib/firefox ]; then
#    export MOZILLA_FIVE_HOME=/usr/lib/firefox
#elif [ -d /usr/lib/mozilla-firefox ]; then
#    export MOZILLA_FIVE_HOME=/usr/lib/mozilla-firefox
if [ -d /usr/lib/mozilla ]; then
    export MOZILLA_FIVE_HOME=/usr/lib/mozilla
fi&lt;/pre&gt;


&lt;p&gt;&lt;strong&gt;Note :&lt;/strong&gt; je viens de mettre à jour en version 3.1.2, et le problème est fixé dans le &lt;code&gt;/usr/bin/eclipse&lt;/code&gt; de la distribution.&lt;/p&gt;</content>

    


      </entry>
  
  <entry>
    <title>Mettre en place un antivirus pour Linux à la maison</title>
    <link href="https://blog.nozav.org/post/2006/02/06/42-mettre-en-place-un-antivirus-sous-debian" rel="alternate" type="text/html"
    title="Mettre en place un antivirus pour Linux à la maison" />
    <id>urn:md5:9f78eed6291ce65bee75cd166cb8cf19</id>
    <published>2006-02-06T10:41:28+00:00</published>
          <updated>2006-02-06T10:45:01+00:00</updated>
            <author><name>Juba</name></author>
        <dc:subject>Linux, Debian, etc.</dc:subject>
        <dc:subject>antivirus</dc:subject><dc:subject>clamav</dc:subject><dc:subject>linux</dc:subject><dc:subject>perl</dc:subject><dc:subject>procmail</dc:subject><dc:subject>sysadmin</dc:subject>
    <content type="html">    &lt;p&gt;A priori, le fait d'utiliser un système Linux met déjà son utilisateur à l'abri de la plupart des virus circulant sur le réseau et qui ciblent des systèmes plus répandus et moins fiables (suivez mon regard). Mais cela ne dispense pas d'utiliser un antivirus, surtout quand il en existe de très bons libres et gratuits comme &lt;a href=&quot;http://www.clamav.net/&quot; hreflang=&quot;en&quot;&gt;ClamAV&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Voici la méthode que j'utilise pour filtrer mes mails à la maison. Elle utilise un ptit script Perl trouvé sur le web, et n'est certainement pas adéquate pour un gros serveur gérant des dizaines de comptes mails. Elle suppose que vous ayiez déjà un MTA (type postfix ou exim) qui tourne sur votre machine.&lt;/p&gt;


&lt;p&gt;La première chose à faire est d'installer clamav en tant que démon. Sous Debian, comme toujours, c'est très simple, en une commande on installe tout ça ainsi que le service de mise à jour automatique de la base de virus&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;code&gt;# apt-get install clamav-freshclam clamav-daemon&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;La seconde chose est de faire passer tous les mails à travers l'antivirus. Ceci se fait à l'aide de la commande &lt;code&gt;clamdscan&lt;/code&gt;. La solution la plus simple que j'ai trouvée consiste en un petit script Perl nommé &lt;a href=&quot;http://www.everysoft.com/clamfilter.html&quot; hreflang=&quot;en&quot;&gt;clamfilter.pl&lt;/a&gt;. Le seul inconvénient est qu'il n'utilise pas le démon, mais le client clamav qui lui lance un processus à chaque mail scanné et prend beaucoup plus de ressources système. Le script étant du domaine public (vive le libre !), j'ai donc modifié une dizaine de caractères pour lui faire utiliser &lt;code&gt;clamdscan&lt;/code&gt; plutôt que &lt;code&gt;clamscan&lt;/code&gt;. Le résultat est le suivant&amp;nbsp;:&lt;/p&gt;



&lt;pre&gt;#!/usr/bin/perl -w
#
# ClamFilter 1.0
# by Matt Hahnfeld (http://www.everysoft.com/)
# Requires perl, clamscan, procmail, and this script.
#
# This script is public domain.
#

use strict;
use File::Temp 'tempfile';

&amp;amp;main();
exit 0;

sub main {
  # Set up a temporary file for the original message
  my ($tmpfh, $tmpfn) = tempfile( UNLINK =&amp;gt; 1 );
  -w $tmpfn or die 'Could not open temp file!';

  # Pass 1: Write out the temporary file
  while (&amp;lt;STDIN&amp;gt;) {
    print $tmpfh $_;
  }
  seek($tmpfh, 0, 0);

  # Pass 2: Scan the message
  open CLAMSCAN, &quot;/bin/cat $tmpfn | /usr/bin/clamdscan --stdout - 2&amp;gt;/dev/null |&quot; or die 'Could not open clamscan!';
  my $clamstatus = qq|X-Virus-Found: yes
X-Virus-Status:
 &lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;
 Virus Scan Status:
 &lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;
|;
  while (&amp;lt;CLAMSCAN&amp;gt;) {
    $clamstatus .= ' ' . $_;
  }
  close CLAMSCAN;
  $clamstatus .= qq| 
 &lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;&lt;del&gt;&lt;/del&gt;

|;

  # Pass 3: Print out the message
  my $bodyflag = 0;
  while (&amp;lt;$tmpfh&amp;gt;) {
    if (! $bodyflag and $_ eq &quot;
&quot;) {
      if ($?) {
	print $clamstatus;
      }
      else {
	print &quot;
&quot;;
      }
      $bodyflag = 1;
    }
    else {
      print;
    }
  }
}&lt;/pre&gt;

&lt;p&gt;L'installation de ce script est très simple&amp;nbsp;: copiez le contenu dans un fichier &lt;code&gt;/usr/local/bin/clamfilter.pl&lt;/code&gt;, rendez le exécutable avec un petit &lt;code&gt;chmod +x clamfilter.pl&lt;/code&gt; et ajoutez la ligne suivante dans votre fichier &lt;code&gt;.procmailrc&lt;/code&gt;&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;:0fw
| /usr/local/bin/clamfilter.pl&lt;/pre&gt;


&lt;p&gt;Et voilà&amp;nbsp;! Normalement tous vos mails devraient être scannés avant leur distribution. S'ils contiennent un virus détecté, le script rajoute un flag &lt;code&gt;X-virus-found: yes&lt;/code&gt; dans les en-têtes (pratique pour créer des filtres automatiques dans votre lecteur de mail préféré) et ajoute quelques lignes d'information au début du message.&lt;/p&gt;


&lt;p&gt;Vous pouvez tester le bon fonctionnement de votre installation d'abord en vérifiant qu'un mail normal passe sans problème, et ensuite en testant avec le fichier de test d'antivirus &lt;a href=&quot;http://www.eicar.org/anti_virus_test_file.htm&quot; hreflang=&quot;en&quot;&gt;eicar&lt;/a&gt;.&lt;/p&gt;</content>

    


      </entry>
  
  <entry>
    <title>MPD (Music Player Daemon)</title>
    <link href="https://blog.nozav.org/post/2005/12/13/38-mpd-music-player-daemon" rel="alternate" type="text/html"
    title="MPD (Music Player Daemon)" />
    <id>urn:md5:c5247035d5513882b47ffa97f5d022ab</id>
    <published>2005-12-13T23:49:58+00:00</published>
          <updated>2005-12-22T00:58:17+00:00</updated>
            <author><name>Juba</name></author>
        <dc:subject>Linux, Debian, etc.</dc:subject>
        <dc:subject>linux</dc:subject><dc:subject>mpd</dc:subject>
    <content type="html">    &lt;p&gt;Il existe de nombreux logiciels de lecture audio sous Linux, dont certains sont très avancés et zolis comme Amarok, par exemple. Mais il y en a un qui se distingue du lot, il s'agit de MPD, alias &lt;em&gt;Music player daemon&lt;/em&gt;.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;MPD n'est pas un lecteur audio à proprement parler. Il s'agit d'un démon qui fonctionne en tant que service sur votre machine. Vous lui indiquez le répertoire où vous stockez vos mp3 et autres ogg et il indexe tout ça ainsi que les tags inclus dans les fichiers. Ensuite, vous utilisez un client (il en existe plusieurs) qui va aller se connecter au serveur, récupérer la liste des morceaux disponibles, vous permettre de créer des listes de lecture, puis lancer la lecture des morceaux par MPD.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Ça peut sembler un peu tordu comme fonctionnement, mais en fait c'est particulièrement malin et ça a de nombreux avantages&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;ça laisse le choix du client&lt;/em&gt;&amp;nbsp;: les &lt;a href=&quot;http://www.musicpd.org/clients.shtml&quot; hreflang=&quot;en&quot;&gt;clients disponibles&lt;/a&gt; sont extrêmement variés. Ça va du client en ligne de commande à l'interface Web en passant par le client graphique en GTK. On a donc le choix, et ce qui est bien c'est qu'on peut en utiliser plusieurs différents si on le souhaite&amp;nbsp;: les listes de morceaux et autres sont stockées par le serveur. On peut ainsi lancer la lecture d'un morceau en ligne de commande et l'arrêter avec le client pour KDE. Personnellement, ma préférence va pour ncmpc, un client texte en &lt;em&gt;ncurses&lt;/em&gt; simple et pratique.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;c'est léger&lt;/em&gt;&amp;nbsp;: d'une part vous n'êtes pas obligé de lancer un serveur X pour écouter de la musique si vous utilisez un client texte. D'autre part, une fois la liste de lecture choisie et la lecture lancée, vous pouvez très bien fermer votre client, ça n'arrêtera pas la musique.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;c'est robuste&lt;/em&gt;&amp;nbsp;: si votre client plante, ou même si votre serveur X plante, pas de problème, votre démon continue à tourner et à jouer les morceaux indiqués. Un truc marrant, c'est que si vous arrêtez le système avec MPD en train de jouer quelque chose,  celui-ci reprend automatiquement et exactement au même endroit lorsque vous rallumez votre machine&amp;nbsp;!&lt;/li&gt;
&lt;li&gt;&lt;em&gt;ça fonctionne à distance&lt;/em&gt;&amp;nbsp;: vous pouvez très bien utiliser un client texte ou graphique pour vous connecter à distance à un MPD tournant sur une autre machine.&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Enfin, une bonne nouvelle n'arrivant jamais seule, il existe un client qui marche très bien et qui permet d'interfacer MPD à audioscrobbler (désormais &lt;a href=&quot;http://www.last.fm/&quot; hreflang=&quot;en&quot;&gt;last.fm&lt;/a&gt;) et qui envoie donc les informations sur les morceaux joués à leur serveur automatiquement. Ce client s'appelle &lt;a href=&quot;http://www.frob.nl/scribble.html&quot; hreflang=&quot;en&quot;&gt;mpdscribble&lt;/a&gt;, et il y a un paquet Debian qui va bien, comme d'hab.&lt;br /&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.musicpd.org/&quot; hreflang=&quot;en&quot;&gt;Site officiel de MPD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.musicpd.org/clients.shtml&quot; hreflang=&quot;en&quot;&gt;Liste des clients disponibles&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://doc.ubuntu-fr.org/applications/mpd&quot; hreflang=&quot;fr&quot;&gt;Doc en français sur ubuntu-fr&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.frob.nl/scribble.html&quot; hreflang=&quot;en&quot;&gt;Site de mpdscribble&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content>

    


      </entry>
  
  <entry>
    <title>Avidemux</title>
    <link href="https://blog.nozav.org/post/2005/08/02/31-avidemux" rel="alternate" type="text/html"
    title="Avidemux" />
    <id>urn:md5:e13aadf30bdbdddb1ffd1c0ba6e1215b</id>
    <published>2005-08-02T23:35:17+00:00</published>
              <updated>2005-08-02T23:35:17+00:00</updated>
        <author><name>Juba</name></author>
        <dc:subject>Linux, Debian, etc.</dc:subject>
        <dc:subject>linux</dc:subject><dc:subject>vidéo</dc:subject>
    <content type="html">    &lt;p&gt;Ayé&amp;nbsp;! J'ai enfin trouvé le logiciel qu'il me fallait pour bidouiller un peu de vidéo sous mon Linux. Je ne parle pas de montage ou d'effets spéciaux de transition en fondu au noir, mais plutôt de compression, conversion, redimensionnement, rotation, etc. etc. Et en plus ce petit bijou fonctionne avec une interface graphique, ce qui est quand même bien pratique quand on n'a pas trop envie d'apprendre par coeur les options des lignes de commande de &lt;code&gt;mplayer&lt;/code&gt; et de &lt;code&gt;transcode&lt;/code&gt;.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Le logicel en question porte le doux nom d'&lt;a href=&quot;http://fixounet.free.fr/avidemux/&quot; hreflang=&quot;en&quot;&gt;Avidemux&lt;/a&gt;, et il permet l'import depuis de nombreux formats, l'édition de la vidéo avec suppression de passages, puis sa conversion via des tas de codecs dont les plus répandus, DivX4, Xvid, Ogg, Mp3, etc. etc. Et la conversion peut se faire via tout plein de filtres qui permettent le redimensionnement, la rotation (super pratique quand vous avez tourné votre vidéo avec l'appareil numérique à la verticale) et des tas de machins que je sais même pas ce que ça fait. Pour la conversion, vous pouvez le faire en deux passes, indiquer la taille désirée ou le bitrate, etc.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Bref, c'est super complet, pratique et facile d'installation. Pour les heureux debianeux qui ont installé les &lt;code&gt;sources.list&lt;/code&gt; de &lt;a href=&quot;http://hpisi.nerim.net/&quot; hreflang=&quot;en&quot;&gt;Christian Marillat&lt;/a&gt;&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;apt-get install avidemux&lt;/pre&gt;</content>

    


      </entry>
  
  <entry>
    <title>Sarge est sortie !</title>
    <link href="https://blog.nozav.org/post/2005/06/06/26-sarge-est-sortie" rel="alternate" type="text/html"
    title="Sarge est sortie !" />
    <id>urn:md5:3828e03fc09c303af60e9f3fe7e8ffe5</id>
    <published>2005-06-06T23:34:09+00:00</published>
              <updated>2005-06-06T23:34:09+00:00</updated>
        <author><name>Juba</name></author>
        <dc:subject>Linux, Debian, etc.</dc:subject>
        <dc:subject>debian</dc:subject><dc:subject>linux</dc:subject>
    <content type="html">    &lt;p&gt;Ça y'est&amp;nbsp;! Après trois ans de travail de la part de centaines de bénévoles, la Debian Sarge est officiellement sortie aujourd'hui. C'est beau, tiens.&lt;br /&gt;&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;http://www.debian.org/News/2005/20050606&quot; hreflang=&quot;fr&quot;&gt;http://www.debian.org/News/2005/20050606&lt;/a&gt;&lt;/p&gt;</content>

    


      </entry>
  
  <entry>
    <title>Conversion en lot de fichiers WMA en fichiers OGG</title>
    <link href="https://blog.nozav.org/post/2005/05/13/25-conversion-en-lot-de-fichiers-wma-en-fichiers-ogg" rel="alternate" type="text/html"
    title="Conversion en lot de fichiers WMA en fichiers OGG" />
    <id>urn:md5:7b4d57b0daee1cb786c55f9857f0df1d</id>
    <published>2005-05-13T10:21:24+00:00</published>
          <updated>2005-09-13T23:21:58+00:00</updated>
            <author><name>Juba</name></author>
        <dc:subject>Linux, Debian, etc.</dc:subject>
        <dc:subject>audio</dc:subject><dc:subject>bash</dc:subject><dc:subject>linux</dc:subject><dc:subject>perl</dc:subject><dc:subject>script</dc:subject>
    <content type="html">    &lt;p&gt;Il m'arrive régulièrement de recevoir une série de fichiers audio au format WMA de Windows Media. Mplayer sait les lire, certes, mais quoi de mieux qu'un format audio libre et ouvert comme &lt;a href=&quot;http://www.vorbis.com/&quot; hreflang=&quot;en&quot;&gt;Ogg Vorbis&lt;/a&gt; pour assurer la pérennité de ses musiques préférées ?&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Heureusement, grâce à mplayer toujours et à une &lt;a href=&quot;http://linuxfr.org/tips/266.html&quot; hreflang=&quot;fr&quot;&gt;astuce vue sur linuxfr&lt;/a&gt;, voici un petit script shell qui vous permet de convertir en lot tous les fichiers wma d'un répertoire en ogg. Notez que vous pouvez facilement l'utiliser pour effectuer une conversion en mp3, en utilisant lame plutôt que oggenc (mais le format mp3 n'est pas libre) :&lt;br /&gt;&lt;/p&gt;


&lt;pre&gt;#!/bin/sh

for WMA in `ls *.wma`; do
    OGG=`basename $WMA .wma`.ogg;
    TMP=${TMPDIR:-/tmp}/wma2ogg.$$
    mplayer -ao pcm:file=$TMP $WMA;
    trap &quot;rm $TMP* 2&amp;gt;/dev/null&quot; 0
    nice -n 15 oggenc -m 128 $TMP -o $OGG
done&lt;/pre&gt;


&lt;p&gt;Seul petit hic, ce script peut ne pas fonctionner si les noms de vos fichiers contiennent des espaces. Vous pouvez donc utiliser la commande suivante pour transformer tous les espaces des noms de fichiers de votre répertoire en underscores :&lt;br /&gt;&lt;/p&gt;


&lt;pre&gt;find . -type f -name &quot;* *&quot; -print0 | \
perl -n0e '$old = $_; s/ /_/g; rename $old, $_'&lt;/pre&gt;



&lt;p&gt;De même, ce script utilise les options de la dernière version de mplayer. Si vous rencontrez des problèmes, vous pouvez essayer la syntaxe suivante :&lt;br /&gt;&lt;/p&gt;


&lt;pre&gt;mplayer -ao pcm -aofile $TMP $WMA;&lt;/pre&gt;</content>

    


      </entry>
  
  <entry>
    <title>Editer ou monter une vidéo déjà existante sous Linux</title>
    <link href="https://blog.nozav.org/post/2005/05/13/24-editer-ou-monter-une-video-deja-existante-sous-linux" rel="alternate" type="text/html"
    title="Editer ou monter une vidéo déjà existante sous Linux" />
    <id>urn:md5:f993a9f77da544987be61a9da4220754</id>
    <published>2005-05-13T09:49:04+00:00</published>
              <updated>2005-05-13T09:49:04+00:00</updated>
        <author><name>Juba</name></author>
        <dc:subject>Linux, Debian, etc.</dc:subject>
        <dc:subject>linux</dc:subject><dc:subject>vidéo</dc:subject>
    <content type="html">    &lt;p&gt;Je suis très loins d'être un spécialiste, mais il existe plusieurs logiciels sous Linux qui permettent de faire du montage et autres éditions/modifications de vidéos. Les plus connus sont sans doute &lt;a href=&quot;http://www.kinodv.org/&quot; hreflang=&quot;en&quot;&gt;Kino&lt;/a&gt; et &lt;a href=&quot;http://www.heroinewarrior.com/cinelerra.php3&quot; hreflang=&quot;en&quot;&gt;Cinelerra&lt;/a&gt;. Ces deux logiciels prennent en entrée des vidéos au format DV, ce qui est très bien lorsqu'on a une caméra numérique. Mais quand on n'en a pas et qu'on veut juste retoucher une vidéo déjà existante en MPEG4 ou autre&amp;nbsp;? Ben il faut convertir le fichier (avi, mpeg, etc.) au format DV. J'avais cherché un moyen pendant un moment sans succès, mais une solution a récemment été donnée suite à &lt;a href=&quot;http://linuxfr.org/~ploum/18096.html&quot; hreflang=&quot;fr&quot;&gt;un journal de Ploum sur linuxfr&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Cette solution utilise mencoder et tient en une ligne&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt; mencoder -vf scale=720:576 -ovc libdv -oac pcm input.avi -o output.avi&lt;/pre&gt;</content>

    


      </entry>
  
  <entry>
    <title>Changer récursivement les permissions de répertoires</title>
    <link href="https://blog.nozav.org/post/2005/05/12/23-changer-recursivement-les-permissions-de-repertoires" rel="alternate" type="text/html"
    title="Changer récursivement les permissions de répertoires" />
    <id>urn:md5:b773a524d46a70134f3a8cbf6dc4a00c</id>
    <published>2005-05-12T15:15:31+00:00</published>
          <updated>2005-05-13T17:02:42+00:00</updated>
            <author><name>Juba</name></author>
        <dc:subject>Linux, Debian, etc.</dc:subject>
        <dc:subject>bash</dc:subject><dc:subject>linux</dc:subject><dc:subject>script</dc:subject><dc:subject>sysadmin</dc:subject>
    <content type="html">    &lt;p&gt;Il peut parfois être utile de changer d'un coup les permissions ou les propriétés d'un répertoire et de ses sous-répertoires, mais seulement des répertoires, pas des fichiers normaux.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Deux exemples pratiques&amp;nbsp;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;vous venez de transférer des fichiers depuis une parto windows, et ceux-ci ont tous la permission &quot;éxecutable&quot;. Seulement, si vous faites un chmod -R -x *, vos répertoires vont perdre leur attribut exécutable et vous ne pourrez plus rentrer dedans. C'est gênant&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;vous avez un répertoire (par exemple /var/www) que vous voulez partager entre plusieurs personnes d'un même groupe (par exemple le groupe web). L'idéal est de positionner le &quot;sticky bit&quot; de ce répertoire et de ses sous-répertoire pour le groupe, afin que tous les fichiers nouvellement créés appartiennent également à ce groupe. Là aussi, un chmod -R g+s * pose problème.&lt;br /&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Voilà donc la solution à ces deux problèmes. Il suffit de se positionner dans le répertoire racine choisi et de faire un&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;find . -type d | xargs chmod +x&lt;/pre&gt;

&lt;p&gt;ou, pour le deuxième problème&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;find . -type d | xargs chmod g+s&lt;br /&gt;&lt;/pre&gt;


&lt;p&gt;Et voilou&amp;nbsp;!&lt;/p&gt;</content>

    


      </entry>
  
</feed>
