<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Gregory Colpart's blog &#187; Evolix</title>
	<atom:link href="http://gcolpart.evolix.net/blog21/category/evolix/feed/" rel="self" type="application/rss+xml" />
	<link>http://gcolpart.evolix.net/blog21</link>
	<description>Labor omnia vincit improbus</description>
	<lastBuildDate>Sun, 24 Jan 2010 18:05:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Autres exemples de migration Etch-&gt;Lenny [1]</title>
		<link>http://gcolpart.evolix.net/blog21/autres-exemples-de-migration-etch-lenny-1/</link>
		<comments>http://gcolpart.evolix.net/blog21/autres-exemples-de-migration-etch-lenny-1/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 18:05:52 +0000</pubDate>
		<dc:creator>Gregory Colpart</dc:creator>
				<category><![CDATA[Debian-fr]]></category>
		<category><![CDATA[Evolix]]></category>
		<category><![CDATA[french]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[lenny]]></category>
		<category><![CDATA[migration]]></category>

		<guid isPermaLink="false">http://gcolpart.evolix.net/blog21/?p=302</guid>
		<description><![CDATA[La fin du support officiel de Debian Etch approchant, il est grand temps de migrer vers Lenny pour les machines pas encore à jour. Après un premier exemple de migration Debian Etch-&#62;Lenny, je poursuis la série avec des informations tirées de plusieurs migrations récentes sur des serveurs en production.
Je ne rappellerais pas toutes les précautions [...]]]></description>
			<content:encoded><![CDATA[<p>La <a href="http://www.debian.org/News/2010/20100121">fin du support officiel de Debian Etch approchant</a>, il est grand temps de migrer vers Lenny pour les machines pas encore à jour. Après un <a href="http://gcolpart.evolix.net/blog21/un-exemple-de-migration-debian-etch-lenny-0/">premier exemple de migration Debian Etch-&gt;Lenny</a>, je poursuis la série avec des informations tirées de plusieurs migrations récentes sur des serveurs en production.</p>
<p>Je ne rappellerais <strong>pas</strong> toutes les précautions nécessaires (tests préalables, sauvegardes, désactivations des services, etc.) ni la classique question  sur  &#8220;quand faut-il migrer ?&#8221;, vous trouverez tout cela dans <a href="http://gcolpart.evolix.net/blog21/?s=migration+etch">mes exemples précédents</a>. Je rappelle simplement l&#8217;idée de base : prendre les précieuses <a href="http://www.debian.org/releases/stable/releasenotes">Release Notes</a>, mettre à jour le fichier <em>sources.list</em>, puis exécuter les commandes <em>aptitude update &amp;&amp; aptitude upgrade</em>x, puis mettre-à-jour les services les plus critiques via <em>aptitude install &lt;PACKAGE&gt;</em>, et enfin <em>aptitude dist-upgrade &amp;&amp; aptitude dist-upgrade</em> (répéter <em>dist-upgrade</em> est souvent nécessaire).</p>
<p>Passons désormais aux différentes remarques sur ces migrations :</p>
<p>- PostgreSQL : on passe de la version 8.1 à 8.3. Notez qu&#8217;il s&#8217;agit de paquets différents, il est donc possible de garder la version 8.1 en Etch, et d&#8217;installer en parallèle la version 8.3, afin de faciliter encore plus la migration. Pour migrer les données, on réalisera un dump avec <em>pg_dumpall </em>qui sera réinjecté dans la nouvelle base. On pourra ensuite adapter le port dans <em>postgresql.conf</em> pour passer la version 8.3 en production.</p>
<p>- phpPgAdmin : avec PostgreSQL 8.3, on ne peut plus se connecter à la table <em>template1</em> : c&#8217;est le comportement par défaut de phpPgAdmin, qu&#8217;on devra donc modifier en mettant postgres à la place (pour la variable <em>$conf['servers'][0]['defaultdb']</em> dans le fichier <em>config.inc.php</em>)</p>
<p>- Apache : la configuration de l&#8217;alias <em>/icons/</em> est déplacé dans le fichier <em>mods-available/alias.conf</em>, il peut donc faire doublon avec la déclaration dans <em>apache2.conf</em>, ce qui sera signalé via le warning suivant : <em>[warn] The Alias directive in /etc/apache2/apache2.conf at line 240 will probably never match because it overlaps an earlier Alias</em>. Commenter les directives dans le fichier <em>apache2.conf</em> résoudra ce petit soucis.</p>
<p>- OpenLDAP : on passe d&#8217;une version 2.3 à 2.4, mais le plus marquant pour la migration est que cela force le processus à tourner avec un utilisateur/groupe dédié. Pour diverses raisons (<em>dist-upgrade</em> interrompu par exemple), on pourra rencontrer des soucis plus ou moins alarmants. Ainsi, j&#8217;ai pu rencontrer cette erreur :<br />
<em> bdb(dc=example,dc=com): PANIC: fatal region error detected; run recovery<br />
bdb_db_open: database &#8220;dc=example,dc=com&#8221; cannot be opened, err -30978. Restore from backup!<br />
backend_startup_one: bi_db_open failed! (-30978)<br />
slap_startup failed<br />
</em>On veillera donc sur l&#8217;utilisateur/groupe propriétaire des fichiers dans le répertoire <em>/var/lib/ldap</em> et, au besoin, on ajustera : <em>chown -R openldap:openldap /var/lib/ldap/<br />
</em>Mon conseil : mettre-à-jour le paquet <em>slapd</em> de façon spécifique avant le <em>dist-upgrade</em></p>
<p>- Postfix : on passe de 2.3 à 2.5. On notera simplement la valeur par défaut de <em>$smtp_line_length_limit characters</em> qui passe à 990, ce qui coupe les lignes trop longues pour se conformer au standard SMTP. Si cela posait problème, on pourrait revenir à l&#8217;ancien comportement en positionnant <em>smtp_line_length_limit=0</em></p>
<p>- SpamAssassin : l&#8217;utilisant en stockant la configuration des utilisateurs dans un annuaire LDAP, le daemon spamd s&#8217;est mis à râler : <em>cannot use &#8211;ldap-config without -u</em><br />
Le problème sera résolu en ajoutant l&#8217;option <em>-u nobody</em>, ce qui fera tourner spamd en tant que nobody (ce qui n&#8217;est pas une mauvaise chose, au contraire).</p>
<p>- Amavis : apparemment, lors de la détection d&#8217;un virus, le code retourné n&#8217;est plus 2.7.1 mais 2.7.0 : <em>2.7.0 Ok, discarded, id=13735-07 &#8211; VIRUS: Eicar-Test-Signature</em><br />
Rien de bien grave, mais cela a nécessité d&#8217;adapter un plugin Nagios pour qu&#8217;il attende le bon code de retour.</p>
<p>- Courier-imapd-ssl : après une mise-à-jour gardant mon fichier <em>/etc/courier/imapd-ssl</em> actuel, j&#8217;obtenai des erreurs avec certains clients IMAP :<br />
<em> couriertls: accept: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number</em><br />
En regardant de plus près, certaines directives changent dans ce fichier de configuration, et il est donc conseillé de repartir du fichier proposé par Lenny, et d&#8217;y apporter ses modifications (souvent, cela se limite à préciser le certificat).</p>
<p>- Horde : si vous utilisez une base de données pour stocker les paramètres ou autres, la paquet <em>php-db</em> (déjà en Recommends: en Etch) est d&#8217;autant plus nécessaire, sous peine d&#8217;obtenir l&#8217;erreur : <em>PHP Fatal error:  _init() [&lt;a href='function.require'&gt;function.require&lt;/a&gt;]: Failed opening required &#8216;DB.php&#8217; (include_path=&#8217;/usr/share/horde3/lib:.:/usr/share/php:/usr/share/pear&#8217;) in /usr/share/horde3/lib/Horde/DataTree/sql.php on line 1877</em></p>
<p>- Sympa : on attaque là le cauchemard de mes migrations. À chaque fois, tellement de soucis majeurs et mineurs, que j&#8217;ai l&#8217;impression d&#8217;être le seul à utiliser ce paquet. Voici en vrac tous les soucis rencontrés : les accents dans les descriptions ont sautés (une sorte de double encodage) et cela a nécessité des corrections manuelles, la table logs_table doit être créée à la main (j&#8217;utilise Sympa avec PostgreSQL), et enfin une typo surprenante un &#8220;GROUP BY&#8221; à la place d&#8217;un &#8220;ORDER BY&#8221; (j&#8217;ai ouvert le bug <a href="http://bugs.debian.org/566252">#566252</a> à ce sujet).</p>
<p>- Asterisk : on passe de la version 1.2 à la version 1.4. Lors de la migration, j&#8217;ai constaté un bug étrange, le fichier <em>modules.conf </em>qui charge les modules additionnels a disparu. Du coup, sans lui, Asterisk ne charge pas les modules nécessaires (SIP, etc.). Il a donc fallu le restaurer.</p>
<p>- udev : le meilleur ami des sysadmins (ou pas). Si les migrations douloureuses Sarge-&gt;Etch sont loin derrière nous, il reste néanmoins quelques blagues. La dernière en date a été un renommage des interfaces réseau : eth0-&gt;eth1 et eth1-&gt;eth2. Classique mais étonnant, ce genre d&#8217;humour est sensé être dépassé grâce aux &#8220;persistent rules&#8221; qui nomment les interfaces en fonction de l&#8217;adresse MAC. À rester vigilant sur ce point avant le redémarrage donc.</p>
<p>Voilà pour les remarques. Vous noterez que je n&#8217;ai pas abordé le noyau Linux. C&#8217;est parce que pour la majorité de nos serveurs, ils sont gérés de façons spécifiques (au lieu d&#8217;utiliser les noyaux officiels Debian). Ainsi, ils restent dans leur version actuelle (2.6.31 à cette heure) pendant la migration. Bien sûr, cela n&#8217;empêche pas d&#8217;effectuer un redémarrage de la machine suite à la mise-à-jour : cela permet de s&#8217;assurer que tout est bien en place et le sera toujours après un éventuel redémarrage d&#8217;urgence.</p>
<p>Rendez-vous pour de prochaines migrations !</p>
]]></content:encoded>
			<wfw:commentRss>http://gcolpart.evolix.net/blog21/autres-exemples-de-migration-etch-lenny-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Organisation technique du développement web</title>
		<link>http://gcolpart.evolix.net/blog21/organisation-technique-du-developpement-web/</link>
		<comments>http://gcolpart.evolix.net/blog21/organisation-technique-du-developpement-web/#comments</comments>
		<pubDate>Fri, 27 Nov 2009 01:19:49 +0000</pubDate>
		<dc:creator>Gregory Colpart</dc:creator>
				<category><![CDATA[Evolix]]></category>
		<category><![CDATA[french]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[framwork]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[scm]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://gcolpart.evolix.net/blog21/?p=287</guid>
		<description><![CDATA[À l&#8217;occasion d&#8217;un petit déjeuner organisé par Evolix, en partenariat avec Libertis, la région PACA, le Prides SCS et le FEDER, dans les locaux de Marseille Innovation au Pôle Média Belle de Mai (oui, c&#8217;est un peu long mais je me dois de citer tous les partenaires), j&#8217;ai pu animer une présentation sur l&#8217;organisation technique [...]]]></description>
			<content:encoded><![CDATA[<p>À l&#8217;occasion d&#8217;un petit déjeuner organisé par <a href="http://www.evolix.fr/">Evolix</a>, en partenariat avec <a href="http://www.libertis.org/">Libertis</a>, la <a href="http://www.regionpaca.fr/">région PACA</a>, le <a href="http://www.pole-scs.org/">Prides SCS</a> et le <a href="http://www.europe-en-paca.eu/">FEDER</a>, dans les locaux de <a href="http://www.marseille-innov.org/">Marseille Innovation</a> au <a href="http://www.belledemai.com/">Pôle Média Belle de Mai </a>(oui, c&#8217;est un peu long mais je me dois de citer tous les partenaires), j&#8217;ai pu animer une présentation sur l&#8217;organisation technique du développement web. Vous pouvez télécharger les <a href="http://sdubois.evolix.net/data/petit-dejeuner-dev-web-evolix.pdf">slides de la présentation (format PDF, 2.2 Mo)</a>.</p>
<p>Cette présentation a permis de faire un point sur les différentes organisations en place dans des sociétés clientes ou proches d&#8217;Evolix. Je remercie d&#8217;ailleurs les responsables techniques qui ont répondu à mes questions ces derniers jours. Globalement, il se dégage une forte tendance à l&#8217;utilisation d&#8217;Eclipse comme IDE, que ça soit pour les projets en Java ou PHP. Au niveau SCM, on retrouve CVS et majoritairement SVN, avec une gestion des branches plus ou moins avancée. En terme de bugracker, c&#8217;est assez divers : Trac, Mantis ou Bugzilla. Pour le développement, c&#8217;est souvent <em>http://localhost</em> qui est utilisé. Une mise en préproduction est ensuite effectuée, puis une bascule en production, à l&#8217;aide de scripts personnalisés s&#8217;appuyant sur le SCM. En terme de méthodes, plusieurs sociétés utilisent des méthodes agiles (tests unitaires, sprints, etc.) de façon plus ou moins avancées. En général, l&#8217;organisation en place est informelle et reprend les bonnes idées adaptées à son projet. Les benchmarks et tests de performance sont plutôt effectués dans une seconde phase (en préproduction voire en production), sauf dans certains cas où ils sont intégrés aux tests unitaires (ce qui est une très bonne pratique). Enfin, en terme de framework, on distingue deux tendances : l&#8217;exploitation d&#8217;un framework existant et reconnu, ou l&#8217;utilisation d&#8217;un framework développé en interne.</p>
<p>Bien évidemment, ce petit inventaire n&#8217;a pas la prétention d&#8217;être exhaustif ou de définir une organisation idéale. C&#8217;est plutôt un passage en revue de bonnes pratiques, permettant de les découvrir &#8230; ou de s&#8217;assurer qu&#8217;on ne passe pas à côté de certains outils.</p>
]]></content:encoded>
			<wfw:commentRss>http://gcolpart.evolix.net/blog21/organisation-technique-du-developpement-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mise-à-jour Wordpress et sécurisation basique</title>
		<link>http://gcolpart.evolix.net/blog21/mise-a-jour-wordpress-et-securisation-basique/</link>
		<comments>http://gcolpart.evolix.net/blog21/mise-a-jour-wordpress-et-securisation-basique/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 01:13:50 +0000</pubDate>
		<dc:creator>Gregory Colpart</dc:creator>
				<category><![CDATA[Evolix]]></category>
		<category><![CDATA[french]]></category>
		<category><![CDATA[LAMP]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://gcolpart.evolix.net/blog21/?p=280</guid>
		<description><![CDATA[Une faille de sécurité sur le logiciel Wordpress permet de réinitialiser le mot de passe d&#8217;un utilisateur connu (admin par exemple&#8230;). Cela consiste à faire une requête du type http://SERVERNAME/wp-login.php?action=rp&#38;key[]= (soumettre une key[] vide permet apparemment de rendre inutile la vérification par mail). Il est donc conseillé de mettre à jour Wordpress en version 2.8.4 [...]]]></description>
			<content:encoded><![CDATA[<p>Une faille de sécurité sur le logiciel <a href="http://www.wordpress.org/">Wordpress</a> permet de réinitialiser le mot de passe d&#8217;un utilisateur connu (<em>admin</em> par exemple&#8230;). Cela consiste à faire une requête du type <em>http://SERVERNAME/wp-login.php?action=rp&amp;key[]=</em> (soumettre une <em>key[]</em> vide permet apparemment de rendre inutile la vérification par mail). Il est donc conseillé de mettre à jour Wordpress en version 2.8.4 (voici le <a href="http://gcolpart.evolix.net/docs/wordpress-2.8.3_2.8.4.patch">patch pour passer de la version 2.8.3 à 2.8.4</a>).</p>
<p>J&#8217;en profite pour rappeler quelques notions basiques pour sécuriser une installation d&#8217;un logiciel PHP, surtout quand il est très répandu : si possible, limiter les accès aux parties backoffice via Apache (restriction par adresses IP et/ou authentification HTTP), utiliser des identifiants originaux (pas forcément <em>admin</em>&#8230;), des mots de passes complexes, éviter les modules/plugins non fiables, suivre les notifications de mises-à-jour et les appliquer rapidement (cela implique de limiter les modifications intrusives empêchant des futures mises-à-jour, ou du moins les préparer sous forme de patch pour les ré-appliquer très rapidement), etc. Pour le premier point, voici un exemple de sécurisation de Wordpress via Apache :</p>
<pre>&lt;LocationMatch "^/wordpress/wp-(admin|login)"&gt;
Deny from all
Allow from YOUR_IP
&lt;/LocationMatch&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://gcolpart.evolix.net/blog21/mise-a-jour-wordpress-et-securisation-basique/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>JCE non limitées sous Debian</title>
		<link>http://gcolpart.evolix.net/blog21/jce-non-limitees-sous-debian/</link>
		<comments>http://gcolpart.evolix.net/blog21/jce-non-limitees-sous-debian/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 21:45:56 +0000</pubDate>
		<dc:creator>Gregory Colpart</dc:creator>
				<category><![CDATA[Debian-fr]]></category>
		<category><![CDATA[Evolix]]></category>
		<category><![CDATA[french]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jce]]></category>

		<guid isPermaLink="false">http://gcolpart.evolix.net/blog21/?p=268</guid>
		<description><![CDATA[Les packages Debian de Java n&#8217;intègrent pas de mécanisme pour faciliter l&#8217;utilisation des versions non limitées des JCE (Java Cryptography Extension), utiles pour avoir des fonctions de chiffrement dites « fortes » (#466675). L&#8217;idée est de créer des diversions locales pour conserver les versions non limitées, même en cas de mise-à-jour :

# dpkg-divert --divert /usr/share/doc/sun-java6-jre/US_export_policy.jar.ori [...]]]></description>
			<content:encoded><![CDATA[<p>Les packages Debian de Java n&#8217;intègrent pas de mécanisme pour faciliter l&#8217;utilisation des versions non limitées des JCE (<em>Java Cryptography Extension</em>), utiles pour avoir des fonctions de chiffrement dites « fortes » (<a href="http://bugs.debian.org/466675">#466675</a>). L&#8217;idée est de créer des diversions locales pour conserver les versions non limitées, même en cas de mise-à-jour :</p>
<pre>
# dpkg-divert --divert /usr/share/doc/sun-java6-jre/US_export_policy.jar.ori \
 --rename /usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/security/US_export_policy.jar
Adding `local diversion of /usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/security/US_export_policy.jar
 to /usr/share/doc/sun-java6-jre/US_export_policy.jar.ori'
# dpkg-divert --divert /usr/share/doc/sun-java6-jre/local_policy.jar.ori \
--rename /usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/security/local_policy.jar
Adding `local diversion of /usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/security/local_policy.jar
to /usr/share/doc/sun-java6-jre/local_policy.jar.ori'
</pre>
<p>Attention, bien garder à l&#8217;esprit que si une faille de sécurité survient, il faudra mettre à jour manuellement ces fichiers.</p>
]]></content:encoded>
			<wfw:commentRss>http://gcolpart.evolix.net/blog21/jce-non-limitees-sous-debian/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fichier special /dev/megaraid0 pour les noyaux Linux récents</title>
		<link>http://gcolpart.evolix.net/blog21/fichier-special-devmegaraid0-pour-les-noyaux-linux-recents/</link>
		<comments>http://gcolpart.evolix.net/blog21/fichier-special-devmegaraid0-pour-les-noyaux-linux-recents/#comments</comments>
		<pubDate>Sun, 10 May 2009 16:11:21 +0000</pubDate>
		<dc:creator>Gregory Colpart</dc:creator>
				<category><![CDATA[Evolix]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[french]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[megaraid]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[raid]]></category>
		<category><![CDATA[scsi]]></category>
		<category><![CDATA[udev]]></category>

		<guid isPermaLink="false">http://gcolpart.evolix.net/blog21/?p=252</guid>
		<description><![CDATA[En février 2008, la gestion du fichier spécial pour le management des cartes SCSI Megaraid (en général, /dev/megaraid0) a changé dans le noyau Linux. Auparavant, on notait la présence de megadev dans /proc/devices, car un numéro majeur (et dynamique) de périphérique lui était attribué. Les différents scripts utilisaient donc des scripts ressemblant à :
MAJOR=`grep megadev [...]]]></description>
			<content:encoded><![CDATA[<p>En février 2008, la gestion du fichier spécial pour le management des cartes SCSI Megaraid (en général, <em>/dev/megaraid0</em>) a <a href="http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=90a95af85f22c82f87e5fb714bac7ee06673b0ff">changé dans le noyau Linux</a>. Auparavant, on notait la présence de <em>megadev</em> dans <em>/proc/devices</em>, car un numéro majeur (et dynamique) de périphérique lui était attribué. Les différents scripts utilisaient donc des scripts ressemblant à :</p>
<pre>MAJOR=`grep megadev /proc/devices|awk '{print $1}'`
mknod /dev/megadev0  c $MAJOR 0</pre>
<p>Mais un numéro majeur ne semblait pas utile, car seul un fichier spécial est nécessaire (même avec plusieurs cartes Megaraid) et le numéro mineur n&#8217;était jamais utilisé. Cela a donc changé à partir du noyau Linux 2.6.25, et c&#8217;est désormais un numéro mineur (et dynamique) et un numéro majeur correspondant à <em>misc</em> qui définit le périphérique <em>/dev/megaraid0</em>. On retrouve ainsi des bugreports chez <a href="http://bugs.debian.org/399783">Debian (#399783)</a> et <a href="http://bugs.gentoo.org/233295">Gentoo (#233295)</a> à propos de ce changement.</p>
<p>Concrètement, ce matin lors d&#8217;une mise-à-jour d&#8217;un noyau Linux de 2.6.21 en 2.6.28, le fichier spécial <em>/dev/megaraid0</em> avec les numéros majeur/mineur 253/0 n&#8217;était plus utilisable par les outils de management du RAID. La suppression de ce fichier et l&#8217;installation d&#8217;<a href="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html">udev</a> a permis de retrouver un <em>/dev/megaraid0</em> fonctionnel.</p>
]]></content:encoded>
			<wfw:commentRss>http://gcolpart.evolix.net/blog21/fichier-special-devmegaraid0-pour-les-noyaux-linux-recents/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Driver bnx2 du noyau Lenny et carte Broadcom NetXtreme II</title>
		<link>http://gcolpart.evolix.net/blog21/driver-bnx2-du-noyau-lenny-et-carte-broadcom-netxtreme-ii/</link>
		<comments>http://gcolpart.evolix.net/blog21/driver-bnx2-du-noyau-lenny-et-carte-broadcom-netxtreme-ii/#comments</comments>
		<pubDate>Fri, 08 May 2009 21:38:24 +0000</pubDate>
		<dc:creator>Gregory Colpart</dc:creator>
				<category><![CDATA[Debian-fr]]></category>
		<category><![CDATA[Evolix]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[french]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[dell]]></category>
		<category><![CDATA[driver]]></category>
		<category><![CDATA[etch]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[lenny]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[migration]]></category>

		<guid isPermaLink="false">http://gcolpart.evolix.net/blog21/?p=245</guid>
		<description><![CDATA[Le driver bnx2 du noyau Linux 2.6.26 de Debian Lenny (et du 2.6.24 d&#8217;half-and-etch) nécessite un firmware pour fonctionner avec les cartes réseau Broadcom NetXtreme II (présentes par exemple sur les serveurs DELL PowerEdge 1950/2950), au contraire du noyau Linux 2.6.18 de Debian Etch. Lors de la mise-à-jour vers l&#8217;un de ces noyaux, il faut [...]]]></description>
			<content:encoded><![CDATA[<p>Le driver <em>bnx2</em> du noyau Linux 2.6.26 de Debian Lenny (et du 2.6.24 d&#8217;<a href="http://www.debian.org/releases/etch/etchnhalf">half-and-etch</a>) nécessite un firmware pour fonctionner avec les cartes réseau Broadcom NetXtreme II (présentes par exemple sur les serveurs DELL PowerEdge 1950/2950), au contraire du noyau Linux 2.6.18 de Debian Etch. Lors de la mise-à-jour vers l&#8217;un de ces noyaux, il faut donc installer le paquet <a href="http://packages.debian.org/firmware-bnx2">firmware-bnx2</a> (section non-free) et s&#8217;assurer de mettre à jour les images initramfs (<em>update-initramfs -u -k all</em>).</p>
]]></content:encoded>
			<wfw:commentRss>http://gcolpart.evolix.net/blog21/driver-bnx2-du-noyau-lenny-et-carte-broadcom-netxtreme-ii/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Chroot SSH et PTY allocation avec Debian Lenny</title>
		<link>http://gcolpart.evolix.net/blog21/chroot-ssh-et-pty-allocation-avec-debian-lenny/</link>
		<comments>http://gcolpart.evolix.net/blog21/chroot-ssh-et-pty-allocation-avec-debian-lenny/#comments</comments>
		<pubDate>Sat, 25 Apr 2009 11:48:17 +0000</pubDate>
		<dc:creator>Gregory Colpart</dc:creator>
				<category><![CDATA[Debian-fr]]></category>
		<category><![CDATA[Evolix]]></category>
		<category><![CDATA[french]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[chroot]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[lenny]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[pty]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://gcolpart.evolix.net/blog21/?p=233</guid>
		<description><![CDATA[Pour mettre en place des serveurs de backup, j&#8217;utilise un script chroot-ssh.sh qui permet la construction d&#8217;un chroot minimal pour faire tourner un serveur SSH et faire du rsync. Avec la mise-à-jour vers Lenny, l&#8217;allocation PTY réalisée par SSHD change : il ne semble plus possible de mettre en place un serveur SSH sans monter [...]]]></description>
			<content:encoded><![CDATA[<p>Pour mettre en place des serveurs de backup, j&#8217;utilise un script <a href="http://www.gcolpart.com/hacks/chroot-ssh.sh">chroot-ssh.sh </a>qui permet la construction d&#8217;un chroot minimal pour faire tourner un serveur SSH et faire du rsync. Avec la mise-à-jour vers Lenny, l&#8217;allocation PTY réalisée par SSHD change : il ne semble plus possible de mettre en place un serveur SSH sans monter PROCFS et DEVPTS. Sans cela, on rencontre les erreurs suivantes côté serveur SSH :</p>
<pre>debug1: Allocating pty
openpty: No such file or directory
session_pty_req: session 0 alloc failed</pre>
<p>Si uniquement DEVPTS est monté, et pas PROCFS :</p>
<pre>debug1: Allocating pty
openpty: returns device for which ttyname fails.</pre>
<p>Voici donc les étapes pour lancer le serveur SSH chrooté avec Debian Lenny :</p>
<pre>#  chroot /backup/jails/myserver mount -t proc proc-chroot /proc/
#  chroot /backup/jails/myserver mount -t devpts devpts-chroot /dev/pts/
#  chroot /backup/jails/myserver /usr/sbin/sshd &gt; /dev/null</pre>
]]></content:encoded>
			<wfw:commentRss>http://gcolpart.evolix.net/blog21/chroot-ssh-et-pty-allocation-avec-debian-lenny/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Un exemple de migration Debian Etch-&gt;Lenny [0]</title>
		<link>http://gcolpart.evolix.net/blog21/un-exemple-de-migration-debian-etch-lenny-0/</link>
		<comments>http://gcolpart.evolix.net/blog21/un-exemple-de-migration-debian-etch-lenny-0/#comments</comments>
		<pubDate>Sun, 19 Apr 2009 19:05:19 +0000</pubDate>
		<dc:creator>Gregory Colpart</dc:creator>
				<category><![CDATA[Debian-fr]]></category>
		<category><![CDATA[Evolix]]></category>
		<category><![CDATA[french]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[lenny]]></category>
		<category><![CDATA[migration]]></category>

		<guid isPermaLink="false">http://gcolpart.evolix.net/blog21/?p=226</guid>
		<description><![CDATA[Dans la même optique que mes précédents exemples de migration Debian Sarge-&#62;Etch ([0], [1], [2] et [3]), je repars sur une série portant sur des migrations Debian Etch-&#62;Lenny. Je rappelle rapidement le principe : j&#8217;administre une centaine de serveurs pour plusieurs dizaines de sociétés, et la plupart vont être concernés par une migration vers Debian [...]]]></description>
			<content:encoded><![CDATA[<p>Dans la même optique que mes précédents exemples de migration Debian Sarge-&gt;Etch (<a href="http://gcolpart.evolix.net/blog21/un-exemple-de-migration-debian-sarge-etch-0/">[0]</a>, <a href="http://gcolpart.evolix.net/blog21/autre-exemple-de-migration-sarge-etch-1/">[1]</a>, <a href="http://gcolpart.evolix.net/blog21/autre-exemple-de-migration-sarge-etch-2/">[2]</a> et <a href="http://gcolpart.evolix.net/blog21/autre-exemple-de-migration-debian-sarge-etch-3/">[3]</a>), je repars sur une série portant sur des migrations Debian Etch-&gt;Lenny. Je rappelle rapidement le principe : j&#8217;administre une centaine de serveurs pour plusieurs dizaines de sociétés, et la plupart vont être concernés par une migration vers Debian Lenny d&#8217;ici un an. Je vais en choisir quelques uns pour illustrer les opérations nécessaires et problèmes recontrés. Et <strong>j&#8217;incite tout le monde à faire de même</strong> afin d&#8217;avoir de multiples astuces disponibles sur le web.</p>
<p>Pour ce premier post, la question classique : quand faut-il migrer sa machine vers Debian Lenny ? Tout d&#8217;abord, Etch reste maintenu environ un an après la sortie de Lenny, soit jusqu&#8217;en février 2010. Il n&#8217;y a donc aucune raison d&#8217;être pressé à migrer si l&#8217;on a pas besoin de nouveaux logiciels. Et surtout, je recommande le principe de précaution, à savoir attendre un certain temps ce qui permettra d&#8217;avoir une grande quantité d&#8217;informations disponibles sur Internet (ressources Debian, moteurs de recherche, blogs). Enfin, il est important de bien planifier sa migration en fonction du métier de la société (haute/basse saison, vacances, etc.).</p>
<p>Évidemment, les précautions suivantes sont nécessaires : faire des essais de migration sur des serveurs de test, avoir des backups tout frais, couper les services durant la migration et bien prévenir à l&#8217;avance tous les utilisateurs et personnes concernées.</p>
<p>Entrons dans le vif du sujet. Au menu, un serveur web situé chez un hébergeur low-cost français. Ce serveur fait parti d&#8217;un pool de plusieurs serveurs (load-balancing via du round-robin DNS), donc il faut au préalable le désactiver et attendre que le <em>time-to-live</em> le rende totalement inactif. Ensuite, on reprend les <a href="http://www.debian.org/releases/stable/releasenotes">Releases Notes</a>, on modifie le <em>sources.list</em> et on se lance.</p>
<p>On s&#8217;assure que les partitions <em>/usr</em> et <em>/tmp</em> ont les bonnes options de montage:</p>
<pre># mount -o remount,rw /usr &amp;&amp; mount -o remount,exec /tmp</pre>
<p>On lance une mise-à-jour minimale :</p>
<pre># aptitude update &amp;&amp; aptitude upgrade</pre>
<p>Puis une mise-à-jour complète :</p>
<pre># aptitude dist-upgrade</pre>
<p>Rien de bien complexe. Il reste à croiser les doigts pendant les opérations ci-dessus, mais si votre système est « propre », cela se passe très bien, comme souvent sur un système Debian. Il est ensuite important de lire les éventuelles instructions de mise-à-jour situées dans le fichier NEWS d&#8217;un paquet (en utilisant <em>apt-listchanges</em>, cela peut être affiché automatiquement).</p>
<p>En ce qui concerne la mise-à-jour du kernel, de mauvaises surprises sont possibles après le redémarrage. Il est notamment recommandé d&#8217;avoir un accès à la machine (accès physique, accès « rescue », etc.) pour corriger d&#8217;éventuels problèmes. Dans mon cas, l&#8217;interface réseau a été renommée de eth0 à eth1 suite à la mise-à-jour d&#8217;udev : le fichier <em> /etc/udev/rules.d/z25_persistent-net.rules</em> se transforme en <em>/etc/udev/rules.d/70-persistent-net.rules</em>, jusqu&#8217;ici tout est normal, mais un problème surnaturel semble s&#8217;être produit, la carte e1000 (MAC=00:0c:29:65:ae:04) est « devenue » une r8168 (MAC=00:1c:c0:51:12:45) ; au final, c&#8217;est plutôt un soucis lié au matériel, enquête en cours chez l&#8217;hébergeur low-cost&#8230;</p>
<p>Un vrai problème s&#8217;est par contre posé avec la mise-à-jour du paquet nginx (un petit serveur web très performant). Suite à sa mise-à-jour, il ne démarre plus :</p>
<pre>Starting nginx: 2009/04/19 20:45:26 [emerg] 28783#0: could not build the server_names_hash,
you should increase server_names_hash_bucket_size: 32</pre>
<p>Il faut donc ajouter dans la section http {} du fichier nginx.conf :</p>
<pre>http {
include       /etc/nginx/mime.types;
default_type  application/octet-stream;

# Necessaire depuis l'upgrade Etch-&gt;Lenny
# (ajoute le 19.06.2009 by reg)
server_names_hash_bucket_size 33;
...</pre>
<p>Voilà pour ce premier exemple de migration. Il s&#8217;agissait d&#8217;un serveur « simple » sans installation particulière, donc assez peu de problèmes rencontrés. Les prochains exemples seront certainement un peu plus complexes !</p>
]]></content:encoded>
			<wfw:commentRss>http://gcolpart.evolix.net/blog21/un-exemple-de-migration-debian-etch-lenny-0/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Administration d&#8217;un serveur NIS sous OpenBSD</title>
		<link>http://gcolpart.evolix.net/blog21/administration-dun-serveur-nis-sous-openbsd/</link>
		<comments>http://gcolpart.evolix.net/blog21/administration-dun-serveur-nis-sous-openbsd/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 16:06:19 +0000</pubDate>
		<dc:creator>Gregory Colpart</dc:creator>
				<category><![CDATA[Evolix]]></category>
		<category><![CDATA[OpenBSD]]></category>
		<category><![CDATA[french]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[NIS]]></category>

		<guid isPermaLink="false">http://gcolpart.evolix.net/blog21/?p=212</guid>
		<description><![CDATA[NIS est un protocole réseau de distribution d&#8217;informations système (utilisateurs, groupes, machines, etc.). De plus en plus remplacé par LDAP, il reste encore souvent présent sur des réseaux avec des systèmes hétérogènes.
Un problème assez classique avec NIS est l&#8217;administration de la base d&#8217;utilisateurs. Déportée dans une base distincte (/var/yp/DOMAINNAME/), on peut :
- la gérer comme [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://fr.wikipedia.org/wiki/Network_Information_Service">NIS</a> est un protocole réseau de distribution d&#8217;informations système (utilisateurs, groupes, machines, etc.). De plus en plus remplacé par LDAP, il reste encore souvent présent sur des réseaux avec des systèmes hétérogènes.</p>
<p>Un problème assez classique avec NIS est l&#8217;administration de la base d&#8217;utilisateurs. Déportée dans une base distincte (<em>/var/yp/</em><em>DOMAINNAME/</em>), on peut :<br />
- la gérer comme une source de données indépendante, mais cela rend assez complexe l&#8217;administration, car on ne peut pas vraiment utiliser les outils classiques (commande <em>adduser</em>, détection du max(UID), etc.)<br />
- gérer les utilisateurs/groupes locaux, et générer la base NIS à partir des données locales. Dans ce cas, la problèmatique est de ne pas exporter les utilisateurs/groupes système !</p>
<p>Dans le second cas, il n&#8217;existe pas de distinction des utilisateurs/groupes système dans le <em>Makefile.yp</em> distribué par OpenBSD. Heureusement, <a href="http://kerneltrap.org/index.php?q=mailarchive/openbsd-misc/2007/2/19/144711">Antoine Jacoutot a écrit un petit patch</a> pour gérer des MINUID/MINGID/MAXUID/MAXGID : voici le <a href="http://www.gcolpart.com/hacks/Makefile.yp.patch">patch</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://gcolpart.evolix.net/blog21/administration-dun-serveur-nis-sous-openbsd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Astuce Vim du jour</title>
		<link>http://gcolpart.evolix.net/blog21/astuce-vim-du-jour/</link>
		<comments>http://gcolpart.evolix.net/blog21/astuce-vim-du-jour/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 16:58:23 +0000</pubDate>
		<dc:creator>Gregory Colpart</dc:creator>
				<category><![CDATA[Evolix]]></category>
		<category><![CDATA[french]]></category>
		<category><![CDATA[Vim]]></category>

		<guid isPermaLink="false">http://gcolpart.evolix.net/blog21/?p=201</guid>
		<description><![CDATA[Pour faire un remplacement dans une &#8220;visual selection (Ctrl+v)&#8221;, notamment pour restreindre un remplacement à une sélection dans une longue ligne :
:'&#60;,'&#62;s/\%Vfoo/bar/
]]></description>
			<content:encoded><![CDATA[<p>Pour faire un remplacement dans une &#8220;visual selection (Ctrl+v)&#8221;, notamment pour restreindre un remplacement à une sélection dans une longue ligne :</p>
<pre>:'&lt;,'&gt;s/\%Vfoo/bar/</pre>
]]></content:encoded>
			<wfw:commentRss>http://gcolpart.evolix.net/blog21/astuce-vim-du-jour/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
