<?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>Le CyberZoide Qui Fretille &#187; Linux</title>
	<atom:link href="https://blog.developpez.com/cyberzoide/pcategory/informatique/linux/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/cyberzoide</link>
	<description></description>
	<lastBuildDate>Thu, 03 Jul 2014 09:43:37 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>Création de fichiers temporaires</title>
		<link>https://blog.developpez.com/cyberzoide/p2412/informatique/linux/shell/creation_de_fichiers_temporaires</link>
		<comments>https://blog.developpez.com/cyberzoide/p2412/informatique/linux/shell/creation_de_fichiers_temporaires#comments</comments>
		<pubDate>Mon, 09 Oct 2006 14:05:00 +0000</pubDate>
		<dc:creator><![CDATA[cyberzoide]]></dc:creator>
				<category><![CDATA[shell]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Quel admin système n&#8217;a jamais eu besoin de créer des fichiers temporaires dans ses scripts Shell ? Et ce n&#8217;est pas toujours facile, surtout quand ils doivent être créés en masse ou par un grand nombre d&#8217;instances du même script. Voici quelques méthodes que j&#8217;ai eu à utiliser. Nom unique Le nom du script (variable $0) ou son numéro de processus (variable $$) fournissent des données uniques spécifiques au script en cours. Exemple : $FILE=/tmp/`basename [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Quel admin système n&rsquo;a jamais eu besoin de créer des fichiers temporaires dans ses scripts Shell ? Et ce n&rsquo;est pas toujours facile, surtout quand ils doivent être créés en masse ou par un grand nombre d&rsquo;instances du même script.</p>
<p>Voici quelques méthodes que j&rsquo;ai eu à utiliser.</p>
<p><b>Nom unique</b></p>
<p>Le nom du script (variable <code class="codecolorer text default"><span class="text">$0</span></code>) ou son numéro de processus (variable <code class="codecolorer text default"><span class="text">$$</span></code>) fournissent des données uniques spécifiques au script en cours.<br />
Exemple : <code class="codecolorer text default"><span class="text">$FILE=/tmp/`basename $0`.$$.tmp</span></code></p>
<p>Le condensat MD5 du script en cours peut aussi fournir une telle information.<br />
Exemple : <code class="codecolorer text default"><span class="text">md5sum $0 | cut -d&quot; &quot; -f1</span></code></p>
<p>La date au format timestamp fourni une donnée unique toutes les secondes.<br />
Exemple : <code class="codecolorer text default"><span class="text">date +%s</span></code><br />
Mais cette donnée de varie pas suffisement dans le temps pour un usage intensif dans une boucle.</p>
<p>Un compteur dans le script permet de forger un identifiant unique à chaque pas dans une boucle.</p>
<p><b>Nom aléatoire</b></p>
<p>La commande <code class="codecolorer text default"><span class="text">mktemp</span></code> créé un fichier et fourni dans la sortie standard son nom. Formé par défaut comme suit  : <i>/tmp/tmp.LNfRsC6529</i><br />
Exemple : <code class="codecolorer text default"><span class="text">mktemp /tmp/appli.XXXXXXXX</span></code></p>
<p>Les périphériques <code class="codecolorer text default"><span class="text">/dev/random</span></code> (non bloquant) et <code class="codecolorer text default"><span class="text">/dev/urandom</span></code> (plus efficace mais bloquant et plus long) fournissent des données aléatoires. Ces données peuvent servir à la création de noms de fichiers.<br />
Exemple : <code class="codecolorer text default"><span class="text">dd if=/dev/urandom of=/var/random-seed count=1</span></code><br />
Le fichier random-seed peut être splité (<code class="codecolorer text default"><span class="text">split</span></code>) en de nombreux petits fichiers dont on calcule le condensat MD5 afin de créer massivement des noms de fichiers.</p>
<p>La commande <code class="codecolorer text default"><span class="text">uuidgen</span></code> génère une chaîne aléatoire au format <i>UUID</i> (Universally Unique ID), elle peut être considéré comme unique. Exemple d&rsquo;UUID : <i>4abb6101-46ef-40b7-b951-eb5081a41306</i>.<br />
Exemple : <code class="codecolorer text default"><span class="text">uuidgen -r</span></code></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Pourquoi les images du noyaux sont en double ?</title>
		<link>https://blog.developpez.com/cyberzoide/p2392/informatique/linux/pourquoi_les_images_du_noyaux_sont_en_do</link>
		<comments>https://blog.developpez.com/cyberzoide/p2392/informatique/linux/pourquoi_les_images_du_noyaux_sont_en_do#comments</comments>
		<pubDate>Tue, 03 Oct 2006 14:40:50 +0000</pubDate>
		<dc:creator><![CDATA[cyberzoide]]></dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Les images du noyaux Unix apparaissent généralement en double dans le chargeur de démarrage. L&#8217;une est suffixée par -smp (Grub) ou -up (Lilo). L&#8217;installation de votre distribution Linux détecte les cartes mères compatibles SMP (Symmetric MultiProcessing), c&#8217;est-à-dire offrant une architecture haute performances à multiples CPU. En cas de carte mère SMP détectée, deux entrées sont créées dans le fichier de conf du chargeur de démarrage et renvoyent vers des images du noyau aux mêmes fonctionnalités [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Les images du noyaux Unix apparaissent généralement en double dans le chargeur de démarrage.<br />
L&rsquo;une est suffixée par <b>-smp</b> (Grub) ou <b>-up</b> (Lilo).</p>
<p>L&rsquo;installation de votre distribution Linux détecte les cartes mères compatibles <b>SMP</b> (Symmetric MultiProcessing), c&rsquo;est-à-dire offrant une architecture haute performances à multiples CPU.</p>
<p>En cas de carte mère SMP détectée, deux entrées sont créées dans le fichier de conf du chargeur de démarrage et renvoyent vers des images du noyau aux mêmes fonctionnalités mais l&rsquo;une d&rsquo;entre elles est spécifique aux architectures SMP.</p>
<p>Sous Grub, celle suffixée par <b>-smp</b> est adaptée aux spécificités SMP.<br />
Sous Lilo, celle suffixée par <b>-up</b> n&rsquo;est pas spécifique à SMP, un seul processeur sera alors utilisé.</p>
<p>Ainsi, le chargeur de démarrage laissera toujours le choix de démarrer sur une image du noyau spécifique à SMP (par défaut) ou une autre.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Liste des fichiers les plus volumineux</title>
		<link>https://blog.developpez.com/cyberzoide/p2002/informatique/linux/shell/liste_des_fichiers_les_plus_volumineux</link>
		<comments>https://blog.developpez.com/cyberzoide/p2002/informatique/linux/shell/liste_des_fichiers_les_plus_volumineux#comments</comments>
		<pubDate>Wed, 17 May 2006 15:09:02 +0000</pubDate>
		<dc:creator><![CDATA[cyberzoide]]></dc:creator>
				<category><![CDATA[shell]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Une tâche souvent nécessaire à un administrateur système sous Linux : lister les fichiers les plus volumineux d&#8217;un disque. Pour cela, il existe différentes techniques possibles : find, ls, du&#8230; J&#8217;ai retenu du pour sa rapidité et sa simplicité : du -h &#124; egrep &#34;([0-9]{3}M)&#124;([0-9]G)&#34; &#124; egrep -v &#34;[^\.]/&#34; Liste récursive des sous-dossiers et fichiers d&#8217;un dossiers, avec leurs poids total : $ du j2sdk1.4.2_09 73164 j2sdk1.4.2_09/jre 15040 j2sdk1.4.2_09/lib 444 j2sdk1.4.2_09/man/ja_JP.eucJP/man1 448 j2sdk1.4.2_09/man/ja_JP.eucJP 436 j2sdk1.4.2_09/man/man1 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Une tâche souvent nécessaire à un administrateur système sous Linux : lister les fichiers les plus volumineux d&rsquo;un disque. Pour cela, il existe différentes techniques possibles : <code class="codecolorer text default"><span class="text">find</span></code>, <code class="codecolorer text default"><span class="text">ls</span></code>, <code class="codecolorer text default"><span class="text">du</span></code>&#8230; J&rsquo;ai retenu <code class="codecolorer text default"><span class="text">du</span></code> pour sa rapidité et sa simplicité :</p>
<p><b><code class="codecolorer text default"><span class="text">du -h | egrep &quot;([0-9]{3}M)|([0-9]G)&quot; | egrep -v &quot;[^\.]/&quot;</span></code></b></p>
<p><b>Liste récursive des sous-dossiers et fichiers d&rsquo;un dossiers, avec leurs poids total :</b></p>
<pre>$ du j2sdk1.4.2_09
73164   j2sdk1.4.2_09/jre
15040   j2sdk1.4.2_09/lib
444     j2sdk1.4.2_09/man/ja_JP.eucJP/man1
448     j2sdk1.4.2_09/man/ja_JP.eucJP
436     j2sdk1.4.2_09/man/man1
888     j2sdk1.4.2_09/man
114280  j2sdk1.4.2_09</pre>
<p><b>Rajout de l&rsquo;option <code class="codecolorer text default"><span class="text">-h</span></code> pour un affichage humain (et pas en nombre de bloc)</b></p>
<pre>$ du -h j2sdk1.4.2_09
72M     j2sdk1.4.2_09/jre
15M     j2sdk1.4.2_09/lib
444K    j2sdk1.4.2_09/man/ja_JP.eucJP/man1
448K    j2sdk1.4.2_09/man/ja_JP.eucJP
436K    j2sdk1.4.2_09/man/man1
888K    j2sdk1.4.2_09/man
112M    j2sdk1.4.2_09</pre>
<p><b>Ne retenons que ceux dépassant 100 Mo (contrôle du motif du poids via un <code class="codecolorer text default"><span class="text">grep</span></code> rationnel) : </b></p>
<pre>$ du -h /usr/local | egrep "([0-9]{3}M)|([0-9]G)"
126M    ./src/mysql-4.1.14
763M    ./src
184M    ./tomcat/logs
249M    ./tomcat
100M    ./apache
111M    ./mysql
1.4G    .</pre>
<p><b>Et n&rsquo;affichons pas les sous répertoires de l&rsquo;arborescence (<code class="codecolorer text default"><span class="text">egrep</span></code> négatif sur le séparateur de dossiers <code class="codecolorer text default"><span class="text">/</span></code>) : </b></p>
<pre>$ du -h | egrep "([0-9]{3}M)|([0-9]G)" | egrep -v "[^\.]/"</pre>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Critique du livre : Introduction aux Scripts Shell</title>
		<link>https://blog.developpez.com/cyberzoide/p1770/informatique/linux/introduction_aux_scripts_shell</link>
		<comments>https://blog.developpez.com/cyberzoide/p1770/informatique/linux/introduction_aux_scripts_shell#comments</comments>
		<pubDate>Thu, 23 Mar 2006 18:37:27 +0000</pubDate>
		<dc:creator><![CDATA[cyberzoide]]></dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Livres]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Critique du livre : Introduction aux Scripts Shell &#8211; Automatiser les tâches Unix de Arnold Robbins et Nelson H. F. Beebe, aux éditions O&#8217;REILLY. Cet ouvrage explique clairement la spécificité du shell Unix et sa puissance. Les nombreuses commandes sont ici abordées de façon très pédagogique avec force d’exemples. Les auteurs passent en revue des diverses tâches systèmes qui incombent aux administrateurs de systèmes Unix et donnent un très bon aperçu de la complexité des [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Critique du livre : <b>Introduction aux Scripts Shell &#8211; Automatiser les tâches Unix</b> de Arnold Robbins et Nelson H. F. Beebe, aux éditions O&rsquo;REILLY.</p>
<p><img src="http://images-eu.amazon.com/images/P/2841773752.08.MZZZZZZZ.jpg" alt="" title="" /></p>
<p>Cet ouvrage explique clairement la spécificité du shell Unix et sa puissance. Les nombreuses commandes sont ici abordées de façon très pédagogique avec force d’exemples.</p>
<p>Les auteurs passent en revue des diverses tâches systèmes qui incombent aux administrateurs de systèmes Unix et donnent un très bon aperçu de la complexité des traitements nécessaires à leur résolution. Mais aussi et surtout, ils démontrent l’extraordinaire efficacité des commandes et combinaisons de commandes du shell. Ce livre est en fait une démonstration de la puissance du shell et donne au lecteur les clés pour en exploiter toutes les possibilités, voire contribuer à l’enrichir.</p>
<p><img src="http://images-eu.amazon.com/images/G/08/x-locale/common/customer-reviews/stars-3-5.gif" alt="" title="" /></p>
<p><a href="http://linux.developpez.com/livres/#L2841773752">Lire la suite de la critique&#8230;</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Faire beeper vos scripts Shell</title>
		<link>https://blog.developpez.com/cyberzoide/p1162/informatique/linux/faire_beeper_vos_script_shell</link>
		<comments>https://blog.developpez.com/cyberzoide/p1162/informatique/linux/faire_beeper_vos_script_shell#comments</comments>
		<pubDate>Thu, 29 Sep 2005 10:06:06 +0000</pubDate>
		<dc:creator><![CDATA[cyberzoide]]></dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Quoi de plus utile qu&#8217;un beep pour indiquer la terminaison d&#8217;un script particulièrement long ou informer l&#8217;utilisateur de la survenue d&#8217;un événement particulier ! Rien de plus simple : /bin/echo -e '\a'; En effet, le caractère spécial \a provoque le beep, il suffit de l&#8217;afficher dans la console !]]></description>
				<content:encoded><![CDATA[<p>Quoi de plus utile qu&rsquo;un <b>beep</b> pour indiquer la terminaison d&rsquo;un script particulièrement long ou informer l&rsquo;utilisateur de la survenue d&rsquo;un événement particulier !</p>
<p>Rien de plus simple :<br />
<code class="codecolorer text default"><span class="text">/bin/echo -e '\a';</span></code></p>
<p>En effet, le caractère spécial \a provoque le beep, il suffit de l&rsquo;afficher dans la console !</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>rpmfind.net</title>
		<link>https://blog.developpez.com/cyberzoide/p519/informatique/linux/rpmfind_net</link>
		<comments>https://blog.developpez.com/cyberzoide/p519/informatique/linux/rpmfind_net#comments</comments>
		<pubDate>Mon, 28 Feb 2005 09:26:43 +0000</pubDate>
		<dc:creator><![CDATA[cyberzoide]]></dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Pour les aficionados de Linux, un outil très utile : le moteur de recherche de RPM qui trouve les packages dont vous avez besoin. Il suffit de saisir le nom de votre package, puis de choisir le RPM correspondant à votre architecture. http://www.rpmfind.net/]]></description>
				<content:encoded><![CDATA[<p>Pour les aficionados de Linux, un outil très utile : le moteur de recherche de RPM qui trouve les packages dont vous avez besoin. </p>
<p>Il suffit de saisir le nom de votre package, puis de choisir le RPM correspondant à votre architecture.</p>
<p><a href="http://www.rpmfind.net/" target="_blank">http://www.rpmfind.net/</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
