<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://www.bonz.org/tech/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>ZenTech</title>
  <link>http://www.bonz.org/tech/</link>
  <atom:link href="http://www.bonz.org/tech/feed/rss2" rel="self" type="application/rss+xml"/>
  <description>Om Mani Padme Hum</description>
  <language>fr</language>
  <pubDate>Fri, 19 Feb 2010 02:36:07 +0800</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Dis tonton, pourquoi tu tousses?</title>
    <link>http://www.bonz.org/tech/post/2009/10/13/Dis-tonton%2C-pourquoi-tu-tousses</link>
    <guid isPermaLink="false">urn:md5:00dbfbf4124786c1e5e45d1848b72607</guid>
    <pubDate>Tue, 13 Oct 2009 15:07:00 +0200</pubDate>
    <dc:creator>hr</dc:creator>
        <category>sécurité</category>
        <category>debian</category><category>lenny</category><category>openvpn</category><category>ssl</category><category>vpn</category>    
    <description>&lt;p&gt;Etant actuellement dans un pays dont l'accès internet est assez &lt;a href=&quot;http://en.wikipedia.org/wiki/Golden_Shield_Project&quot; hreflang=&quot;en&quot;&gt;largement filtré&lt;/a&gt;, je me suis demandé si &lt;a href=&quot;http://www.openvpn.net/index.php/open-source.html&quot; hreflang=&quot;en&quot;&gt;openvpn&lt;/a&gt; ne pouvait pas me donner un coup de main. Et bien, c'est d'une simplicité &lt;a href=&quot;http://encyclopediadramatica.com/Pedobear&quot; hreflang=&quot;en&quot;&gt;enfantine&lt;/a&gt; de monter un tunnel en point à point avec clé statique.&lt;/p&gt;    &lt;p&gt;Après installation du paquet openvpn (&lt;code&gt;apt-get install openvpn&lt;/code&gt;) sur le serveur et le client à connecter, il faut générer une clé statique à partager entre ces deux machines.&lt;/p&gt;
&lt;pre&gt;
openvpn --genkey --secret server_client.key
&lt;/pre&gt;

&lt;p&gt;Il faut poser cette clé sur le serveur et le client, de préférence en utilisant un canal sécurisé, &lt;code&gt;scp(1)&lt;/code&gt; est une solution, l'apprendre par coeur en est une autre::).&lt;/p&gt;


&lt;p&gt;Ensuite, la configuration du serveur et du client est assez simple. On va considérer que le serveur a le nom de domaine &lt;code&gt;vpn.server.org&lt;/code&gt;, que son ip dans le vpn sera &lt;code&gt;10.42.0.1&lt;/code&gt; et le client aura pour ip &lt;code&gt;10.42.0.2&lt;/code&gt;.&lt;br /&gt;
Sur le serveur, dans le fichier &lt;code&gt;/etc/openvpn/static_client.conf&lt;/code&gt;&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
dev tun0
ifconfig 10.42.0.1 10.42.0.2 # configuration ip point à point
secret server_client.key
&lt;/pre&gt;

&lt;p&gt;Sur le client, dans le fichier &lt;code&gt;/etc/openvpn/static_server.conf&lt;/code&gt;&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
remote vpn.server.org # l'ip ou le nom de domaine du serveur
dev tun0
ifconfig 10.42.0.2 10.42.0.1
secret server_client.key
&lt;/pre&gt;


&lt;p&gt;Il est temps de lancer le tunnel (et oui déjà), sur le serveur&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
server# openvpn /etc/openvpn/static_client.conf 
Tue Oct 13 08:50:50 2009 OpenVPN 2.1_rc11 x86_64-pc-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] built on Sep 18 2008
Tue Oct 13 08:50:50 2009 IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA.  OpenVPN 2.0-beta16 and earlier used 5000 as the default port.
Tue Oct 13 08:50:50 2009 /usr/sbin/openvpn-vulnkey -q server_client.key
Tue Oct 13 08:50:50 2009 TUN/TAP device tun0 opened
Tue Oct 13 08:50:50 2009 /sbin/ifconfig tun0 10.42.0.1 pointopoint 10.42.0.2 mtu 1500
Tue Oct 13 08:50:50 2009 UDPv4 link local (bound): [undef]:1194
Tue Oct 13 08:50:50 2009 UDPv4 link remote: [undef]
&lt;/pre&gt;

&lt;p&gt;Sur le client&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
client# openvpn /etc/openvpn/static_server.conf 
Tue Oct 13 14:51:50 2009 OpenVPN 2.1_rc11 i486-pc-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] built on Sep 18 2008
Tue Oct 13 14:51:50 2009 IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA.  OpenVPN 2.0-beta16 and earlier used 5000 as the default port.
Tue Oct 13 14:51:50 2009 /usr/sbin/openvpn-vulnkey -q server_client.key
Tue Oct 13 14:51:50 2009 TUN/TAP device tun0 opened
Tue Oct 13 14:51:50 2009 /sbin/ifconfig tun0 10.42.0.2 pointopoint 10.42.0.1 mtu 1500
Tue Oct 13 14:51:50 2009 UDPv4 link local (bound): [undef]:1194
Tue Oct 13 14:51:50 2009 UDPv4 link remote: vpn.server.org:1194
Tue Oct 13 14:52:01 2009 Peer Connection Initiated with vpn.server.org:1194
Tue Oct 13 14:52:02 2009 Initialization Sequence Completed
&lt;/pre&gt;


&lt;p&gt;Les machines peuvent normalement se contacter, vérifions&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
client$ ping -c2 10.42.0.1
PING 10.42.0.1 (10.42.0.1) 56(84) bytes of data.
64 bytes from 10.42.0.1: icmp_seq=1 ttl=64 time=324 ms
64 bytes from 10.42.0.1: icmp_seq=2 ttl=64 time=324 ms

--- 10.42.0.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1005ms
rtt min/avg/max/mdev = 324.583/324.775/324.968/0.601 ms
&lt;/pre&gt;


&lt;p&gt;Des interfaces &lt;code&gt;tunX&lt;/code&gt; sont créées&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
client# ifconfig
[...]
tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.42.0.2  P-t-P:10.42.0.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
[...]
&lt;/pre&gt;


&lt;p&gt;Pour démarrer proprement les tunnels comme on le souhaite, il est utile d'aller jeter un oeil à la variable &lt;code&gt;AUTOSTART&lt;/code&gt; du fichier &lt;code&gt;/etc/default/openvpn&lt;/code&gt;. Sur le client par exemple, si on ne veut démarrer que le tunnel qui vient d'être configuré&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
AUTOSTART=&amp;quot;static_server&amp;quot;
&lt;/pre&gt;

&lt;p&gt;Pour un démarrage directement par la ligne de commande, le script d'init accepte un nom de configuration&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
client# /etc/init.d/openvpn start static_server
&lt;/pre&gt;


&lt;p&gt;Il est important de bien prendre en considération les conflits de sous-réseau dans la topologie du tunnel pour éviter les problèmes de routage.&lt;/p&gt;


&lt;p&gt;Prochaine étape, faire en sorte que tout le traffic passe par le tunnel (mode appelé &quot;road-warrior&quot;).&lt;/p&gt;


&lt;p&gt;Référence&amp;nbsp;: &lt;a href=&quot;http://www.openvpn.net/index.php/open-source/documentation/miscellaneous/78-static-key-mini-howto.html&quot; hreflang=&quot;en&quot;&gt;le tutoriel officiel openvpn&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://www.bonz.org/tech/post/2009/10/13/Dis-tonton%2C-pourquoi-tu-tousses#comment-form</comments>
      <wfw:comment>http://www.bonz.org/tech/post/2009/10/13/Dis-tonton%2C-pourquoi-tu-tousses#comment-form</wfw:comment>
      <wfw:commentRss>http://www.bonz.org/tech/feed/atom/comments/493</wfw:commentRss>
      </item>
    
  <item>
    <title>Air lutins et mon précieux</title>
    <link>http://www.bonz.org/tech/post/2009/09/26/Air-lutins-et-mon-pr%C3%A9cieux</link>
    <guid isPermaLink="false">urn:md5:c15a151591af2430f39d1d0db976c751</guid>
    <pubDate>Mon, 28 Sep 2009 14:17:00 +0200</pubDate>
    <dc:creator>hr</dc:creator>
        <category>système</category>
        <category>debian</category><category>iwl4965</category><category>lenny</category><category>thinkpad</category><category>wep</category><category>wifi</category><category>x61s</category>    
    <description>&lt;p&gt;Je n'avais jamais eu à utiliser de connexion WEP depuis mon x61s et, aussi surprenant que cela puisse paraitre, ce n'est pas simple. La carte n'arrive tout simplement pas à s'associer à l'AP alors qu'en WPA je n'ai jamais eu un problème.&lt;/p&gt;    &lt;p&gt;Concernant la configuration, c'est assez basique pour du WEP. Il suffit de mettre ce genre de lignes de configuration dans &lt;code&gt;/etc/network/interfaces&lt;/code&gt;&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
iface wlan0 inet dhcp
    wireless-essid &amp;lt;ssid&amp;gt;
    wireless-key s:&amp;lt;mdp&amp;gt;
&lt;/pre&gt;


&lt;p&gt;Lorsque je lance un &lt;code&gt;ifup wlan0&lt;/code&gt; une erreur étrange apparait dans les logs noyau&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
Sep 26 13:47:25 ewok kernel: [ 1482.296364] ADDRCONF(NETDEV_UP): wlan0: link is not ready
&lt;/pre&gt;


&lt;p&gt;Après quelques recherches sur le net je n'ai rien trouvé, je donne une chance au &lt;a href=&quot;http://wiki.debian.org/iwlwifi&quot; hreflang=&quot;en&quot;&gt;wiki debian&lt;/a&gt; et &lt;a href=&quot;http://wiki.debian.org/iwlwifi#Carddoesnotassociatetotheaccesspoint&quot; hreflang=&quot;en&quot;&gt;__BAM__&lt;/a&gt;. Au final ce qui va fonctionner pour mon problème est de rajouter deux lignes à mon &lt;code&gt;/etc/network/interfaces&lt;/code&gt;&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
iface wlan0 inet dhcp
    pre-up ip link set wlan0 up
    wireless-essid &amp;lt;ssid&amp;gt;
    wireless-key s:&amp;lt;mdp&amp;gt;
    wireless-ap any
&lt;/pre&gt;


&lt;p&gt;PS: je n'ai pas eu besoin d'installer le paquet &lt;code&gt;firmware-iwlwifi&lt;/code&gt; pour que ça fonctionne.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.bonz.org/tech/post/2009/09/26/Air-lutins-et-mon-pr%C3%A9cieux#comment-form</comments>
      <wfw:comment>http://www.bonz.org/tech/post/2009/09/26/Air-lutins-et-mon-pr%C3%A9cieux#comment-form</wfw:comment>
      <wfw:commentRss>http://www.bonz.org/tech/feed/atom/comments/489</wfw:commentRss>
      </item>
    
  <item>
    <title>Replacer un fichier dans une ancienne version avec SVN</title>
    <link>http://www.bonz.org/tech/post/2009/06/25/Replacer-un-fichier-dans-une-ancienne-version-avec-SVN</link>
    <guid isPermaLink="false">urn:md5:01ca732e2289e27abd3c6577f4e0ed76</guid>
    <pubDate>Thu, 25 Jun 2009 17:12:00 +0200</pubDate>
    <dc:creator>hr</dc:creator>
        <category>code</category>
            
    <description>&lt;p&gt;Comment faire quand certaines modification qui ont été validées (&lt;code&gt;svn commit&lt;/code&gt;) ne tiennent pas la route pour différentes raisons (bug, performance, ...)? La solution consiste à replacer certains fichiers modifiés dans un état plus ancien pour retrouver la situation souhaitée. Pour ce faire, il faut identifier la révision cible, effacer les fichiers concernés et les remplacer par la version de la révision voulue.&lt;/p&gt;    &lt;p&gt;A partir d'une copie de travail à jour, on vérifie la révision courante&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
$ svn info
Path: .
URL: http://code/svn/t/test/trunk
Repository Root: http://code/svn/t/test
Repository UUID: 4d726b7c-4586-4a21-a23b-c1e54c03d712
Revision: 67
Node Kind: directory
Schedule: normal
Last Changed Author: hr
Last Changed Rev: 51
Last Changed Date: 2009-04-15 17:07:06 +0200 (Wed, 15 Apr 2009)
$ ls
conf  file.txt  script.sh
&lt;/pre&gt;

&lt;p&gt;Dans cet exemple, je dois remettre &lt;code&gt;file.txt&lt;/code&gt; dans un ancien état, je vais chercher dans les logs quelle révision correspond à la version que je cherche.&lt;/p&gt;
&lt;pre&gt;
$ svn log file.txt
[...]
------------------------------------------------------------------------
r48 | hr | 2009-04-15 16:53:05 +0200 (Wed, 15 Apr 2009) | 1 line

* conflict test.
------------------------------------------------------------------------
r24 | hr | 2009-02-16 15:33:23 +0100 (Mon, 16 Feb 2009) | 1 line

* bugfix
------------------------------------------------------------------------
[...]
&lt;/pre&gt;

&lt;p&gt;Dans mon cas, je prends la révision &lt;strong&gt;48&lt;/strong&gt; comme révision cible.&lt;/p&gt;


&lt;p&gt;Je dois maintenant remplacer le fichier &lt;code&gt;file.txt&lt;/code&gt; courant par sa version &lt;code&gt;r48&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;
$ svn rm file.txt
D         file.txt
$ svn copy -r48 http://code/svn/t/test/trunk/file.txt ./file.txt
A         file.txt
$ svn status
R  +   file.txt
&lt;/pre&gt;

&lt;p&gt;La commande &lt;code&gt;svn status&lt;/code&gt; me donne plusieurs informations intéressantes. Le caractère '&lt;code&gt;R&lt;/code&gt;' signifie que je remplace le fichier en question; le caractère '&lt;code&gt;+&lt;/code&gt;' m'indique que je fais une copie de l'historique avec celle du fichier.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;ATTENTION&lt;/strong&gt;: nous sommes bien avec une version de subversion etch (&lt;code&gt;version 1.4.2 (r22196)&lt;/code&gt;), les versions plus récentes acceptent une syntaxe différente&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
$ svn copy http://code/svn/t/test/trunk/file.txt@48 ./file.txt
&lt;/pre&gt;

&lt;p&gt;Je vais maintenant publier cette modification au niveau du serveur avec un message de log clair.&lt;/p&gt;
&lt;pre&gt;
$ svn ci -m &amp;quot;* reverting file.txt to r48.&amp;quot; file.txt
Replacing      file.txt

Committed revision 68.
$ svn log file.txt
------------------------------------------------------------------------
r68 | hr | 2009-06-25 17:11:16 +0200 (Thu, 25 Jun 2009) | 1 line

* reverting file.txt to r48.
------------------------------------------------------------------------
r48 | hr | 2009-04-15 16:53:05 +0200 (Wed, 15 Apr 2009) | 1 line

* conflict test.
------------------------------------------------------------------------
[...]
&lt;/pre&gt;

&lt;p&gt;Et voilà, l'historique a bien été copié et mon message de log est clair.&lt;/p&gt;


&lt;p&gt;Pour remettre tout un projet dans un état ancien, &lt;code&gt;svn merge&lt;/code&gt; est plus conseillé, ça fera peut-être l'objet d'un autre billet.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Le bouquetin intrépide encorne l'usb</title>
    <link>http://www.bonz.org/tech/post/2009/03/08/Le-bouquetin-intrepide-encorne-lusb</link>
    <guid isPermaLink="false">urn:md5:a7c52bf912701428aca653f88b0645c2</guid>
    <pubDate>Sun, 08 Mar 2009 18:48:00 +0100</pubDate>
    <dc:creator>hr</dc:creator>
        <category>système</category>
        <category>8.10</category><category>ibex</category><category>syslinux</category><category>ubuntu</category><category>usb</category>    
    <description>    &lt;p&gt;Ayant récemment installé une debian sur mon nouveau &lt;a href=&quot;http://www.bonz.org/tech/post/2009/02/06/Ho-hai-I-haz-a-shiny-lappy&quot; hreflang=&quot;fr&quot;&gt;portable&lt;/a&gt;, je me suis demandé si la méthode fonctionnerait aussi bien avec la dernière version d'ubuntu (intrepid ibex). Et bien c'est juste la même chose ::)&lt;/p&gt;


&lt;p&gt;J'ai utilisé les liens suivants pour les différents fichiers&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ftp://ftp.oleane.net/ubuntu/dists/intrepid/main/installer-i386/current/images/netboot/ubuntu-installer/i386/initrd.gz&lt;/li&gt;
&lt;li&gt;ftp://ftp.oleane.net/ubuntu/dists/intrepid/main/installer-i386/current/images/netboot/ubuntu-installer/i386/linux&lt;/li&gt;
&lt;li&gt;ftp://ftp.oleane.net/ubuntu-cd/intrepid/ubuntu-8.10-desktop-i386.iso&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Et c'est parti, même pas besoin de modifier les points de montage en fin d'installation puisqu'ibex utilise les &lt;a href=&quot;http://doc.ubuntu-fr.org/uuid_et_label&quot; hreflang=&quot;fr&quot;&gt;UUIDs&lt;/a&gt; de disque dans &lt;code&gt;fstab&lt;/code&gt; et &lt;code&gt;menu.lst&lt;/code&gt;.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Et tu as une carte de visite ?</title>
    <link>http://www.bonz.org/tech/post/2009/03/04/Et-tu-as-une-carte-de-visite</link>
    <guid isPermaLink="false">urn:md5:3ec730bec276503fcdc76fbce56d1199</guid>
    <pubDate>Wed, 04 Mar 2009 16:17:00 +0100</pubDate>
    <dc:creator>hr</dc:creator>
        <category>système</category>
        <category>debian</category><category>etch</category><category>etchnhalf</category><category>grub</category><category>v2.6</category>    
    <description>    &lt;p&gt;Aujourd'hui en passant le noyau d'une etch en &quot;etchnhalf&quot;, je me suis retrouvé face à un problème lors du démarrage. Mon &lt;code&gt;grub(8)&lt;/code&gt; ralait avec un message concernant une signature&amp;nbsp;: &lt;code&gt;Setup signature not found.&lt;/code&gt;. Impossible de faire démarrer la machine sur ce nouveau noyau.&lt;br /&gt;
A tout hasard, je me suis dit que reconstruire l'environnement de grub ne pouvait pas être un mal&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
# grub-install /dev/sda
[...]
# update-grub
[...]
&lt;/pre&gt;

&lt;p&gt;Et voilà, tout est rêglé, ce n'est pas très technique ou une solution de haut vol mais ça devrait pouvoir servir à google ::)
ps: On peut lire &lt;a href=&quot;http://kerneltrap.org/mailarchive/linux-kernel/2007/8/2/154556&quot; hreflang=&quot;en&quot;&gt;ici&lt;/a&gt; plus de détails sur ce problème.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Car le debug = bien</title>
    <link>http://www.bonz.org/tech/post/2009/02/19/Car-le-debug-bien</link>
    <guid isPermaLink="false">urn:md5:54c8dedaa33c955548262830ac8d03cc</guid>
    <pubDate>Thu, 19 Feb 2009 14:16:00 +0100</pubDate>
    <dc:creator>hr</dc:creator>
        <category>administration</category>
        <category>apt</category><category>apt-get</category><category>debian</category><category>dpkg</category>    
    <description>    &lt;p&gt;Parce que debian est aussi &quot;&lt;a href=&quot;http://wiki.netbsd.se/jihbed&quot; hreflang=&quot;en&quot;&gt;very jihbed&lt;/a&gt;&quot; il y a toujours un moyen plus ou moins simple pour régler les problèmes rencontrés. Aujourd'hui, je vous propose de procéder au débogage de l'installation d'un paquet debian avec &lt;code&gt;apt-get(8)&lt;/code&gt;. Quand on utilise &lt;code&gt;apt-get(8)&lt;/code&gt;, l'installation du paquet sur la machine est faite par &lt;code&gt;dpkg(1)&lt;/code&gt;. Il est possible de passer des options de débogage à &lt;code&gt;dpkg(1)&lt;/code&gt;, c'est ce principe que j'ai utilisé.&lt;/p&gt;
&lt;pre&gt;
$ dpkg -Dh
dpkg option de débogage, --debug=&amp;lt;octal&amp;gt; ou -D&amp;lt;octal :
[...]
# apt-get install -o DPKg::options::=&amp;quot;-D12&amp;quot; package
[...]
D000010: ensure_pathname_nonexisting `/var/lib/dpkg/tmp.ci'
[...]
&lt;/pre&gt;

&lt;p&gt;A partir de là il suffit de personnaliser la valeur de débogue passé à dpkg sur la base des informations données par la commande &quot;&lt;code&gt;dpkg -Dh&lt;/code&gt;&quot;.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Air lutins in da wildz</title>
    <link>http://www.bonz.org/tech/post/2009/02/16/Air-lutins-in-da-wildz</link>
    <guid isPermaLink="false">urn:md5:ad9eeff23d5b891e1fdcec7cf835708a</guid>
    <pubDate>Mon, 16 Feb 2009 01:42:00 +0100</pubDate>
    <dc:creator>hr</dc:creator>
        <category>administration</category>
        <category>5.0</category><category>debian</category><category>lenny</category><category>psk</category><category>tkip</category><category>wifi</category><category>wpa</category>    
    <description>    &lt;p&gt;Après avoir &lt;a href=&quot;http://www.bonz.org/tech/post/2009/02/06/Ho-hai-I-haz-a-shiny-lappy&quot; hreflang=&quot;fr&quot;&gt;réinstallé mon portable&lt;/a&gt;, il a fallu que je le connecte en WPA PSK/TKIP. Me souvenant de la complexité de &lt;code&gt;wpa_supplicant.conf(5)&lt;/code&gt;, je m'attendais à une tâche compliquée. Au moment de me lancer, je me rends compte que ce n'est pas le cas avec &lt;a href=&quot;http://wiki.debian.org/WPA#head-e8ecc2b1866b11ce5afad3f140605264a2b72407&quot; hreflang=&quot;en&quot;&gt;lenny&lt;/a&gt;. Non, &lt;a href=&quot;http://wiki.debian.org/WiFi/HowToUse#wpa_supplicant&quot; hreflang=&quot;en&quot;&gt;vraiment pas le cas&lt;/a&gt;&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
$ cat /etc/network/interfaces
[...]
auto wlan0
iface wlan0 inet dhcp
    wpa-ssid airlutin
    wpa-psk &amp;quot;I can haz moar teh internet&amp;quot;

# ifup wlan0
&lt;/pre&gt;


&lt;p&gt;WOUAH, vraiment compliqué, tout n'est pas &lt;a href=&quot;http://www.miketaylor.org.uk/tech/wxinmfpl/debian.html&quot; hreflang=&quot;en&quot;&gt;sujet à critique&lt;/a&gt; sur une debian, hein &lt;a href=&quot;http://lost.inoasis.org/&quot; hreflang=&quot;fr&quot;&gt;dzen&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Ho haï, I haz a shiny lappy</title>
    <link>http://www.bonz.org/tech/post/2009/02/06/Ho-hai-I-haz-a-shiny-lappy</link>
    <guid isPermaLink="false">urn:md5:0f8c80cca24e7c9fb187f2799bc755f9</guid>
    <pubDate>Fri, 06 Feb 2009 13:29:00 +0100</pubDate>
    <dc:creator>hr</dc:creator>
        <category>système</category>
        <category>debian</category><category>lenny</category><category>syslinux</category><category>thinkpad</category><category>usb</category><category>x60s</category>    
    <description>&lt;p&gt;Maintenant que j'ai décidé de me débarrasser de &lt;a href=&quot;http://www.bonz.org/tech/post/2009/02/06/Retour-a-la-stabilite-dans-la-bande-de-Gaza&quot;&gt;brokuntu&lt;/a&gt;, il faut que je réinstalle un système sur mon &lt;a href=&quot;http://www.thinkwiki.org/wiki/Category:X61s&quot; hreflang=&quot;en&quot;&gt;portable&lt;/a&gt;. Ayant toujours aimé &lt;a href=&quot;http://www.debian.org/&quot; hreflang=&quot;en&quot;&gt;debian&lt;/a&gt;, mon choix se porte sur une lenny (message à canonical&amp;nbsp;: &quot;Même leurs versions de dev sont stables!!!&quot;). Sans lecteur cd, j'opte pour une installation via clé usb. Et c'est là que se pose un petit problème, impossible de faire démarrer la machine sur une clé usb, la machine s'arrête sur un &quot;Boot Problem&quot; qui ne laisse aucun doute sur le soucis... Je vous livre la solution que j'ai trouvée si, et seulement si, vous lisez la suite (&lt;strong&gt;*cliffanger*&lt;/strong&gt;).&lt;/p&gt;    &lt;p&gt;Il semble que &lt;a href=&quot;http://www.rigadicomando.org/node/58&quot; hreflang=&quot;en&quot;&gt;certains BIOS récent&lt;/a&gt; aient de petits problèmes avec &lt;code&gt;syslinux(1)&lt;/code&gt;, je vais donc détailler ma méthode pour installer une lenny en netinst par une clé usb.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;ATTENTION&lt;/strong&gt;&amp;nbsp;: les manipulations décrites vont détruire toutes les données sur la clé usb.&lt;/p&gt;


&lt;p&gt;Il faut commencer par installer les paquets nécessaires à nos manipulations&amp;nbsp;: &lt;code&gt;syslinux&lt;/code&gt; et &lt;code&gt;dosfstools&lt;/code&gt;.&lt;br /&gt;
Si vous ne connaissez pas le périphérique correspondant à votre clé usb, branchez là dans votre machine puis&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
# dmesg |grep -A 3 -i usb
&lt;/pre&gt;

&lt;p&gt;Cette commande devrait vous permettre de repérer une ligne du type&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
[624258.956080] sd 4:0:0:0: [sdb] 2015231 512-byte hardware sectors (1032 MB)
&lt;/pre&gt;

&lt;p&gt;Ma clé usb est donc reconnue en tant que &lt;code&gt;/dev/sdb&lt;/code&gt;.&lt;/p&gt;


&lt;p&gt;Je vais maintenant utiliser le script &lt;code&gt;&lt;a href=&quot;http://syslinux.zytor.com/doc/usbkey.txt&quot;&gt;mkdiskimage&lt;/a&gt;&lt;/code&gt; pour initialiser ma clé usb comme un support zip. Ce script a besoin d'avoir des éléments (nombre de têtes et de secteurs) de la géométrie de la clé en question.&lt;/p&gt;
&lt;pre&gt;
# fdisk -l /dev/sdb

Disk /dev/sdb: 1031 MB, 1031798272 bytes
32 heads, 62 sectors/track, 1015 cylinders
Units = cylinders of 1984 * 512 = 1015808 bytes
Disk identifier: 0xed9dc743
[...]
# mkdiskimage -4 /dev/sdb 0 32 62
&lt;/pre&gt;

&lt;p&gt;Le script &lt;code&gt;mkdiskimage&lt;/code&gt; peut mettre du temps à s'exécuter, une fois qu'il est terminé, la clé doit avoir une unique partition &lt;code&gt;/dev/sdb4&lt;/code&gt; en FAT16.&lt;/p&gt;


&lt;p&gt;La clé usb est maintenant prête à accepter &lt;a href=&quot;http://www.debian.org/releases/stable/i386/ch04s04.html.fr#usb-copy-flexible&quot; hreflang=&quot;fr&quot;&gt;les fichiers qu'il faut pour la faire démarrer et lancer l'installation&lt;/a&gt;. On installe donc &lt;code&gt;syslinux(1)&lt;/code&gt;, le noyau, le système de fichier de démarrage en RAM et une image de disque d'installation.&lt;/p&gt;
&lt;pre&gt;
# syslinux /dev/sdb4
# mount /dev/sdb4 /mnt/
# cd /mnt
# wget http://ftp2.fr.debian.org/debian/dists/lenny/main/installer-i386/current/images/netboot/debian-installer/i386/initrd.gz
[...]
# wget http://ftp2.fr.debian.org/debian/dists/lenny/main/installer-i386/current/images/netboot/debian-installer/i386/linux
[...]
# cat &amp;lt;&amp;lt;EOF &amp;gt;syslinux.cfg
&amp;gt; default linux
&amp;gt; append initrd=initrd.gz root=/dev/sdb4
&amp;gt; EOF
default linux
append initrd=initrd.gz root=/dev/sdb4
# wget ftp://ftp2.fr.debian.org/debian-cd/4.0_r6/i386/iso-cd/debian-40r6-etchnhalf-i386-netinst.iso
[...]
# cd &amp;amp;&amp;amp; umount /mnt
&lt;/pre&gt;


&lt;p&gt;Et voilà, la clé usb est maintenant prête à être utilisée pour installer la machine par le réseau. Il faut la connecter au portable, appuyer sur &lt;code&gt;F12&lt;/code&gt; pendant le démarrage et la sélectionner.&lt;/p&gt;


&lt;p&gt;&lt;ins&gt;UPDATE&lt;/ins&gt;:
Attention, à la fin de l'installation, je vous déconseille de redémarrer tout de suite. La clé usb est détectée comme &lt;code&gt;/dev/sda&lt;/code&gt; lors de mon installation et mon disque en tant que &lt;code&gt;/dev/sdb&lt;/code&gt;. Un petit passage en console (&lt;code&gt;alt+F2&lt;/code&gt;) doit permettre de modifier les points de montage dans &lt;code&gt;fstab&lt;/code&gt;, &lt;code&gt;crypttab&lt;/code&gt; si besoin et &lt;code&gt;menu.lst&lt;/code&gt;&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
# chroot /target
# vi /etc/fstab
[... remplacer sdb par sda ...]
# vi /etc/crypttab
[... remplacer sdb par sda ...]
# vi /boot/grub/menu.lst
[... remplacer (hd1,0) par (hd0,0) surtout pour la valeur groot= ...]
&lt;/pre&gt;


&lt;p&gt;&lt;strong&gt;I CAN HAZ DEBIAN&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;PS: Bouletcorp&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.bouletcorp.com/blog/archive/20081209.jpg&quot; hreflang=&quot;fr&quot;&gt;La saga des limaces 01&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.bouletcorp.com/blog/archive/20081210.jpg&quot; hreflang=&quot;fr&quot;&gt;La saga des limaces épisode 02&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.bouletcorp.com/blog/archive/20081211.jpg&quot; hreflang=&quot;fr&quot;&gt;La saga des limaces 03&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.bouletcorp.com/blog/archive/20081212.jpg&quot; hreflang=&quot;fr&quot;&gt;La saga des limaces, suite et fin&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Retour à la stabilité dans la bande de Gaza</title>
    <link>http://www.bonz.org/tech/post/2009/02/06/Retour-a-la-stabilite-dans-la-bande-de-Gaza</link>
    <guid isPermaLink="false">urn:md5:6b6985b2e25cf0e0f871693290de88b7</guid>
    <pubDate>Fri, 06 Feb 2009 12:11:00 +0100</pubDate>
    <dc:creator>hr</dc:creator>
        <category>memyselfandI</category>
        <category>debian</category><category>hardy</category><category>pulseaudio</category><category>ubuntu</category><category>xfce</category>    
    <description>    &lt;p&gt;Effectivement, après avoir passé plus de quatre ans avec ubuntu (depuis la 4.10) dont trois ans sur mon portable, je rejoins le mouvement &lt;a href=&quot;http://imil.net/wp/?p=245&quot;&gt;dégageuntu&lt;/a&gt; par lassitude. Après un très fort enthousiasme pour cette distribution qui mettait toutes les chapelles libres au même son, c'est déçu que je réinstalle le système de mon portable. Comment ne pas passer pour un con fini quand on pousse le système linux auprès de ses proches, que canonical semble avoir tout compris (&quot;Linux for human beings&quot;) et que le son ne fonctionne même pas correctement de base. Donc merci ubuntu pour l'introduction de pulseaudio (moisiaudio dans les milieux autorisés) et continuez à introduire les toutes dernières fonctions bleading-edge-not-really-stable-but-shiny, je retourne à mes premières amours. C'est parti pour une bonne vieille &lt;a href=&quot;http://www.debian.org/&quot;&gt;debian&lt;/a&gt; et un &lt;a href=&quot;http://www.xfce.org/&quot;&gt;xfce&lt;/a&gt;. Ce billet n'est absolument pas technique mais ce changement va provoquer de nouveaux billets sur l'installation de debian via une clé usb sur mon x61s entre autres.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Git et SVN sont sur un bateau</title>
    <link>http://www.bonz.org/tech/post/2009/02/04/Git-et-SVN-sont-sur-un-bateau</link>
    <guid isPermaLink="false">urn:md5:14ffe5338173bafe00217b889bd8faad</guid>
    <pubDate>Thu, 05 Feb 2009 16:50:00 +0100</pubDate>
    <dc:creator>hr</dc:creator>
        <category>code</category>
        <category>debian</category><category>etch</category><category>git</category><category>svn</category>    
    <description>&lt;p&gt;La découverte de &lt;a href=&quot;http://git-scm.com/&quot;&gt;git&lt;/a&gt; (le site web a changé pour devenir un peu plus web2.l0l) me fait penser à la découverte de linux ou de python. A chaque fois que je lis une nouvelle page de man ou un manuel je découvre une fonction ou un comportement qui me laisse penser que cet outil est très bien conçu. Il est si bien conçu qu'il accepte même de dialoguer avec ses petits amis les plus répandus comme cvs ou svn.&lt;/p&gt;    &lt;p&gt;Lorsqu'on doit travailler sur un projet dont le dépôt est en subversion, on n'a pas forcément envie de perdre ses petites habitudes avec &lt;code&gt;git(1)&lt;/code&gt;. Voici donc une méthode construite sur la base de la page de man (&lt;code&gt;git-svn(1)&lt;/code&gt;) et divers documents sur le net. Je travaille dans un environnement debian &lt;a href=&quot;http://www.debian.org/releases/etch/&quot;&gt;etch&lt;/a&gt; donc certaines commandes &lt;code&gt;git(1)&lt;/code&gt; pourront vous sembler étrange ou obsolète. Pour rappel sur une etch&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
$ git --version
git version 1.4.4.4
&lt;/pre&gt;

&lt;p&gt;Il faut installer les paquets &lt;code&gt;git-core&lt;/code&gt; et &lt;code&gt;git-svn&lt;/code&gt; pour pouvoir procéder à la suite.&lt;br /&gt;
Commençons par créer un environnement git propice à l'accueil d'un projet sous subversion puis importons ce projet.&lt;/p&gt;
&lt;pre&gt;
$ git svn init http://svn.server/project/trunk project
$ cd project
$ git svn fetch
&lt;/pre&gt;

&lt;p&gt;Le &lt;code&gt;fetch&lt;/code&gt; peut prendre un certain temps avec un dépôt subversion distant et un grand nombre de révisions. Il est possible, dans ce cas, de ne récupérer que la dernière version ou un extrait entre deux révisions précisées&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
$ git svn fetch -rREV[:REV]
&lt;/pre&gt;

&lt;p&gt;Dans ce cas, l'historique sera incomplet.&lt;/p&gt;


&lt;p&gt;Une fois l'historique subversion récupéré, un peu de nettoyage dans les objets git s'impose&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
$ git repack -d
&lt;/pre&gt;


&lt;p&gt;Les fichiers ne sont pas visibles sur le disque à cet instant, il y a deux alternatives pour les faire apparaitre. Soit mettre à jour les sources soit créer une branche&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
$ git svn rebase
ou
$ git checkout -b dev
&lt;/pre&gt;

&lt;p&gt;Je préfère personnellement la création de branche qui me semble plus en phase avec la façon dont git doit être utilisé.&lt;/p&gt;


&lt;p&gt;A partir de là, c'est assez simple, il suffit de faire ses modifs, les publier à grand coups de &lt;code&gt;git commit&lt;/code&gt; et les pousser vers le dépôt subversion grâce à &lt;code&gt;git svn dcommit&lt;/code&gt;.
La mise à jour de la copie locale à partir du serveur subversion se fait grâce à &lt;code&gt;git svn rebase&lt;/code&gt;.&lt;/p&gt;


&lt;p&gt;Malheureusement, la version de git de la etch ne permet pas simplement d'associer des branches git à des branches svn.&lt;/p&gt;


&lt;h2&gt;Références&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;git-svn(1)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;http://kdevelop.org/mediawiki/index.php/KDevelop_4/Using_Git_for_Development&lt;/li&gt;
&lt;li&gt;http://gitready.com/beginner/2009/02/04/converting-from-svn.html&lt;/li&gt;
&lt;li&gt;http://google-opensource.blogspot.com/2008/05/develop-with-git-on-google-code-project.html&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Il me faut un marabout</title>
    <link>http://www.bonz.org/tech/post/2008/12/11/Il-me-faut-un-marabout</link>
    <guid isPermaLink="false">urn:md5:c6b08a4fc20e5df81a034487a5f617bd</guid>
    <pubDate>Thu, 11 Dec 2008 15:03:00 +0100</pubDate>
    <dc:creator>hr</dc:creator>
        <category>code</category>
        <category>git</category>    
    <description>&lt;p&gt;Je viens de tomber sur un os et j'aurais besoin d'un envouteur. Je pense qu'on m'a &lt;a href=&quot;http://git.or.cz/&quot; hreflang=&quot;en&quot;&gt;grigrité&lt;/a&gt; et il va me falloir un checkout complet d'un amourologue pantenté.&lt;/p&gt;    &lt;p&gt;J'aime bien faire le tour des options des nouveaux outils qu'on me met entre les mains, c'est &lt;code&gt;ssh(1)&lt;/code&gt; (openssh) qui m'a appris à faire ça. Récemment c'est &lt;code&gt;git(1)&lt;/code&gt; qui facilite la gestion de code, fait briller les dents dans le noir et permet de voir au ralenti comme dans matrix. Trève de babillages, voici mon fichier de configuration &lt;code&gt;.gitconfig&lt;/code&gt; qui me semble être une bonne base&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
# ~/.gitconfig
# Stefan &amp;quot;hr&amp;quot; Berder &amp;lt;hr@bonz.org&amp;gt;
# my commented git configuration file

# user informations
[user]
    # full name
    name = Stefan &amp;quot;hr&amp;quot; Berder
    # email address
    email = hr@bonz.org

# various command aliases
[alias]
    # create some common aliases used in cvs/svn
    co = checkout
    ci = commit
    d = diff
    rlog = log --pretty=format:\&amp;quot;%h %Cblue%cr%Creset %cn %Cgreen%s%Creset\&amp;quot;

# core configurations
[core]
    # file like .gitignore, I prefer to create a per project .gitignore
    #excludesfile = ~/.gitignore

# color configuration
[color]
    # color git-branch output
    branch = auto
    # color git-diff if possible
    diff = auto
    # color git-status output
    status = auto

# colors for branch command
[color &amp;quot;branch&amp;quot;]
    current = blue bold
    local = yellow
    remote = cyan
    # other refs
    #plain = 

# colors for diff command
[color &amp;quot;diff&amp;quot;]
    # informations on the diff (files, index)
    meta = yellow
    # hunk header
    frag = cyan
    # removed lines
    old = red bold
    # added lines
    new = green bold
    # highlighting whitespace errors
    whitespace = red bold

# colors for status command
[color &amp;quot;status&amp;quot;]
    header = blue
    added = green
    changed = red
    untracked = yellow

[status]
    relativePaths = true
&lt;/pre&gt;

&lt;p&gt;Il faut noter que la couleur ne fonctionnera pas par défaut avec toutes les versions de &lt;code&gt;git(1)&lt;/code&gt;. L'utilisation des couleurs par défaut existe depuis la version 1.5. Avec une version plus ancienne il faut utiliser l'argument &lt;code&gt;--color&lt;/code&gt; avec la commande diff ou log par exemple.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Weeeeeeeeeeeeeeeeeeeeeeeeee dans une boite</title>
    <link>http://www.bonz.org/tech/post/2008/10/23/Weeeeeeeeeeeeeeeeeeeeeeeeee-dans-une-boite</link>
    <guid isPermaLink="false">urn:md5:f61f122e65d9309bd5ed171c09bec43d</guid>
    <pubDate>Mon, 10 Nov 2008 01:41:00 +0100</pubDate>
    <dc:creator>hr</dc:creator>
        <category>hardware</category>
        <category>8.10</category><category>asus</category><category>eee</category><category>ibex</category><category>ralink</category><category>ubuntu</category>    
    <description>&lt;p&gt;&lt;img src=&quot;http://www.bonz.org/tech/public/tech/.asus_eee_box_black_t.jpg&quot; alt=&quot;ASUS eee box black&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;
Ayant besoin d'une petite machine consommant peu, je me suis tourné vers la &lt;a href=&quot;http://www.asus.com/products.aspx?l1=24&amp;amp;l2=165&amp;amp;l3=0&amp;amp;l4=0&amp;amp;model=2289&amp;amp;modelmenu=1&quot; hreflang=&quot;en&quot;&gt;EEE box&lt;/a&gt;. Seul problème rencontré, le magasin dans lequel j'ai acheté cette machine ne vend que la version windows. Petite marche à suivre pour faire passer ce formidable matériel sur un système plus compatible avec mes convictions.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&lt;ins&gt;Attention&lt;/ins&gt;&lt;/strong&gt;&amp;nbsp;: je ne garderai pas le système windows, ce qui implique également la perte de l'Express Gate ASUS. Il faut donc désactiver cette option dans le bios &lt;code&gt;Tools &amp;gt; Express Gate &amp;gt; Disabled&lt;/code&gt;. Sauver la modification avec la touche F10.&lt;/p&gt;


&lt;p&gt;La méthode que j'utilise est longue mais a l'avantage de toujours fonctionner. Je présenterai peut-être ultérieurement une méthode plus courte utilisant un fichier &lt;code&gt;boot.img.gz&lt;/code&gt;. Cette méthode m'a posé pas mal de problèmes, je présente donc une méthode plus sure.&lt;/p&gt;


&lt;p&gt;Sur une clé USB formatée en &lt;code&gt;vfat&lt;/code&gt;, il faut signaler la partition comme démarrable. Ça peut être fait grâce à &lt;code&gt;fdisk(8)&lt;/code&gt;, &lt;code&gt;cfdisk(8)&lt;/code&gt; ou &lt;code&gt;parted(8)&lt;/code&gt;. La clé que j'utilise est vue en tant que &lt;code&gt;/dev/sdb&lt;/code&gt; sur mon système.&lt;/p&gt;
&lt;pre&gt;
 $ sudo fdisk -l /dev/sdb

Disk /dev/sdb: 1031 MB, 1031798272 bytes
32 heads, 62 sectors/track, 1015 cylinders
Units = cylinders of 1984 * 512 = 1015808 bytes
Disk identifier: 0x91f72d24

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1        1015     1006849   83  Linux
&lt;/pre&gt;


&lt;p&gt;Pour que la clé agisse réellement comme un medium d'installation, il faut lui installer &lt;code&gt;syslinux(1)&lt;/code&gt;.&lt;/p&gt;
&lt;pre&gt;
$ sudo syslinux /dev/sdb1
&lt;/pre&gt;


&lt;p&gt;Pour assurer l'installation du système, mon choix se porte sur une ubuntu 8.10 (intrepid ibex) fraichement sortie. Pour éviter d'éventuels problèmes graphique, j'utilise la version alternative de l'installeur ubuntu. &lt;br /&gt;
Télécharger l'iso alternative&amp;nbsp;: &lt;a href=&quot;ftp://ftp.oleane.net/ubuntu-cd/8.10/ubuntu-8.10-alternate-i386.iso&quot;&gt;ftp://ftp.oleane.net/ubuntu-cd/8.10/ubuntu-8.10-alternate-i386.iso&lt;/a&gt;&lt;br /&gt;
Il faut récupérer certaines informations sur l'image, une fois montée en local, aucun problème. Le contenu du répertoire &lt;code&gt;isolinux/&lt;/code&gt; du cd d'installation est copié à la racine de la clé usb.&lt;/p&gt;
&lt;pre&gt;
$ sudo mount -o loop ubuntu-8.10-alternate-i386.iso /mnt/
$ cp /mnt/isolinux/* /media/disk/
$ mv /media/disk/isolinux.cfg /media/disk/syslinux.cfg
&lt;/pre&gt;


&lt;p&gt;On place ensuite sur la clé usb une image de noyau et un ramdisk pour l'installation dans un répertoire &lt;code&gt;install/&lt;/code&gt;.&lt;/p&gt;
&lt;pre&gt;
mkdir /media/disk/install
cd /media/disk/install
wget ftp://ftp.oleane.net/ubuntu/dists/intrepid/main/installer-i386/current/images/hd-media/initrd.gz
wget ftp://ftp.oleane.net/ubuntu/dists/intrepid/main/installer-i386/current/images/hd-media/vmlinuz
&lt;/pre&gt;


&lt;p&gt;L'image d'installation doit également être placée sur la clé.&lt;/p&gt;
&lt;pre&gt;
sudo umount /mnt/
cp ~/src/ubuntu-8.10-alternate-i386.iso /media/disk/
&lt;/pre&gt;


&lt;p&gt;La clé est maintenant prête à être utilisée pour installer l'EEE box. Au démarrage, le disque utilisé pour le démarrage peut être choisi en appuyant sur F8 lors des tests POST du bios. En choisissant la clé USB, l'installation devrait se lancer.&lt;/p&gt;


&lt;p&gt;Et voilà, cette petite bécane est installée. Attention toutefois, le wifi ne fonctionne pas nativement, le pilote ralink de cette carte n'est pas encore intégré au noyau à l'heure où j'ai testé ibex. J'ai dans l'idée de faire un paquet rt2860-source (probablement un portage du paquet debian qui existe en sid) pour palier ce problème.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Salut le petit soldat en plastique</title>
    <link>http://www.bonz.org/tech/post/2008/11/03/Salut-le-petit-soldat-en-plastique</link>
    <guid isPermaLink="false">urn:md5:fe7c9c9b3e099e1072e6d5f88dc89f5e</guid>
    <pubDate>Mon, 03 Nov 2008 12:45:00 +0100</pubDate>
    <dc:creator>hr</dc:creator>
        <category>actualité</category>
        <category>3.1</category><category>archive</category><category>debian</category><category>eol</category><category>sarge</category>    
    <description>    &lt;p&gt;On dit au revoir à la &lt;a href=&quot;http://www.debian.org/releases/sarge/&quot; hreflang=&quot;en&quot;&gt;sarge&lt;/a&gt; qui est passée la semaine dernière en archive.&lt;br /&gt;
Pour trouver les paquets de sarge, il faut donc maintenant se tourner vers&amp;nbsp;: &lt;code&gt;{http,ftp}://archive.debian.org/&lt;/code&gt;. Le miroir oleane a également été mis à jour, l'accès se fait par&amp;nbsp;: &lt;code&gt;{http|ftp}://ftp2.fr.debian.org/pub/debian-archive/&lt;/code&gt;.&lt;br /&gt;
Il ne reste donc plus que &lt;a href=&quot;http://www.debian.org/releases/etch/&quot; hreflang=&quot;en&quot;&gt;etch&lt;/a&gt; en stable, en attendant &lt;a href=&quot;http://www.debian.org/releases/lenny/&quot; hreflang=&quot;en&quot;&gt;lenny&lt;/a&gt; qui devrait &lt;a href=&quot;http://release.debian.org/lenny/arch_qualify.html&quot; hreflang=&quot;en&quot;&gt;bientôt&lt;/a&gt; passer de &lt;a href=&quot;http://release.debian.org/&quot; hreflang=&quot;en&quot;&gt;testing en stable&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Vient du latin subvertere</title>
    <link>http://www.bonz.org/tech/post/2008/10/22/Vient-du-latin-subvertere</link>
    <guid isPermaLink="false">urn:md5:fe3fc512d4ff50291ab60df7ff895128</guid>
    <pubDate>Wed, 22 Oct 2008 17:28:00 +0200</pubDate>
    <dc:creator>hr</dc:creator>
        <category>administration</category>
        <category>debian</category><category>etch</category><category>subversion</category><category>svn</category>    
    <description>&lt;p&gt;Lorsqu'on souhaite fournir un projet à la communauté, on doit se poser la question du &lt;a href=&quot;http://fr.wikipedia.org/wiki/VCS&quot; hreflang=&quot;fr&quot;&gt;gestionnaire de version&lt;/a&gt;. Il me semble indispensable d'utiliser un tel outil si d'autres personnes viennent à participer au projet. Je vous présente ici une solution rapide de serveur &lt;a href=&quot;http://subversion.tigris.org/&quot; hreflang=&quot;en&quot;&gt;subversion&lt;/a&gt; avec accès &lt;code&gt;svnserve&lt;/code&gt; sur une debian. Oui, ce post n'est pas drôle, on ne rigole pas avec les VCS, merde&amp;nbsp;!&lt;/p&gt;    &lt;p&gt;Il faut bien évidemment commencer par installer les outils nécessaire à l'utilisation de subversion.&lt;/p&gt;
&lt;pre&gt;
# apt-get install subversion
&lt;/pre&gt;


&lt;p&gt;J'ai choisis de créer un utilisateur système dédié aux opérations svn. Cet utilisateur est très subtilement appelé '&lt;code&gt;svn&lt;/code&gt;' et la racine des données subversion se trouve dans &lt;code&gt;/var/lib/svn&lt;/code&gt;&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
# addgroup --system svn
# adduser --system --disabled-login --ingroup svn --no-create-home --home /var/lib/svn --gecos &amp;quot;subversion&amp;quot; --shell /bin/false svn
# mkdir /var/lib/svn
# chown svn:svn /var/lib/svn
# chmod 755 /var/lib/svn
&lt;/pre&gt;


&lt;p&gt;Le serveur d'accès est &lt;code&gt;svnserve&lt;/code&gt;. Attention, c'est le choix le plus simple à mettre en place mais il souffre de sérieux &lt;a href=&quot;http://svnbook.red-bean.com/en/1.5/svn.serverconfig.choosing.html&quot; hreflang=&quot;en&quot;&gt;handicaps&lt;/a&gt; par rapport aux alternatives. Je préfère limiter l'accès du serveur svn à un répertoire donné pour éviter d'éventuelles fuites.&lt;/p&gt;
&lt;pre&gt;
$ grep svn /etc/services 
svn             3690/tcp        subversion      # Subversion protocol
svn             3690/udp        subversion
$ grep svn /etc/inetd.conf 
svn stream tcp nowait svn /usr/bin/svnserve svnserve -i -r /var/lib/svn
# /etc/init.d/openbsd-inetd restart
&lt;/pre&gt;


&lt;p&gt;Maintenant que nous avons un serveur d'accès, il faut créer des données, c'est un peu le jeu ma pauv' Lucette. Un dépot pour un projet fictif appelé 'project' est un début.&lt;/p&gt;
&lt;pre&gt;
# svnadmin create /var/lib/svn/project
# chown -R svn:svn /var/lib/svn/project
&lt;/pre&gt;


&lt;p&gt;Dans le cas d'un dépôt ayant besoin d'un accès authentifié, il y a deux fichiers à modifier :&lt;br /&gt;
&lt;code&gt;/var/lib/svn/project/conf/conf/svnserve.conf&lt;/code&gt;&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
[general] 
password-db = passwd
realm = project
&lt;/pre&gt;


&lt;p&gt;&lt;code&gt;/var/lib/svn/project/conf/conf/passwd&lt;/code&gt;&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
[users]
user = password
&lt;/pre&gt;


&lt;p&gt;L'environnement est maintenant complètement disponible, on peut essayer de récupérer les sources du projet (vide) et y créer puis publier un fichier.&lt;/p&gt;
&lt;pre&gt;
$ svn co svn://localhost/project
$ cd project
$ touch foo
$ svn add foo
$ svn ci -m 'test' foo
$ svn list
foo
&lt;/pre&gt;

&lt;p&gt;Si tout se passe bien c'est gagné, sinon, il est utile de se pencher sur l'excellent &lt;a href=&quot;http://svnbook.red-bean.com/&quot; hreflang=&quot;en&quot;&gt;livre O'Reilly&lt;/a&gt; traitant du sujet.&lt;/p&gt;


&lt;p&gt;Attention, votre configuration svn est minimale et conviendra pour un petit serveur personnel. Dans le cas d'un projet plus important de gestion de code il faudra probablement se tourner vers un accès webdav grâce à apache (lighttpd ne le supporte pas encore !!) et un système d'authentification plus performant.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Bruce Schneier knows Alice and Bob's shared secret</title>
    <link>http://www.bonz.org/tech/post/2008/08/07/Bruce-Schneier-knows-Alice-and-Bobs-shared-secret</link>
    <guid isPermaLink="false">urn:md5:1813916f63cbeef74f99a2083c01cb43</guid>
    <pubDate>Mon, 13 Oct 2008 14:50:00 +0200</pubDate>
    <dc:creator>hr</dc:creator>
        <category>système</category>
        <category>cryptsetup</category><category>debian</category><category>dedibox</category><category>dedimeule</category><category>dm-crypt</category><category>etch</category><category>linux</category><category>luks</category><category>v2.6</category><category>x86_64</category>    
    <description>&lt;p&gt;Comment faire lorsqu'on souhaite se constituer un petit espace très personnel sur une machine linux. Que faire quand on souhaite que cet espace soit conservé à l'abris des yeux indiscrets. Je vous propose une petite recette simple et efficace. Il suffit d'utiliser des ingrédients que vous trouverez dans votre cuisine !!&lt;/p&gt;    &lt;p&gt;L'environnement système est une debian etch installée en 64bits sur une dedibox. Je vais utiliser le chiffrement de bloc avec &lt;code&gt;&lt;a href=&quot;http://luks.endorphin.org/&quot; hreflang=&quot;en&quot;&gt;LUKS&lt;/a&gt;&lt;/code&gt; utilisant &lt;code&gt;&lt;a href=&quot;http://www.saout.de/misc/dm-crypt/&quot; hreflang=&quot;en&quot;&gt;dm-crypt&lt;/a&gt;&lt;/code&gt;. Nous ne chiffrerons pas la partition racine du système mais bien une partition de données.&lt;/p&gt;


&lt;p&gt;Il faut tout d'abord vérifier qu'on a les outils nécessaires au &lt;a href=&quot;http://fr.wikipedia.org/wiki/M%C3%A9thode_de_chiffrement#.C2.AB_Cryptage_.C2.BB_.3F&quot; hreflang=&quot;fr&quot;&gt;chiffrement&lt;/a&gt; de partition.&lt;/p&gt;
&lt;pre&gt;
# apt-get install cryptsetup dmsetup hashalot
[...]
&lt;/pre&gt;


&lt;p&gt;Maintenant que les outils de base sont installés, on vérifie leur compatibilité avec l'utilisation qu'on souhaite en faire.&lt;/p&gt;
&lt;pre&gt;
# cryptsetup --help
cryptsetup-luks 1.0.5
[...]
# dmsetup targets
zero             v1.0.0
mirror           v1.0.20
snapshot-origin  v1.6.0
snapshot         v1.6.0
crypt            v1.5.0
striped          v1.1.0
linear           v1.0.2
error            v1.0.1

# cat /proc/crypto | grep name
name         : aes
name         : sha256
name         : sha224
name         : sha1
name         : md5
&lt;/pre&gt;

&lt;p&gt;la commande &lt;code&gt;cryptsetup&lt;/code&gt; installée supporte bien LUKS et le noyau est capable de supporter le chiffrement.&lt;/p&gt;


&lt;p&gt;Pour les architectures supportant le 64bit.&lt;/p&gt;
&lt;pre&gt;
# modprobe aes-x86_64
# cat /proc/crypto
name         : aes
driver       : aes-asm
module       : aes_x86_64
priority     : 200
refcnt       : 1
type         : cipher
blocksize    : 16
min keysize  : 16
max keysize  : 32
[...]
&lt;/pre&gt;

&lt;p&gt;Le module peut-être éventuellement ajouté au fichier &lt;code&gt;/etc/modules&lt;/code&gt;.&lt;/p&gt;


&lt;p&gt;Je dois maintenant créer la partition qui va être chiffrée et la déclarer au système grâce à &lt;code&gt;partprobe&lt;/code&gt;.&lt;/p&gt;
&lt;pre&gt;
# cfdisk /dev/sda
[...]
# apt-get install parted
[...]
# partprobe /dev/sda
&lt;/pre&gt;


&lt;p&gt;Pour chiffrer une partition avec LUKS, il faut la &quot;formater&quot; avec &lt;code&gt;cryptsetup&lt;/code&gt; et ensuite la déclarer au système &quot;&lt;code&gt;device mapper&lt;/code&gt;&quot;. Il est conseillé d'utiliser une phrase de mot de passe complexe.&lt;/p&gt;
&lt;pre&gt;
# cryptsetup luksFormat /dev/sda8

WARNING!
========
This will overwrite data on /dev/sda8 irrevocably.

Are you sure? (Type uppercase yes): YES
Enter LUKS passphrase:
Verify passphrase:
Command successful.
# cryptsetup luksOpen /dev/sda8 data
Enter LUKS passphrase: 
key slot 0 unlocked.
Command successful.
# ls /dev/mapper/
control  data
&lt;/pre&gt;

&lt;p&gt;C'est gagné, la partition est maintenant accessible grâce au chemin &lt;code&gt;/dev/mapper/data&lt;/code&gt;.&lt;/p&gt;


&lt;p&gt;Il faut formater la partition, ici j'utilise &lt;code&gt;ext3&lt;/code&gt;.&lt;/p&gt;
&lt;pre&gt;
# mkfs.ext3 -m 0 /dev/mapper/data
&lt;/pre&gt;

&lt;p&gt;La partition peut maintenant être utilisée par le système.&lt;/p&gt;


&lt;p&gt;Pour assurer le montage de la partition au démarrage, il faut la déclarer dans le fichier &lt;code&gt;/etc/crypttab&lt;/code&gt;. Cette déclaration permet de faire l'ouverture LUKS et la déclaration à &quot;&lt;code&gt;dev mapper&lt;/code&gt;&quot; en une opération. Ensuite &lt;code&gt;/etc/fstab&lt;/code&gt; pourra prendre le relais.&lt;/p&gt;
&lt;pre&gt;
# cat /etc/crypttab
# &amp;lt;target name&amp;gt; &amp;lt;source device&amp;gt;         &amp;lt;key file&amp;gt;      &amp;lt;options&amp;gt;
data    /dev/sda8       none            luks,timeout=1
&lt;/pre&gt;


&lt;p&gt;Ps: Le titre vient des &quot;&lt;a href=&quot;http://geekz.co.uk/schneierfacts/&quot; hreflang=&quot;en&quot;&gt;Bruce Schneier facts&lt;/a&gt;&quot;.&lt;br /&gt;
Ps2: Le formatage de la partition peut également se faire avec un version plus longue de la commande &lt;code&gt;cryptsetup&lt;/code&gt;&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
# cryptsetup --verify-passphrase --verbose --hash=sha256 --cipher=aes-cbc-essiv:sha256 --key-size=256 luksFormat /dev/sda8
[...]
&lt;/pre&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Et si je voulais devenir cuisinier moi aussi ?</title>
    <link>http://www.bonz.org/tech/post/2008/10/13/Et-si-je-voulais-devenir-cuisinier-moi-aussi</link>
    <guid isPermaLink="false">urn:md5:c327653a6a1f983dc368c0b071e74d81</guid>
    <pubDate>Mon, 13 Oct 2008 14:37:00 +0200</pubDate>
    <dc:creator>hr</dc:creator>
        <category>truc</category>
        <category>build</category><category>debian</category><category>etch</category><category>gcc</category><category>libc</category>    
    <description>    &lt;p&gt;Si l'envie vous prenait de cuisiner sur votre système Debian, il y a un package à installer&amp;nbsp;: &lt;code&gt;build-essential&lt;/code&gt;. Ce paquet va, par dépendance, installer les outils principalement utilisés pour la compilation de sources comme un compilateur ou les librairies c standard.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Mais mon surnom c'est plus simple à écrire</title>
    <link>http://www.bonz.org/tech/post/2008/08/07/Mais-mon-surnom-cest-plus-simple-a-ecrire</link>
    <guid isPermaLink="false">urn:md5:0fbf8dc7a5c35806ab168d37df6e6dc3</guid>
    <pubDate>Wed, 08 Oct 2008 15:49:00 +0200</pubDate>
    <dc:creator>hr</dc:creator>
        <category>système</category>
        <category>debian</category><category>dedibox</category><category>nick</category>    
    <description>&lt;p&gt;Si vous faites comme moi partie des gens qui ont un nick/login vraiment court (moins de quatre lettres en fait), vous avez été victime, vous aussi, des contraintes de la dedibox. En effet, le compte utilisateur doit faire entre quatre et vingt caractères. Mon login en fait deux ... maiiiiiiiis la situation n'est pas irrémédiable.&lt;/p&gt;    &lt;p&gt;C'est finalement assez simple, mais globalement dangereux. Si une déconnexion survenait au cours de cette manipulation, le système pourrait devenir inaccessible pour ce compte utilisateur. J'ai l'habitude de ne pas donner d'accès ssh à mon utilisateur &lt;code&gt;root&lt;/code&gt;, donc je m'autodétruis dans un nuage de fumée bleue.&lt;/p&gt;


&lt;p&gt;On commence par passer &lt;code&gt;root&lt;/code&gt;, ensuite il faut modifier les fichiers &lt;code&gt;/etc/shadow&lt;/code&gt;, &lt;code&gt;/etc/passwd&lt;/code&gt; et &lt;code&gt;/etc/group&lt;/code&gt;. Dans les deux premiers fichiers, il suffit de modifier le login à changer en début de ligne. Il doit se trouver une fois dans chaque fichier. Par exemple&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
# cat /etc/shadow
[...]
hrhr:$1$foobar$blihblahbloh:13923:0:99999:7:::
[...]
# cat /etc/passwd
[...]
hrhr:x:1000:1000:hrhr,,,:/home/hrhr:/bin/bash
[...]
&lt;/pre&gt;

&lt;p&gt;Le fichier &lt;code&gt;/etc/group&lt;/code&gt; contient aussi un certain nombre de références à ce login.&lt;/p&gt;
&lt;pre&gt;
# grep hrhr /etc/group
dialout:x:20:hrhr
cdrom:x:24:hrhr
floppy:x:25:hrhr
audio:x:29:hrhr
video:x:44:hrhr
plugdev:x:46:hrhr
hrhr:x:1000:
&lt;/pre&gt;


&lt;p&gt;Ensuite on s'occupe de déplacer le répertoire &lt;code&gt;home&lt;/code&gt; de l'utilisateur. On commence par modifier le chemin du répertoire &lt;code&gt;home&lt;/code&gt; dans &lt;code&gt;/etc/passwd&lt;/code&gt;. Ensuite on déplace le répertoire pour refléter ces changements.&lt;/p&gt;
&lt;pre&gt;
# mv /home/oldnick /home/newnick
&lt;/pre&gt;

&lt;p&gt;Et voualaaaaaaaaaa. A la prochaine connexion, le nouvel utilisateur peut être utilisé.&lt;/p&gt;


&lt;p&gt;&lt;ins&gt;&lt;strong&gt;Update&lt;/strong&gt;&lt;/ins&gt;:
Personnellement, je fais les substitutions à grands coups de &lt;code&gt;:%s/hrhr/hr/gc&lt;/code&gt; dans vim, ce qui me permet de faire plusieurs substitutions par ligne sur tout le fichier. Chaque substitution doit être confirmée.&lt;br /&gt;
On pourrait également utiliser sed&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
sed -i.bak 's/hrhr/hr/g' /etc/group
&lt;/pre&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Des lutins dans les airs sur le Golden Gate</title>
    <link>http://www.bonz.org/tech/post/2008/09/10/Des-lutins-dans-les-airs-sur-le-Golden-Gate</link>
    <guid isPermaLink="false">urn:md5:62851643a8ec6d21681b5c78018c29ac</guid>
    <pubDate>Sat, 20 Sep 2008 12:18:00 +0200</pubDate>
    <dc:creator>hr</dc:creator>
        <category>réseau</category>
        <category>aironet</category><category>cisco</category><category>wifi</category><category>wpa</category>    
    <description>&lt;p&gt;&lt;img src=&quot;http://www.bonz.org/tech/public/tech/aironet_1130ag.jpg&quot; alt=&quot;aitonet 1130ag&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;
A l'occasion de l'&lt;a href=&quot;http://www.eswc.com/document/22.html&quot; hreflang=&quot;en&quot;&gt;ESWC 08&lt;/a&gt; je me suis retrouvé avec un &lt;a href=&quot;http://www.cisco.com/en/US/products/ps6087/index.html&quot; hreflang=&quot;en&quot;&gt;cisco aironet 1130ag&lt;/a&gt; à configurer sur les bras. Il a fallu que je mette rapidement une configuration simple en place. J'ai opté pour du &lt;a href=&quot;http://fr.wikipedia.org/wiki/Wi-Fi_Protected_Access&quot; hreflang=&quot;fr&quot;&gt;WPA-PSK&lt;/a&gt; avec chiffrement &lt;a href=&quot;http://fr.wikipedia.org/wiki/TKIP&quot; hreflang=&quot;fr&quot;&gt;TKIP&lt;/a&gt;, configuration classique. Petit tour de la bête et explications sur le matériel.&lt;/p&gt;    &lt;h2&gt;Matériel&lt;/h2&gt;

&lt;p&gt;La machine a une interface ethernet 100Mb/s et deux controleurs wifi (un controleur 802.1g et un controleur 802.1a). On peut créer jusqu'à 8 SSIDs par controleur wifi et un maximum de 8 VLANs dans la machine. Le point d'accès est administrable et a donc un port console série.&lt;/p&gt;


&lt;h2&gt;Connexion et démarrage de l'ap&lt;/h2&gt;

&lt;p&gt;Pour me connecter, j'ai utilisé un &lt;a href=&quot;http://www.keyspan.com/products/usa19hs/&quot; hreflang=&quot;en&quot;&gt;adaptateur usb/série&lt;/a&gt;, mon &lt;a href=&quot;http://www.thinkwiki.org/wiki/Category:X61s&quot; hreflang=&quot;en&quot;&gt;nouveau jouet&lt;/a&gt; n'ayant pas de port série. Pour obtenir une console série, rien de plus simple. Une fois l'adaptateur usb branché, on peut utiliser &lt;a href=&quot;http://www.gnu.org/software/screen/&quot; hreflang=&quot;en&quot;&gt;screen&lt;/a&gt; pour l'utiliser.&lt;/p&gt;
&lt;pre&gt;
$ screen /dev/ttyUSB0
[...]
Cisco IOS Software, C1130 Software (C1130-K9W7-M), Version 12.3(4)JA, RELEASE SOFTWARE (fc2)
[...]
&lt;/pre&gt;

&lt;p&gt;Pour commencer avec une configuration vierge, &lt;a href=&quot;http://www.cisco.com/en/US/docs/wireless/access_point/12.3_4_JA/configuration/guide/s34frst.html#wp1103218&quot; hreflang=&quot;en&quot;&gt;j'ai appuyé sur le bouton MODE avant de mettre l'ap sous tension&lt;/a&gt;. Du coup, le mot de passe est &lt;code&gt;Cisco&lt;/code&gt;.&lt;/p&gt;


&lt;h2&gt;Configuration de base&lt;/h2&gt;

&lt;p&gt;Je commence par donner une ip fixe à l'&lt;a href=&quot;http://www.cisco.com/univercd/cc/td/doc/product/l3sw/8540/rel_12_0/wx5_11a/config/7cfg8500.htm&quot; hreflang=&quot;en&quot;&gt;interface d'administration&lt;/a&gt; (BVI aka. Bridge-group Virtual Interface)&lt;/p&gt;
&lt;pre&gt;
ap&amp;gt;en
Password: 
ap#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
ap(config)#int bvi1
ap(config-if)#ip address 192.168.1.10 255.255.255.0
ap(config-if)#ip default-gateway 192.168.1.1
&lt;/pre&gt;

&lt;p&gt;A partir de là, l'interface d'administration web est accessible. Je préfère continuer en console, l'interface web est lente et je ne suis jamais sûr de tout ce qui est fait quand je clique sur &lt;code&gt;Apply&lt;/code&gt;.&lt;/p&gt;


&lt;h2&gt;Configuration WPA-PSK&lt;/h2&gt;

&lt;p&gt;Je vais créer un SSID &lt;code&gt;aironet_wpa&lt;/code&gt; avec une clé partagée &lt;code&gt;toto1234&lt;/code&gt; sur l'interface qui fournit du 802.1g. Je fais aussi en sorte que le SSID soit annoncé.&lt;/p&gt;
&lt;pre&gt;
ap(config)#interface Dot11Radio0
ap(config-if)#encryption mode ciphers tkip
ap(config-if)#ssid aironet_wpa
ap(config-if-ssid)#authentication open
ap(config-if-ssid)#authentication key-management wpa
ap(config-if-ssid)#wpa-psk ascii toto1234
ap(config-if-ssid)#guest-mode
ap(config-if-ssid)#no shut
ap(config-if)#
*Mar  1 01:26:17.628: %LINK-5-CHANGED: Interface Dot11Radio0, changed state to reset
*Mar  1 01:26:17.649: %LINK-3-UPDOWN: Interface Dot11Radio0, changed state to up
*Mar  1 01:26:18.649: %LINEPROTO-5-UPDOWN: Line protocol on Interface Dot11Radio0, changed state to up
&lt;/pre&gt;

&lt;p&gt;Ne pas oublier de sauvegarder la configuration en l'état.&lt;/p&gt;
&lt;pre&gt;
ap(config-if)#end
ap#write
Building configuration...
[OK]
&lt;/pre&gt;


&lt;h2&gt;Association et administration&lt;/h2&gt;

&lt;p&gt;Lorsque je sélectionne cet SSID dans mon ubuntu et que je m'y associe, le aironet me prévient en console.&lt;/p&gt;
&lt;pre&gt;
*Mar  1 01:27:56.496: %DOT11-6-ASSOC: Interface Dot11Radio0, Station   000f.ea91.xxxx Associated KEY_MGMT[WPA PSK]
&lt;/pre&gt;


&lt;p&gt;Il est possible d'obtenir des informations sur ce client associé.&lt;/p&gt;
&lt;pre&gt;
ap#sh dot11 associations 000f.ea91.xxxx
Address           : 000f.ea91.41a1     Name             : NONE
IP Address        : 192.168.1.107      Interface        : Dot11Radio 0
Device            : unknown            Software Version : NONE 
CCX Version       : NONE

State             : Assoc              Parent           : self               
SSID              : aironet_wpa        VLAN             : 0
Hops to Infra     : 1                  Association Id   : 12
Clients Associated: 0                  Repeaters associated: 0
Tunnel Address    : 0.0.0.0
Key Mgmt type     : WPA PSK            Encryption       : TKIP
Current Rate      : 54.0               Capability       : WMM ShortHdr ShortSlot
Supported Rates   : 1.0 2.0 5.5 11.0 6.0 9.0 12.0 18.0 24.0 36.0 48.0 54.0
Signal Strength   : -29  dBm           Connected for    : 178 seconds
Signal Quality    : N/A                Activity Timeout : 3 seconds
Power-save        : Off                Last Activity    : 56 seconds ago

Packets Input     : 47                 Packets Output   : 10        
Bytes Input       : 5612               Bytes Output     : 1651      
Duplicates Rcvd   : 0                  Data Retries     : 0         
Decrypt Failed    : 0                  RTS Retries      : 0         
MIC Failed        : 0                  MIC Missing      : 0         
Packets Redirected: 0                  Redirect Filtered: 0         
&lt;/pre&gt;


&lt;p&gt;P.S.: Un carambar à celui qui comprendra la référence du titre.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Aaaaaaaaaaaaaaaaï love americaaaaaaaaaaaaaaaa</title>
    <link>http://www.bonz.org/tech/post/2008/09/14/Aaaaaaaaaaaaaaaai-love-americaaaaaaaaaaaaaaaa</link>
    <guid isPermaLink="false">urn:md5:12a2b9585728d3bfac39b9f201b08e14</guid>
    <pubDate>Sun, 14 Sep 2008 07:41:00 +0200</pubDate>
    <dc:creator>hr</dc:creator>
        <category>système</category>
        <category>accent</category><category>compose</category><category>gnome</category><category>qwerty</category><category>ubuntu</category>    
    <description>    &lt;p&gt;Je viens de m'acheter un &lt;a href=&quot;http://shop.lenovo.com/SEUILibrary/controller/e/web/LenovoPortal/en_US/catalog.workflow:category.details?current-catalog-id=12F0696583E04D86B9B79B0FEC01C087&amp;amp;current-category-id=2D07A76B547E4B28A678EA089EF892A3&quot; hreflang=&quot;en&quot;&gt;X61s&lt;/a&gt; aux US. Problème de taille, le clavier qwerty ne me permet pas de lancer mon 'poï' habituel. L'utilisation d'une touche compose devrait rêgler ce problème. Très simple sur une ubuntu, &lt;code&gt;Système &amp;gt; Préférences &amp;gt; Clavier&lt;/code&gt;, &lt;code&gt;Options d'agencement&lt;/code&gt; et la flèche &lt;code&gt;Position de la touche Compose&lt;/code&gt;.
Personnellement, j'ai choisi la touche windows de gauche qui ne me sert à rien.
Après ça, les caractères accentués et autres sont accessible par une combinaison de touches. En appuyant sur la touche Compose, appuyer sur la touche de l'accent puis la touche du caractère. Par exemple, &lt;code&gt;&amp;lt;touche compose&amp;gt; + ' + e&lt;/code&gt; donnera &quot;é&quot; ou &lt;code&gt;&amp;lt;touche compose&amp;gt; + , + c&lt;/code&gt; donnera &quot;ç&quot;. Une liste de différentes sequences est disponible sur &lt;a href=&quot;http://en.wikipedia.org/wiki/Compose_key&quot; hreflang=&quot;en&quot;&gt;wikipedia&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>On ne comprend pas ce que tu veux dire mon vieux</title>
    <link>http://www.bonz.org/tech/post/2008/07/30/On-ne-comprend-pas-ce-que-tu-veux-dire-mon-vieux</link>
    <guid isPermaLink="false">urn:md5:21793e090635990df8fd37a2ccafa638</guid>
    <pubDate>Wed, 30 Jul 2008 15:06:00 +0200</pubDate>
    <dc:creator>hr</dc:creator>
        <category>hardware</category>
        <category>1280ML</category><category>administration</category><category>areca</category><category>http</category><category>sata</category><category>web</category>    
    <description>&lt;p&gt;C'est con de se retrouver avec des &lt;a href=&quot;http://www.areca.com.tw/products/pcie341.htm&quot; hreflang=&quot;en&quot;&gt;cartes RAID sympathiques&lt;/a&gt; que l'on doit pouvoir administrer en web sans arriver à y accéder. Pourquoi j'ai besoin de faire du http&amp;nbsp;? Tout simplement parce qu'avec la version du firmware installée (1.42) la mise à jour est impossible via DOS ou la CLI.&lt;/p&gt;    &lt;p&gt;Tout semble être correctement configuré dans l'interface de la carte. Dans le menu de la carte&amp;nbsp;: &lt;code&gt;Ethernet Configuration &amp;gt; Local IP Address &amp;gt; 192.168.1.100&lt;/code&gt; et ça devrait rouler. On remarque au passage l'absence totale de configuration de masque de sous-réseau ou de passerelle par défaut. Petite subtilité, si vous voulez utiliser la configuration en ip statique, il faut absolument passer le champ &lt;code&gt;DHCP Function&lt;/code&gt; à &lt;code&gt;Disabled&lt;/code&gt;. Ca peut sembler évident dit comme ça, mais je viens de perdre pas mal de temps pensant que le dhcp ne fonctionnait qu'en état d'origine avec l'ip à &lt;code&gt;0.0.0.0&lt;/code&gt;.&lt;/p&gt;</description>
    
    
    
      </item>
    
</channel>
</rss>