Le Seb sur le Ouaibe - LinusqueLe Seb est un drôle d'animal qui utilise ce site ouaibe afin de faire partager à ses amis ou aux gens rencontrés au hasard d'une soirée, ses impressions sur la mécanique quantique, les conneries qu'il aura glâné sur le net, ou sa vision hautement philosophique de la vie. Bref, un site tellement inutile qu'il en devient indispensable ...2017-05-25T22:21:12+02:00urn:md5:c25d0c1d8950a40ecea1d4f2c50cd666DotclearLoi de Finagleurn:md5:83cf2dd5f355ec7ed1fc021694c0e8e42007-08-12T13:08:12+00:002007-08-12T20:25:14+00:00Le SebLinusque<p>J'avais quelques regrets d'avoir claqué autant de fric dans mon NAS.<br />
Suite à la perte généralisée de toutes les données de mes disques durs locaux hier, j'ai trouvé qu'en fin de compte, il était vraiment très chouette ...</p> <p>La <a href="http://fr.wikipedia.org/wiki/Loi_de_Murphy" hreflang="fr">loi de Murphy</a><sup>[<a href="https://blog.le-seb.org/index.php?post/2007/08/12/118-loi-de-finagle#pnote-118-1" id="rev-pnote-118-1">1</a>]</sup> étant ce qu'elle est, de multiples défaillances d'un des contrôleurs IDE de ma machine ont eu raison de ma zolie config RAID logicielle : disques vérolés, données corrompues et système irrécupérable, l'horreur !<br />
Heureusement que j'avais eu la bonne idée de déplacer l'essentiel de mes précieuses données<sup>[<a href="https://blog.le-seb.org/index.php?post/2007/08/12/118-loi-de-finagle#pnote-118-2" id="rev-pnote-118-2">2</a>]</sup> sur le NAS.<br /></p>
<p>Quelques heures plus tard, le temps de diagnostiquer ce qui n'allait pas et de réinstaller un système fonctionnel, j'ai de nouveau accès à tout mon bazar numérique. Bon, j'ai perdu quelques fichiers de config, mes signets Firefox et le certificat numérique du site des impôts, mais l'essentiel (musique, photos, documents administratifs, compta ...) est sauf. Ouf !<br /></p>
<p>Et dire qu'il y a à peine un mois, prêt à me débarrasser de cette boîte trop lente et bruyante, j'étais à deux doigts de tout rebasculer en local !<br /></p>
<p>Reste qu'il faudra quand même qu'un jour ou l'autre j'investisse dans un moyen d'effectuer des sauvegardes du NAS.<br />
En informatique, Murphy et Finagle ne sont jamais très loin, méfions nous ...</p>
<div class="footnotes"><h4>Notes</h4>
<p>[<a href="https://blog.le-seb.org/index.php?post/2007/08/12/118-loi-de-finagle#rev-pnote-118-1" id="pnote-118-1">1</a>] Wikipedia nous apprend que dans ce cas précis (pas de manip), c'est la faute de Finagle, et pas celle de ce pauvre Murphy ...</p>
<p>[<a href="https://blog.le-seb.org/index.php?post/2007/08/12/118-loi-de-finagle#rev-pnote-118-2" id="pnote-118-2">2</a>] Soit tout, sauf le contenu de mon répertoire perso et quelques autres bricoles.</p></div>
A Nagios plugin for Sun hardware failure detectionurn:md5:6758f4c0d9b5404f9aca1ce1f3e2c44a2007-03-03T23:17:48+00:002009-01-14T00:15:41+00:00Le SebLinusque<p>As I needed a script to parse Solaris ' <em>prtdiag</em> output, and couldn't find any, I just wrote one.<br />
Analyzing <em>prtdiag</em> output made easy ...</p> <p>The script is logicaly called <a href="http://www.le-seb.org/divers/check_prtdiag" hreflang="en">check_prtdiag</a>.<br />
It's 100% config-file based, massively using Perl regular expressions and logic, as <em>prtdiag</em> output is very different from one system to another.</p>
<p>Without any parameter, check_prtdiag will launch a <em>prtdiag -v</em>command and parse its output.<br />
For testing purpose, you can use the <em>-v</em> flag to get more verbose output (on STDERR), or use the <em>f <file></em>option to use the content of the specified file as input.</p>
<p>See <a href="http://www.le-seb.org/divers/check_prtdiag.txt" hreflang="en">check_prtdiag.txt</a> for details about configuration file format.</p>
<p><strong>Edited 2008-12-05 - release 1.10</strong> :<br />
You can now specify an alternate config file location using the <em>-c <file></em> option.<br />
The <em>prtdiag</em> command is no more mandatory when using the <em>-f <file></em> option for testing purpose.<br />
The <em>Unrecognized escape \s passed through</em> warnings should be gone.<br />
Added tests for SunFire V210 in the sample configuration file.</p>
<p><strong>Edited 2009-01-08 - release 1.11</strong> :<br />
Corrected exit codes on CRITICAL and WARNING statuses.<br />
Thanks to Jonathon Weiss for finding this bug.</p>
<p><strong>Edited 2009-01-08 - release 1.12</strong> :<br />
Release 1.11 was crappy.<br />
Thanks to Eric Pearce for feedback.</p>
<p>The <a href="http://www.le-seb.org/divers/check_prtdiag.conf" hreflang="en">provided sample configuration file</a> checks these :</p>
<p>[Enterprise 150]</p>
<ul>
<li>IO Cards : checks for "No failures found" / "No System Faults" messages presence</li>
</ul>
<p>[Enterprise 250]</p>
<ul>
<li>IO Cards : checks for "No failures found" / "No System Faults" messages presence</li>
<li>Memory : looks for memory modules not in "OK" state</li>
<li>System leds : looks for lit 'ERROR' leds</li>
<li>Disks : looks for disks not in 'OK' or 'EMPTY' states</li>
<li>Fans : looks for fans not in 'OK' state</li>
<li>Power Supplies : looks for PSU not in 'OK' state</li>
</ul>
<p>[Enterprise 450]</p>
<ul>
<li>IO Cards : checks for "No failures found" / "No System Faults" messages presence</li>
<li>Memory : looks for memory modules not in "OK" state</li>
<li>System leds : looks for lit 'ERROR' leds</li>
<li>Disks : looks for disks not in 'OK' or 'EMPTY' states</li>
<li>Fans : looks for fans not in 'OK' state</li>
<li>Power Supplies : looks for PSU not in 'OK' state</li>
</ul>
<p>[Enterprise 3000]</p>
<ul>
<li>System leds : looks for lit failure system led</li>
<li>Fans : looks for fans not in 'OK' state</li>
<li>Temperatures : looks for temperature sensors not in 'stable' trend</li>
<li>Power Supplies : looks for PSU not in 'OK' state</li>
<li>IO Cards : checks for "No failures found" / "No System Faults" messages presence</li>
</ul>
<p>[SunFire 280R]</p>
<ul>
<li>System leds : looks for lit 'FAULT' leds</li>
<li>Fans : looks for fans not in 'NO_FAULT' state</li>
<li>Disks : looks for disks not in 'NO_FAULT' state</li>
<li>Power Supplies : looks for PSUs not in 'OK' state</li>
</ul>
<p>[SunFire V120]</p>
<ul>
<li>IO Cards : checks for "No failures found" / "No System Faults" messages presence</li>
</ul>
<p>[SunFire V210]</p>
<ul>
<li>CPU : check for CPUs not in 'on-line' state</li>
<li>Fans : checks for fans not in 'okay' state</li>
<li>System leds : looks for lit 'SERVICE' leds</li>
<li>Temperatures : looks for temperature sensors not in 'okay' state</li>
<li>Voltages : looks for voltage sensors not in 'okay' state</li>
<li>Current : looks for current sensors not in 'okay' state</li>
<li>Field Replaceable Units : looks for FRUs not in 'okay' (PSUs) or 'present' (disks) states</li>
</ul>
<p>[SunFire V240]</p>
<ul>
<li>Fans : checks for fans not in 'okay' state</li>
<li>System leds : looks for lit 'SERVICE' leds</li>
<li>Temperatures : looks for temperature sensors not in 'okay' state</li>
<li>Voltages : looks for voltage sensors not in 'okay' state</li>
<li>Current : looks for current sensors not in 'okay' state</li>
<li>Field Replaceable Units : looks for FRUs not in 'okay' (PSUs) or 'present' (disks) states</li>
</ul>
<p>[SunFire V440]</p>
<ul>
<li>Fans : checks for fans not in 'okay' state</li>
<li>System leds : looks for lit 'SERVICE' leds</li>
<li>Temperatures : looks for temperature sensors not in 'okay' state</li>
<li>Voltages : looks for voltage sensors not in 'okay' state</li>
<li>Current : looks for current sensors not in 'okay' state</li>
<li>Field Replaceable Units : looks for FRUs not in 'okay' (PSUs) or 'present' (disks) states</li>
</ul>
<p>[SunFire V490]</p>
<ul>
<li>Temperatures : looks for temperature sensors not in 'OK' state</li>
<li>System leds : looks for lit 'FAULT' leds</li>
<li>Disks : looks for disks not in 'NO_FAULT' state</li>
<li>Fans : looks for fans not in 'NO_FAULT' state</li>
<li>Power Supplies : looks for PSUs not in 'NO_FAULT' state</li>
</ul>
<p>[SunFire 880]</p>
<ul>
<li>Temperatures : looks for temperature sensors not in 'OK' state</li>
<li>System leds : looks for lit 'FAULT' leds</li>
<li>Disks : looks for disks with lit 'FAULT' led</li>
<li>Fans : looks for fans not in 'OK' state</li>
<li>Power Supplies : looks for PSUs not in 'GOOD' state</li>
<li>IO Cards : checks for "No failures found" / "No System Faults" messages presence</li>
</ul>
<p>[Ultra 10]</p>
<ul>
<li>IO Cards : checks for "No failures found" / "No System Faults" messages presence</li>
</ul>Entre shaddoks, devisons un peu ...urn:md5:bd7d607fbd229ec59d7a094dc8e8443a2007-02-21T00:34:27+00:002007-02-21T00:46:10+00:00Le SebLinusque<p>Tu vois Coco, quand tu bosses dans l'informatique, il y a un certain nombre de concepts qu'on ne t'apprend pas à l'école ...</p> <p>Un des tous premiers concepts à retenir, c'est <em>pourquoi faire simple quand on peut faire compliqué ?</em>.<br />
Où pourquoi utiliser la ligne droite qui sépare le besoin A de la ressource B, quand il est possible de faire d'abord un saut sur C, d'envoyer le résultat vers D et au final d'échouer lamentablement rendu sur E ?<br />
Tout simplement parcequ'une usine à gaz, ça en jette !</p>
<p><ins>Exemple :</ins><br />
<em>L'utilisateur</em> - Bonjour, je voudrais pouvoir effectuer une requête dans la base de données X utilisée par mon application depuis mon poste de travail<br />
<em>L'informaticien de service</em> - L'éditeur de l'application ne pourrait-il pas intégrer ça dans l'application ?<br />
<em>L'éditeur de l'application</em> - Pas très chaud, faudrait revoir pas mal de code.<br />
<em>L'informaticien de service</em> - Sinon, on peut faire une petite page CGI sur notre serveur web existant, qui interroge directement la base de données à partir des critères spécifiés. On peut aussi prévoir un export CSV pour l'interface avec Excel.<br />
<em>L'éditeur de l'application</em> - On va plutôt monter un serveur web dédié qui interrogera la base via une applet Java, et utilisera des contrôles ActiveX pour s'interfacer directement avec Excel.<br />
<em>L'utilisateur</em> - Ça couterait combien à développer ?<br />
<em>L'éditeur de l'application</em> - 7500 € pour le développement, prix du serveur web et des licences en sus.<br />
<em>L'informaticien de service</em> - Bah, une journée de boulot tout au plus.<br />
<em>L'utilisateur</em> - Hum, ça me tente bien cette solution Java/ActiveX.<br />
<em>L'informaticien de service</em> - Et merde ...</p>
<p>Deuxième concept (lié au premier) : <em>ça ne fonctionne pas, c'est tombé en marche</em>.<br />
Vus la lourdeur et la complexité de certaines applications, il est souvent impossible de savoir pourquoi ça fonctionnait à un instant <em>t</em>, mais plus maintenant.</p>
<p><ins>Exemple :</ins><br />
<em>L'utilisateur</em> - Bonjour, mon application elle ne fonctionne plus !<br />
<em>L'informaticien de service</em> - Tout à l'air normal pourtant. On va essayer de relancer les services ...<br />
(10 minutes plus tard, le temps d'essayer de remettre la main sur le gars qui a écrit la procédure de démarrage qui ne fonctionne pas)<br />
<em>Le gars qui a écrit la procédure</em> - Je ne comprends pas, ça devrait fonctionner.<br />
<em>L'informaticien de service</em> - Étrange, n'est-il pas ?<br />
<em>Le gars du réseau (tout content)</em> - Vous ne croirez jamais ça les gars ! Ça fait deux ans qu'un de nos équipements réseau de secours était mal paramétré, je viens de m'en rendre compte. On a eu chaud !<br />
<em>Le gars qui a écrit la procédure</em> - Hum.<br />
<em>L'informaticien de service</em> - Le fond de l'air est frais.<br />
<em>Le gars du réseau (perplexe)</em> - Un problème les gars ?<br />
<em>L'informaticien de service</em> - Tu voudrais pas revenir sur la situation de départ des fois ?<br />
<em>Le gars du réseau (navré)</em> - Bah ...<br />
(10 minutes plus tard, le temps pour le gars du réseau de remettre tout comme c'était avant)<br />
<em>L'utilisateur</em> - Super, ça fonctionne ! Merci.<br />
<em>L'informaticien de service</em> - De rien, c'était fastoche.<br />
<em>Le big boss du service informatique</em> - Va falloir régler ce problème d'application qui ne fonctionne pas avec l'équipement de secours
<em>L'informaticien de service</em> - Et merde ...</p>
<p>Troisième et dernier concept (lié au second) : <em>moins ça reboote, mieux tu te portes</em>.<br />
Ou pourquoi tu sais avant même de l'arrêter que ce serveur t'emmerdera à son redémarrage.</p>
<p><ins>Exemple :</ins><br />
<em>Le big boss du service informatique</em> - Bon les gars, coupure électrique générale ce week-end, faudra arrêter tous les serveurs.<br />
<em>Les gars (navrés)</em> - Et merde ...<br />
(le lundi suivant la fameuse coupure électrique générale)<br />
<em>L'utilisateur</em> - Bonjour, mon application elle ne fonctionne plus !<br />
<em>L'informaticien de service</em> - Chié ...<br />
(un peu plus tard dans la journée)<br />
<em>Le technicien d'exploitation</em> - Tiens, on a eu une remontée d'alerte concernant un CPU H.S. ...<br />
<em>L'informaticien de service</em> - Oh ...<br />
<em>Le technicien d'exploitation</em> - ... et puis une autre à propos d'une barrette de RAM morte ...<br />
<em>L'informaticien de service</em> - ... la ...<br />
<em>Le technicien d'exploitation</em> - ... sans compter que toutes les sauvegardes du week-end se sont vautrées.<br />
<em>L'informaticien de service</em> - ... grosse ...<br />
<em>L'utilisateur (malicieux)</em> - Il faudrait absolument me restaurer les données de dimanche !<br />
<em>L'informaticien de service</em> - ... merde !<br /></p>
<p>Et voilà Coco, si jamais l'aventure de l'informatique<sup>[<a href="https://blog.le-seb.org/index.php?post/2007/02/21/84-entre-shaddoks-devisons-un-peu#pnote-84-1" id="rev-pnote-84-1">1</a>]</sup> te tente, n'oublie jamais qu'un bon informaticien se doit d'être fainéant comme une couleuvre et rusé comme un renard (pour pas se faire gauler quand il ne veut pas bosser).</p>
<p>La semaine prochaine, je t'expliquerai pourquoi, quelquefois, quand tu écris quelque chose important, ton clavier se blo</p>
<div class="footnotes"><h4>Notes</h4>
<p>[<a href="https://blog.le-seb.org/index.php?post/2007/02/21/84-entre-shaddoks-devisons-un-peu#rev-pnote-84-1" id="pnote-84-1">1</a>] Je réalise soudainement que ça rime avec <em>panique</em>, <em>sceptique</em> et tout plein d'autres mots pas très joyeux. Devrais-je dû y voir un signe ?</p></div>
mycopycover.pl 1.10urn:md5:0faa099f6f9ba29370ec922aac9076df2007-02-15T01:26:46+00:002007-03-04T10:40:02+00:00Le SebLinusque<p>New release of <em>mycopycover.pl</em>, with pattern search...</p> <p>The only change since <a href="http://www.le-seb.org/dotclear/index.php/2006/11/05/53-amarok-album-cover-copy-with-mycopycoverpl">mycopycover.pl v1.00</a> is the ability to specify <em>keys</em> on the command line, that will be used to filter the cover copy.</p>
<p>Thus, <a href="https://blog.le-seb.org/divers/mycopycover.pl">mycopycover.pl v1.10</a> usage is now :</p>
<div style='padding: 5px 20px; border-width: 1px; border-style: solid; background-color: #EEF3F5; font-family: fixed;'>
mycopycover.pl - v1.10<br>
This script copies album covers found in Amarok's cache to the album directories.<br>
<br>
Usage: mycopycover.pl [-dfhrtv] [-c <scheme>] [-s <string>] [<key>... <key>]<br>
<br>
-c <scheme> : use <scheme> as cover filename scheme (default: '%a - %t.png')<br>
recognized jokers in <scheme> are :<br>
'%a', which will be expanded to artist name<br>
'%t', which will be expanded to album's title<br>
-d : do not create .directory entries<br>
-f : force replacement of existing covers / .directory entries<br>
-h : this (help) message<br>
-r : remove covers from Amarok's cache once copied into albums' directories<br>
-s <string> : use <string> as artist name for sampler albums (default: 'Various Artists')<br>
-t : test mode, won't perform any action<br>
-v : verbose output<br>
-w : don't warn about possible problems with locale<br>
<key> : (perl) regular expression used to match a particular album. album keys are in ''artist - title'' format. search is case insensitive.
</div>
<p>Default behaviour is to scan your whole collection.<br /></p>
<p>If you only want to copy cover for all your DJ Shadow albums, use <em>"dj shadow.*"</em> as a key.<br />
If you only want to copy cover for an album named <em>The outsider</em>, use <em>".*the outsider"</em> as a key.<br />
If you only want to copy cover for DJ Shadow's The Outsider album, use <em>"dj shadow - the outsider"</em> as a key.</p>Installation de Solaris 10 sur mon PCurn:md5:59d18e09f111c429bfdf10f87fb61d2d2007-01-22T00:13:31+00:002007-01-27T19:45:08+00:00Le SebLinusque<p>Où comment l'installation de <em>The most advanced Operating System on the planet</em> (dixit les gars de chez Sun) a failli virer au drame, et m'aura occupé tout le week-end ...</p> <p>Normalement, j'avais prévu d'aller faire du shopping hier, car j'ai un grand besoin de meubles pour remplir l'espace vide de mon nouveau logement (et surtout son absence de rangements), mais il se trouve qu'à mon réveil samedi matin, le facteur était passé m'apporter une pile de factures<sup>[<a href="https://blog.le-seb.org/index.php?post/2007/01/22/79-installation-de-solaris-10-sur-mon-pc#pnote-79-1" id="rev-pnote-79-1">1</a>]</sup>, et vu qu'elles n'étaient pas petites, j'ai préféré faire mes comptes avant de me lancer dans des achats frénétiques. Après une bonne heure de calculs, le constat est simple : la situation (financière) est grave. Pas encore désespérée, soit, mais comme j'ai pas vraiment envie de me priver de sorties dans les mois qui viennent, je m'équiperai en mobilier plus tard !</p>
<p>Du coup, histoire d'occuper un peu la journée, je me suis lancé dans l'installation de la dernière version de Solaris<sup>[<a href="https://blog.le-seb.org/index.php?post/2007/01/22/79-installation-de-solaris-10-sur-mon-pc#pnote-79-2" id="rev-pnote-79-2">2</a>]</sup> sur mon PC.</p>
<p>Pour ceux qui ne la connaissent pas, on pourrait voir ma machine comme la version PC d'une R21 Turbodiesel avec un spoiler de 60 cm de haut sur le hayon : peu d'intérêt au final, mais ça en jette, et ça fait plaisir à son propriétaire. Pour résumer : 5 disques de 250 Go répartis sur 3 contrôleurs IDE, le tout monté dans un boîtier façon "élément de chaîne Hi-Fi".</p>
<p>Une première constatation : Solaris sur architecture Intel me fait penser à Linux. C'est pas évident de trouver du matos compatible.<br />
Du coup, le pépère n'a daigné reconnaître qu'un seul des trois contrôleurs IDE. Bibi était bien emmerdé : le seul disque reconnu par Solaris était tout au fond de la boîte à sardine qui me sert d'UC, là où il faut compter 2 heures de main d'œuvre pour le remplacer par le disque de spare. Beaucoup trop long pour moi, je me suis décidé à sacrifier une partition Linux (vu qu'elle sont toutes montées en RAID, il n'y avait pas trop de risque). Et hop que je fais croire à Nunux que la deuxième des trois partitions du disque est en panne, que je la sors du volume RAID, et que je change son type en "Solaris". Ni vu ni connu, j't'embrouille, je relance l'installation de Solaris dessus.</p>
<p>Après une bonne heure, l'installation est terminée, j'ai un peu fait joujou avec l'environnement, et voilà que Mr Sun s'active dans la barre des tâches : <em>Des mises à jour sont disponibles</em>. Je la joue neuneu / cliquodrome, et pendant qu'il télécharge ses mises à jour, j'essaye de trouver un moyen de faire voir au système les deux autres contrôleurs IDE. Voilà qu'un gars sur le net suggère de mettre à jour un paramètre et de rebooter le bouzin. Ça tombe bien, certaines mises à jour nécessitent un reboot. On fera d'une pierre deux coups. En avant le reboot !</p>
<p>Cinq minutes plus tard, c'est la désolation : le boot loader de Solaris est tout cassé<sup>[<a href="https://blog.le-seb.org/index.php?post/2007/01/22/79-installation-de-solaris-10-sur-mon-pc#pnote-79-3" id="rev-pnote-79-3">3</a>]</sup>, et comme un con j'avais oublié de changer les références aux disques lorsque j'avais installé la carte contrôleur IDE et déplacé le deuxième disque de boot dessus. Du coup, y'a plus rien qui démarrait, la grosse merdasse en quelque sorte ...</p>
<p>J'ai passé le plus clair de la soirée d'hier à tenter de faire booter le Linux sans avoir à réinstaller le système, et j'avais presque réussi. J'en avais même profité pour créer une partition spécifique pour Solaris, après retaillage de celle du Linux (merci au RAID et au LVM qui m'ont permis de faire tout ça système actif). Bref, c'était le début de la fin des galères, et il était grand temps d'aller se coucher, je m'étais lancé un dernier petit album avant extinction automatique du système pour la nuit.</p>
<p>Rendu dans le lit, une pensée me traverse l'esprit : <em>j'ai cassé et recréé la partition RAID de boot du Nunux, mais pas mis à jour le bootloader</em>.<br />
Puis une deuxième pensée : <em>La flemme de redescendre, le bootloader se démerdera. Dodo.</em>.</p>
<p>Du coup ce matin, re-belote : plus rien ne bootait. Après moult tentatives de récupération du système depuis l'antique CD d'installation Debian, avec une version de noyau qui ne reconnaissait que le premier disque, comme Solaris, j'ai fini par me résigner à devoir en graver un plus récent. J'ai donc réinstallé Solaris, téléchargé une image ISO du dernier installateur Debian, et j'ai tenté de la graver. Résultat : un CD à la poubelle.<br />
Heureusement qu'il me restait encore mon portable sous Linux !</p>
<p>J'ai enfin pu réinstaller un Linux tout propre, j'ai récupéré toutes mes données (ouf !), et je me suis remis à l'installation du bootloader Solaris.<br />
Pas franchement mieux qu'hier : ça fait booter Solaris, mais je n'arrive pas à chaîner sur le GRUB Linux présent sur mon deuxième disque système.<br />
En plus, le GRUB de Solaris oublie systématiquement l'option <em>initrd</em> dont j'ai absolument besoin pour faire démarrer mon nunux. Le salaud<sup>[<a href="https://blog.le-seb.org/index.php?post/2007/01/22/79-installation-de-solaris-10-sur-mon-pc#pnote-79-4" id="rev-pnote-79-4">4</a>]</sup> !</p>
<p>M'enfin, l'essentiel est là : j'ai installé Solaris 10.<br />
Ça m'aura pris le week-end, mais maintenant, ça c'est fait ...</p>
<div class="footnotes"><h4>Notes</h4>
<p>[<a href="https://blog.le-seb.org/index.php?post/2007/01/22/79-installation-de-solaris-10-sur-mon-pc#rev-pnote-79-1" id="pnote-79-1">1</a>] Ah, les joies du déménagement ! On s'en prend plein la tronche avec le nouveau logement, et il faut solder toutes les factures de l'ancien ...</p>
<p>[<a href="https://blog.le-seb.org/index.php?post/2007/01/22/79-installation-de-solaris-10-sur-mon-pc#rev-pnote-79-2" id="pnote-79-2">2</a>] Avec le secret espoir que ça me permette de comprendre un peu mieux ce système Unix venu d'une autre planète</p>
<p>[<a href="https://blog.le-seb.org/index.php?post/2007/01/22/79-installation-de-solaris-10-sur-mon-pc#rev-pnote-79-3" id="pnote-79-3">3</a>] J'vous jure m'sieur, j'y suis pour rien !</p>
<p>[<a href="https://blog.le-seb.org/index.php?post/2007/01/22/79-installation-de-solaris-10-sur-mon-pc#rev-pnote-79-4" id="pnote-79-4">4</a>] Je vous invite à taper "<em>initrd /initrd.img-2.6.18-3-k7</em>" avec un clavier qwerty, vous comprendrez ma douleur ...</p></div>
Amarok album cover copy with mycopycover.plurn:md5:3f269213108bf5371da46ee11b1948752006-11-05T17:37:35+00:002007-02-15T01:03:50+00:00Le SebLinusque<p>I've written a Perl version of the <em>copycover-offline.py</em> script found in Amarok's <a href="http://www.kde-apps.org/content/show.php?content=22517" hreflang="en">CopyCover</a> scripts ...</p> <p>Sorry for Python fans, but I simply can't stand that programing language !<br /></p>
<p>That's why I've written from scratch <a href="https://blog.le-seb.org/divers/mycopycover-v1.00.pl">mycopycover.pl</a>, a Perl version of Aurelien Bompard's script with several enhancements :<br /></p>
<ol>
<li>Thanks to Perl, you'll have covers for albums/artists whose names contain accents</li>
<li>Supports AFT feature introduced within Amarok 1.4.2 (and that broke the python script I was using then)</li>
<li>Supports sampler albums, <em>ie</em> you won't have to manually copy covers for those <em>Various Artists</em> albums you have anymore</li>
<li>Creates <em>.directory</em> entries with relative pathnames, so that you can move your folder without losing its thumbnail in Konqueror</li>
</ol>
<p>Its usage is quite simple :</p>
<div style='padding: 5px 20px; border-width: 1px; border-style: solid; background-color: #EEF3F5; font-family: fixed;'>
mycopycover.pl - v1.00<br>
This script copies album covers found in Amarok's cache to the album directories.<br>
<br>
Usage: mycopycover.pl [-dfhrtv] [-c <scheme>] [-s <string>]<br>
<br>
-c <scheme> : use <scheme> as cover filename scheme (default: '%a - %t.png')<br>
recognized jokers in <scheme> are :<br>
'%a', which will be expanded to artist name<br>
'%t', which will be expanded to album's title<br>
-d : do not create .directory entries<br>
-f : force replacement of existing covers / .directory entries<br>
-h : this (help) message<br>
-r : remove covers from Amarok's cache once copied into albums' directories<br>
-s <string> : use <string> as artist name for sampler albums (default: 'Various Artists')<br>
-t : test mode, won't perform any action<br>
-v : verbose output<br>
-w : don't warn about possible problems with locale<br>
</div>
<p>I've been using it for 3 weeks now, and it seems to get things done correctly.<br />
Enjoy !</p>