<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>UNIX on iMil.net</title>
    <link>http://imil.net/blog/tags/unix/</link>
    <description>Recent content in UNIX on iMil.net</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 01 May 2025 10:46:48 +0200</lastBuildDate>
    <atom:link href="http://imil.net/blog/tags/unix/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Toying Around With Xv6 X86</title>
      <link>http://imil.net/blog/posts/2025/toying-around-with-xv6-x86/</link>
      <pubDate>Thu, 01 May 2025 10:46:48 +0200</pubDate>
      <guid>http://imil.net/blog/posts/2025/toying-around-with-xv6-x86/</guid>
      <description>&lt;p&gt;From the &lt;a href=&#34;https://github.com/mit-pdos/xv6-public/&#34;&gt;project&amp;rsquo;s Github repository&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;xv6 is a re-implementation of Dennis Ritchie&amp;rsquo;s and Ken Thompson&amp;rsquo;s Unix Version 6 (v6).  xv6 loosely follows the structure and style of v6, but is implemented for a modern x86-based multiprocessor using ANSI C.&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;Having a small footprint and code base, &lt;a href=&#34;https://github.com/mit-pdos/xv6-public/&#34;&gt;xv6&lt;/a&gt; is an excellent tool to deepen in operating systems internals, like boot process, virtual memory setup, basics of a filesystem&amp;hellip;&lt;br&gt;&#xA;The version I tried is the &lt;em&gt;i386&lt;/em&gt; port, but again in the project&amp;rsquo;s repo we can read:&lt;/p&gt;</description>
    </item>
    <item>
      <title>au-to-ma-gic</title>
      <link>http://imil.net/blog/posts/2010/au-to-ma-gic/</link>
      <pubDate>Sat, 13 Feb 2010 01:08:59 +0000</pubDate>
      <guid>http://imil.net/blog/posts/2010/au-to-ma-gic/</guid>
      <description>&lt;p&gt;Au boulot, j&amp;rsquo;ai élu une solution de déploiement à haute teneur en convivialité qui m&amp;rsquo;a été suggérée par &lt;a href=&#34;http://www.rottenbytes.info/&#34;&gt;nico&lt;/a&gt;, j&amp;rsquo;ai nommé &lt;a href=&#34;http://docs.fabfile.org/0.9.0/&#34;&gt;fabric&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Ce soft à l&amp;rsquo;utilisation simplissime permet en un tournemain de réaliser des opérations complexes en masse sur une architecture distante en utilisant le protocole &lt;a href=&#34;http://fr.wikipedia.org/wiki/Secure_Shell&#34;&gt;SSH&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Si la documentation de la plupart des fonctions est clarissime, l&amp;rsquo;une d&amp;rsquo;entre elles, qui pourtant me semblait avoir un fort potentiel loutresque, n&amp;rsquo;était pas très clairement exposée: &lt;code&gt;upload_template&lt;/code&gt;.&#xA;Cette fonction, comme son nom semble l&amp;rsquo;indiquer, permet d&amp;rsquo;envoyer sur un serveur distant un fichier &amp;ldquo;template&amp;rdquo; en ayant préalablement remplacé des variables par le contenu souhaité. Après un peu de lecture du code source de &lt;em&gt;fabric&lt;/em&gt;, la subtilité de son utilisation m&amp;rsquo;est apparue.&lt;/p&gt;</description>
    </item>
    <item>
      <title>split vertical et screen</title>
      <link>http://imil.net/blog/posts/2008/split-vertical-et-screen/</link>
      <pubDate>Fri, 04 Jul 2008 10:28:21 +0000</pubDate>
      <guid>http://imil.net/blog/posts/2008/split-vertical-et-screen/</guid>
      <description>&lt;p&gt;Il y a quelques jours, un collègue m&amp;rsquo;apprenait l&amp;rsquo;existence d&amp;rsquo;un soft basé sur &lt;code&gt;gnome-terminal&lt;/code&gt;, &lt;a href=&#34;http://www.tenshu.net/terminator/&#34;&gt;terminator&lt;/a&gt;, permettant de diviser un terminal horizontalement et verticalement. J&amp;rsquo;en parle sur #gcu, et on me signifie que &lt;code&gt;screen&lt;/code&gt; est capable de splitter verticalement (le split horizontal était implémenté depuis longtemps) dans sa version current, présente dans debian/unstable. Étant d&amp;rsquo;une nature loutresque, je décidais donc d&amp;rsquo;ecrire un &lt;code&gt;screenrc&lt;/code&gt; spécifique qui démarrerait screen en mode splitté avec 4 fenetres (deux en haut, deux en bas). Je m&amp;rsquo;aperçois alors que le &lt;code&gt;man&lt;/code&gt; de &lt;code&gt;screen&lt;/code&gt; ne mentionne nulle part comment spécifier ce comportement dans une conf. C&amp;rsquo;est en fouillant dans le &lt;a href=&#34;http://git.savannah.gnu.org/gitweb/?p=screen.git;a=commitdiff;h=ee51fe58adee19357375b007e0e81e37317773b8&#34;&gt;repository git de screen&lt;/a&gt; que je lis :&lt;/p&gt;</description>
    </item>
    <item>
      <title>Command and conquer</title>
      <link>http://imil.net/blog/posts/2008/command-and-conquer/</link>
      <pubDate>Mon, 21 Jan 2008 21:56:11 +0000</pubDate>
      <guid>http://imil.net/blog/posts/2008/command-and-conquer/</guid>
      <description>&lt;p&gt;Et tant qu&amp;rsquo;on est dans les ssheries, connaissez-vous &lt;code&gt;sshmenu&lt;/code&gt; applet ? J&amp;rsquo;ai découvert ce petit outil à insérer dans une barre gnome voila un an et j&amp;rsquo;en suis devenu fan. Ce dernier vient enfin d&amp;rsquo;arriver dans debian/lenny, et via &lt;a href=&#34;http://sshmenu.sourceforge.net/download/deb_repo.html&#34;&gt;un ajout&lt;/a&gt; dans l&amp;rsquo;apt &lt;code&gt;source-list&lt;/code&gt;, c&amp;rsquo;est également installable sur une ubuntu.&lt;/p&gt;&#xA;&lt;p&gt;Petit screenshot :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;http://imil.net/blog/gfx/sshmenu.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>bounce-bounce-bounce-bounce</title>
      <link>http://imil.net/blog/posts/2008/bounce-bounce-bounce-bounce/</link>
      <pubDate>Mon, 21 Jan 2008 20:33:20 +0000</pubDate>
      <guid>http://imil.net/blog/posts/2008/bounce-bounce-bounce-bounce/</guid>
      <description>&lt;p&gt;Sur zone0, j&amp;rsquo;ai des domUs dont le ssh n&amp;rsquo;est pas accessible depuis Internet. Habituellement, je &lt;code&gt;ssh&lt;/code&gt; sur le dom0 puis rebondis. Et puis je me suis souvenu de &lt;a href=&#34;http://www.gcu.info/1677/2005/11/16/BOUNCE-BOUNCE/&#34;&gt;cette news de Reefab&lt;/a&gt; qui pointait &lt;a href=&#34;http://www.hackinglinuxexposed.com/articles/20040830.html&#34;&gt;une astuce&lt;/a&gt; à base de &lt;code&gt;nc&lt;/code&gt;. Voici une version compactée et un peu modifiée de la doc en question :&lt;/p&gt;&#xA;&lt;p&gt;Sur le client :&lt;/p&gt;&#xA;&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML omitted --&gt;&#xA;&lt;p&gt;&lt;code&gt;nc&lt;/code&gt; devra evidemment etre installé sur le serveur de rebond (ici, le dom0).&#xA;Voici enfin un exemple de &lt;code&gt;.ssh/config&lt;/code&gt; :&lt;/p&gt;</description>
    </item>
    <item>
      <title>Push the playlist on</title>
      <link>http://imil.net/blog/posts/2008/push-the-playlist-on/</link>
      <pubDate>Sat, 05 Jan 2008 13:35:27 +0000</pubDate>
      <guid>http://imil.net/blog/posts/2008/push-the-playlist-on/</guid>
      <description>&lt;p&gt;Ptite magouille.&lt;/p&gt;&#xA;&lt;p&gt;Pour bruler mes CDs audio, j&amp;rsquo;utilise &lt;code&gt;gnomebaker&lt;/code&gt;. Il est pratique, rapide, intuitif, et il fonctionne. Ce dernier est capable d&amp;rsquo;enregistrer des &amp;ldquo;projets&amp;rdquo;, qui correspondent en l&amp;rsquo;occurrence à un fichier XML contenant les informations sur la playlist que vous allez graver.&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;avais pas envie de coder un truc, j&amp;rsquo;ai donc opté pour du scripting de feignant. La première brique s&amp;rsquo;appelle &lt;code&gt;xmlstarlet&lt;/code&gt;, un outil command line qui permet de manipuler du XML. Un petit coup de &lt;code&gt;sed | nl&lt;/code&gt; permettra de mettre un peu d&amp;rsquo;ordre.&#xA;Enfin, Nous ferons appel à &lt;em&gt;ImageMagick&lt;/em&gt; et plus particulièrement &lt;code&gt;convert&lt;/code&gt; pour générer une image avec cette sortie. Ce qui nous donne :&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ce ne sont pas ces dro&amp;#xEF;des que vous recherchez.</title>
      <link>http://imil.net/blog/posts/2007/ce-ne-sont-pas-ces-drodes-que-vous-recherchez/</link>
      <pubDate>Sat, 26 May 2007 21:35:15 +0000</pubDate>
      <guid>http://imil.net/blog/posts/2007/ce-ne-sont-pas-ces-drodes-que-vous-recherchez/</guid>
      <description>&lt;p&gt;Sur mon serveur perso, par définition, y&amp;rsquo;a des trucs perso. De plus, &lt;a href=&#34;http://www.lemonde.fr/web/article/0,1-0@2-651865,36-915090@51-886229,0.html&#34;&gt;à l&amp;rsquo;approche d&amp;rsquo;une société nouvelle&lt;/a&gt;, il n&amp;rsquo;est pas superflu de prendre quelques mesures afin de préserver un semblant d&amp;rsquo;intimité.&#xA;Pour cela, les &lt;a href=&#34;http://wp.netscape.com/eng/security/SSL_2.html&#34;&gt;bons génies de l&amp;rsquo;Internet&lt;/a&gt; on créé, il y a bien longtemps, &lt;a href=&#34;http://fr.wikipedia.org/wiki/SSL&#34;&gt;SSL&lt;/a&gt;.&#xA;Mais voila, il y a d&amp;rsquo;autres trucs et bidules que je souhaite pouvoir exposer en place publique. J&amp;rsquo;entreprend donc de jouer avec les directives de &lt;a href=&#34;http://trac.lighttpd.net/trac/wiki/Docs%3AConfigurationOptions&#34;&gt;lighttpd&lt;/a&gt; pour créer des exclusions et autres redirections.&#xA;Le lien qui eclaire tout, c&amp;rsquo;est &lt;a href=&#34;http://trac.lighttpd.net/trac/wiki/HowToRedirectHttpToHttps&#34;&gt;celui là&lt;/a&gt;. En substance, nous allons rediriger tout ce qui matche &lt;em&gt;mon.host.magique&lt;/em&gt; et faire passer ce traffic en SSL.&#xA;Voici la conf :&lt;/p&gt;</description>
    </item>
    <item>
      <title>merde, j&#39;ai pas de backup...</title>
      <link>http://imil.net/blog/posts/2007/merde-jai-pas-de-backup/</link>
      <pubDate>Sat, 24 Mar 2007 16:28:15 +0000</pubDate>
      <guid>http://imil.net/blog/posts/2007/merde-jai-pas-de-backup/</guid>
      <description>&lt;p&gt;Combien de fois cette phrase a retenti dans vos esprits imprudents ? dans mon esprit imprudent à moi, plein.&#xA;Alors, comme je viens de toper un &lt;a href=&#34;http://www.kimsufi.com/&#34;&gt;kimloli&lt;/a&gt; sur les conseils de mon bouquetin favori, je me suis dit que, pour une fois, j&amp;rsquo;y collerais bien une procedure de backup propre.&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;ai déjà parlé et probablement pasté ici même un petit script gentil qui, grâce au couple &lt;em&gt;rsync / rsyncd&lt;/em&gt;, permettait de rendre cette opération relativement rapide assez simplement. J&amp;rsquo;y ai apporté quelques modifs et enrobé le tout d&amp;rsquo;un chouillat de sécu. Un chouillat j&amp;rsquo;ai dit, trépigne pas spoty.&lt;/p&gt;</description>
    </item>
    <item>
      <title>tin, 23%...</title>
      <link>http://imil.net/blog/posts/2005/tin-23/</link>
      <pubDate>Fri, 04 Nov 2005 11:20:52 +0000</pubDate>
      <guid>http://imil.net/blog/posts/2005/tin-23/</guid>
      <description>&lt;p&gt;Problème :&lt;/p&gt;&#xA;&lt;p&gt;Tu as, sur ta machine chez toi, démarré une application graphique qui n&amp;rsquo;a pas de pendant console et tu es curieux de savoir à combien de poucents en est le&amp;hellip; la&amp;hellip; COMPILATION. Ta machine est bien evidemment située derrière une gate quelconque dont la seule particularité est de disposer d&amp;rsquo;un access ssh accessible.&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;Damn foukine shit&amp;rdquo;, te dis-tu, &amp;ldquo;Ca va etre une tannée pas croyable&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;Que nenni&lt;/p&gt;&#xA;&lt;p&gt;Solution (qui suppose que tu as un VNC server qui tourne sur ta workstation) :&lt;/p&gt;</description>
    </item>
    <item>
      <title>local</title>
      <link>http://imil.net/blog/posts/2005/local/</link>
      <pubDate>Fri, 28 Oct 2005 12:38:03 +0000</pubDate>
      <guid>http://imil.net/blog/posts/2005/local/</guid>
      <description>&lt;p&gt;&lt;strong&gt;update&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Non seulement ce qui est ecrit ci dessous est faux mais en plus ca ne marche absolument pas.&#xA;En réalité il suffisait de spécifier à la classe w de chercher tous les attributs sendmailMTAClassName=w dans l&amp;rsquo;arbre, soit :&#xA;&lt;code&gt; define(&lt;/code&gt;confCW_FILE&amp;rsquo;, &lt;code&gt;@ldap: -k sendmailMTAClassName=w -v sendmailMTACLassValue&#39;) &lt;/code&gt;&#xA;dans le fichier .mc&lt;/p&gt;&#xA;&lt;p&gt;C&amp;rsquo;est pris à la volée et ca marche impeccablement bien.&lt;/p&gt;&#xA;&lt;p&gt;P&amp;rsquo;tit tip en passant, pour verifier tes local-host-names :&#xA;&lt;code&gt;echo &#39;$=w&#39; | sendmail -bt&lt;/code&gt;&#xA;&lt;!-- raw HTML omitted --&gt;&#xA;Je me demandais pourquoi donc après avoir ajouté des hosts dans la classe sendmailMTAClassName=w (équivalent de local-host-names), les mails à destination de ces derniers étaient refusés / non relayés si je ne restartais pas sendmail. En fait, et c&amp;rsquo;est très ennuyeux, il faut effectivement restarter sendmail pour que la classe w soit reloadée. MAIS ASTUCE ! je viens également d&amp;rsquo;apprendre &lt;a href=&#34;http://www.ofb.net/~jheiss/sendmail/proxy.shtml&#34;&gt;ici&lt;/a&gt; qu&amp;rsquo;on peut  elegamment remplacer le fichier classique des domaines locaux par une entrée dans la mailertable et dans l&amp;rsquo;access.db pour authoriser son relay. En LDAP ca nous donne :&#xA;`&lt;/p&gt;</description>
    </item>
    <item>
      <title>procmail, mon ami pour la vie</title>
      <link>http://imil.net/blog/posts/2005/procmail-mon-ami-pour-la-vie/</link>
      <pubDate>Mon, 24 Oct 2005 23:01:58 +0000</pubDate>
      <guid>http://imil.net/blog/posts/2005/procmail-mon-ami-pour-la-vie/</guid>
      <description>&lt;p&gt;Voila quelques temps que je demandais comment automatiser le provisionning de mes users virtuels sachant que je veux utiliser le format maildir pour stocker les mails. Original: la solution s&amp;rsquo;appelle procmail. Je n&amp;rsquo;en savais rien et pourtant procmail propose le format maildir depuis belle lurette semble-t-il. Voici un petit procmailrc qui crée automatiquement le home du user ainsi que son repository maildir, une petite astuce est nécessaire pour délivrer effectivement le premier mail reçu :&#xA;`&#xA;[~] cat /usr/local/etc/procmailrc&#xA;DROPPRIVS=yes&lt;/p&gt;</description>
    </item>
    <item>
      <title>back me up</title>
      <link>http://imil.net/blog/posts/2005/back-me-up/</link>
      <pubDate>Sun, 23 Oct 2005 12:33:52 +0000</pubDate>
      <guid>http://imil.net/blog/posts/2005/back-me-up/</guid>
      <description>&lt;p&gt;Qui dit redondance dit backup, hormis la réplication LDAP dont je parlerai certainement un de ces 4, voici la méthode, simplissime, que j&amp;rsquo;utilise pour pas loser mes confs :&#xA;`&lt;/p&gt;&#xA;&lt;h1 id=&#34;adduser&#34;&gt;adduser&lt;/h1&gt;&#xA;&lt;p&gt;[&amp;hellip;]&#xA;Username   : bkp&#xA;Password   : &lt;!-- raw HTML omitted --&gt;&#xA;Full Name  : backup&#xA;Uid        : 1017&#xA;Class      :&#xA;Groups     : wheel&#xA;Home       : /home/bkp&#xA;Shell      : /bin/sh&#xA;Locked     : no&lt;/p&gt;&#xA;&lt;h1 id=&#34;su---bkp&#34;&gt;su - bkp&lt;/h1&gt;&#xA;&lt;p&gt;$ cat &amp;gt; bkp.sh&#xA;#!/bin/sh&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
