Archives de l’auteur : cyril

Miniatures CRW Canon sous Windows

A cause des constructeurs photos incapables de s’entendre sur un format RAW, préférant conserver leur format au détriment des utilisateurs, des manipulations sont nécessaires pour avoir les miniatures des images raw dans l’explorateur windows.

Windows XP

Télécharger et installer Microsoft RAW Image Thumbnailer and Viewer for Windows XP chez Microsoft

Windows Vista

Télécharger et installer les Canon RAW Codecs
La version 1.2 supporte les fichiers CRW et CR2, supportant ainsi (entre autres) les EOS 30D, 300D et 400D.

La version 1.5 est disponible ici

Pour en savoir plus

Source: Canon RAW CR2 and CRW Thumbnail support in Vista, avec les liens pour les appareils Nikon, Pentax et Olympus.

Petite explication sur le format RAW

Pourquoi cette multitude de formats n’est pas favorable aux utilisateurs que nous sommes, sur le site formats-ouverts.org

Astuces Exim

Simuler le routage d’un mail :

exim -bt cyril@domain.com


Voir la file d’attente

exim -bp


Supprimer un mail donné:

exim -Mrm id_mail


Débloquer un mail donné:

exim -M id_mail


Utiliser un smarthost:

Certaines listes de spam (notamment spamhaus) considèrent les IP résidentielles comme source de spam, et blacklistent donc ces adresses IP : « This IP range has been identified by Spamhaus as not meeting our policy for IPs which should deliver ‘direct-to-mx’ mail to PBL users. »

La solution la plus simple consiste à renvoyer les mails à destination des domaines concernés vers le smtp du FAI, ce dernier n’étant pas (toujours) blacklisté

Ajouter dans exim4.conf, au début de la section « begin routers »

send_to_smarthost:
       driver = manualroute
       domains = gmail.com : netcourrier.com
       transport = remote_smtp
       route_list = * smtp.free.fr

Cacti simple oid

I used to play with cacti, creating my own scripts, data input methods, data sources, graphs items and then graphs, but it was long way to obtain a single graph.

A smarter way is to use « SNMP – Generic OID Template » that appeared in cacti.
Let’s see an example : I want to graph the number of spams I’ve received during the last 24 hours. Counting is easy, I’ve just to find all files more recent than 24 hours in my IMAP folder « spam » (spamassassin does a very good job !). But I had to face security considerations, because apache user had to access my maildir !

It’s much simpler to expose this number via snmp, and then to create a simple graph based on Cacti « Generic OID » template. Note that SNMP is only accessible from my LAN, and the number of spams I’ve received is not very sensitive data. So let’s go:

  • Create the script /usr/local/bin/countspam.sh
#!/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
find /home/cyril/Maildir/.SPAM/cur/ -ctime -1 | wc -l
  • Configure snmpd.conf to run this script and return the result
# Extensible sections.
exec .1.3.6.1.4.1.15555.1 countspam.sh /usr/local/bin/countspam.sh
  • Test the query. Note that the interesting value is .1.3.6.1.4.1.15555.101.1
root:/etc # snmpwalk -c public -v2c localhost .1.3.6.1.4.1.15555.1
SNMPv2-SMI::enterprises.15555.1.1.1 = INTEGER: 1
SNMPv2-SMI::enterprises.15555.1.2.1 = STRING: "countspam.sh"
SNMPv2-SMI::enterprises.15555.1.3.1 = STRING: "/usr/local/bin/countspam.sh"
SNMPv2-SMI::enterprises.15555.1.100.1 = INTEGER: 0
SNMPv2-SMI::enterprises.15555.1.101.1 = STRING: "40"
SNMPv2-SMI::enterprises.15555.1.102.1 = INTEGER: 0
SNMPv2-SMI::enterprises.15555.1.103.1 = ""
  • Connect to cacti console, click « New graph », select your host and « SNMP – Generic OID Template »
  • Enter the title, OID .1.3.6.1.4.1.15555.101.1 and choose a (fun) color
  • Your graph is now ready :

spam-count

Grub error 15 when adding new hard disk

I have a Asus M2N-MX motherboard, with an single SATA disk, and grub correctly configured:

/boot/grub/device.map
(hd0) /dev/sda

When I tried adding an IDE disk, grub refused to boot with « error 15 », which means « file not found ».

Obviously, grub was detecting disks in a wrong order, and was trying to load stage 1.5 from the IDE disk. To be clear, since the boot disk defined in the BIOS was the SATA, it had to be presented to grub as the first disk. So it’s a buggy BIOS.

This seems to be a common behavior when mixing IDE and SATA disks.
I googled about this error, but founded nothing really helpful. Changing boot order or activating onboard RAID didn’t solve this error.

Then I upgraded from bios 0701 to 0903, and the problem was gone.

TIP: To upgrade Asus motherboard bios on a linux-only computer, you don’t need to create a DOS bootable floppy. Recent Asus motherboard include a feature called « EZ-Flash », which is an BIOS upgrade utility included … in the BIOS.

  • Download BIOS update from Asus Website
  • Unzip it and extract the .ROM file (for me M2NX0907.ROM)
  • Rename this file with the motherboard model name (for me M2N-MX.ROM)
  • Install mtools on your distro
  • Insert a blank floppy
  • Format the floppy mformat a:
  • Copy the rom on the floppy mcopy M2N-MX.ROM a:
  • Reboot
  • During POST, press Alt-F2 to launch EZ-Update
  • The BIOS upgrade procedure will start

Récupération de photos avec photorec

Photorec est un utilitaire fonctionnant sous Linux et Windows qui est capable (entre autres) de scanner des cartes flash illisibles et de restaurer les fichiers qui y sont enregistrés.

Voici un bref tutoriel basé sur un cas réél : la batterie était vide et l’appareil photo s’est probablement éteint durant l’écriture sur la carte, la table des fichiers étant ainsi corrompue. La récupération a été effectuée sous Linux, pour plus de souplesse.

Windows ne veut plus de la carte (« Vous devez formater le disque avant de l’utiliser »)
Parfois linux accepte la carte sans broncher, ce n’est pas le cas cette fois-ci.

Sur une Debian ou Archlinux, il faut installer le paquet testdisk, qui comprend photorec.

Pour avoir l’erreur détaillée, il suffit de lancer la commande dmesg dans un terminal.

$ dmesg
sd 2:0:0:3: [sde] 512000 512-byte hardware sectors (262 MB)
sd 2:0:0:3: [sde] Write Protect is off
sd 2:0:0:3: [sde] Mode Sense: 43 00 00 08
sd 2:0:0:3: [sde] Assuming drive cache: write through
sd 2:0:0:3: [sde] 512000 512-byte hardware sectors (262 MB)
sd 2:0:0:3: [sde] Write Protect is off
sd 2:0:0:3: [sde] Mode Sense: 43 00 00 08
sd 2:0:0:3: [sde] Assuming drive cache: write through
sde: sde1
FAT: invalid media value (0x78)
VFS: Can't find a valid FAT filesystem on dev sde1.
FAT: invalid media value (0x78)
VFS: Can't find a valid FAT filesystem on dev sde1.

Premièrement, il est préférable de travailler sur une copie de la carte, que nous allons créer dans le répertoire « photorec »

$ mkdir photorec
$ cd photorec
$ cat /dev/sde > sde.img

On obtient donc un fichier sde.img de la taille de la carte flash.
On peut vérifier qu’il s’agit bien d’une image de disque :

$ file sde.img
sde.img: x86 boot sector

Il suffit ensuite de lancer photorec en lui indiquant le fichier image

$ photorec sde.img

  • Sélectionner le fichier sde.img
  • Choisir le type de partition intel
  • Sélectionner la partition
  • Choisir le système de fichiers Other (FAT)
  • Choisir « Free »
  • Taper Y pour enregistrer les images trouvées dans le répertoire en cours, dans le répertoire recup_dir.1

S’il manque des images, relancer l’opération en modifiant les options

  • Brute force: Yes
  • Whole disk

Une fois les images récupérées, le fichier .img peut être supprimé, et la carte formatée.

Astuce : Si des images jpeg semblent endommagées avec certains logiciels (comme Photoshop), essayer de les ouvrir avec Gimp.

Site officiel de photorec

Enabling Wake on Lan on DLink DFE-538TX

I’ve installed a D-Link DFE 538 TX network card (via rhine chipset) in my computer but wake on lan didn’t seem to work.
I discovered that I could (and I had) to enable it at each reboot, using ethtool

root@ale:~# ethtool eth1
Settings for eth1:
       Supported ports: [ TP MII ]
       Supported link modes:   10baseT/Half 10baseT/Full 
                               100baseT/Half 100baseT/Full 
       Supports auto-negotiation: Yes
       Advertised link modes:  10baseT/Half 10baseT/Full 
                               100baseT/Half 100baseT/Full 
       Advertised auto-negotiation: Yes
       Speed: 100Mb/s
       Duplex: Full
       Port: MII
       PHYAD: 8
       Transceiver: internal
       Auto-negotiation: on
       Supports Wake-on: pumbg
       Wake-on: d
       Current message level: 0x00000001 (1)
       Link detected: yes

According to ethtool’s man page :

      wol p|u|m|b|a|g|s|d...
             Set  Wake-on-LAN  options.  Not all devices support this.  
             The argument to this option is a string of characters specifying
             which options to enable.
             p  Wake on phy activity
             u  Wake on unicast messages
             m  Wake on multicast messages
             b  Wake on broadcast messages
             a  Wake on ARP
             g  Wake on MagicPacket(tm)
             s  Enable SecureOn(tm) password for MagicPacket(tm)
             d  Disable (wake on nothing).  This option clears all previous options.

So wake on lan is disabled each time I turn on my computer.
To enable all wake-on-lan options:

ethtool -s eth1 wol pumbg

And to enable them at each system startup :

echo "/usr/sbin/ethtool -s eth1 wol pumbg" | tee -a /etc/rc.local 

I can now use wakeonlan to wake up my computer… And it’s written in dmesg :

via-rhine: Woke system up. Reason: Magic packet.

Renvoi des requêtes apache vers un autre serveur web

La problématique est la suivante: Je veux tranquillement migrer mes virtualhosts apache d’un serveur web vers l’autre.
Ces serveurs sont sur mon lan, et mon routeur forwarde le port 80 vers mon ancien serveur web. Je ne pourrais basculer ce transfert de ports vers le nouveau serveur qu’une fois tous mes virtualhosts migrés.

La solution consiste donc à demander à apache d’utiliser le nouveau serveur web comme proxy pour chaque virtualhost migré.
La configuration du serveur virtuel (sur l’ancien serveur) passe donc de :

<VirtualHost *:80>
 ServerName monvirtualhost.pawelko.net
 DocumentRoot /mnt/data/monvirtualhost
</VirtualHost>

en

<VirtualHost *:80>
 ServerName monvirtualhost.pawelko.net
 <IfModule mod_proxy.c>
    ProxyRequests Off
    ProxyRemote * http://monnouveauserveur
    ProxyPass  /  http://monvirtualhost.pawelko.net/
    ProxyPassReverse / http://monvirtualhost.pawelko.net/
 </IfModule>
</VirtualHost>

Une fois tous les virtualhosts migrés, je n’aurais plus qu’à forwarder le port 80 vers mon nouveau serveur

hddtemp template for cacti

I’ve made a template to query hddtemp deamon and graph disks temperature.
Tested with cacti 0.8.6h on fc5, debian and gentoo. It uses only php core functions, no extra librairies are needed.

graph_image.php

INSTALLATION :

  • Install and configure hddtemp daemon
  • Test it with « telnet <host> 7634 » from your cacti box
  • Output should be similar to :

"|/dev/hda|IBM-DJNA-371350|47|C||/dev/hdc|Maxtor 6Y080L0|44|C|"

  • Copy hddtemp.xml to resources/script_queries directory
  • Copy hddtemp.php to scripts directory
  • Import template file cacti_template_linux_hddtemp_disk_temperature.xml
  • Add « Linux – hddtemp – disk temperature » data query to your host
  • Create new graph for this host and select disks

GROUPING GRAPHS :

If you want to group several disks on the same graph :

  • Import cacti_graph_template_linux_hddtemp_disk_temperature_2x.xml or cacti_graph_template_linux_hddtemp_disk_temperature_9.xml templates
  • Create a graph for each disk as described above
  • Create a graph for your host using 2x or 9x template, let fields empty
  • Edit the graph and select data sources previously created
  • You can delete single-disk graphs but not data sources

NOTE : You need exactly 2 or 9 disks, or you’ll have to modify the template.

DOWNLOAD : cacti-linux-hddtemp-1.0.tar.gz

Astuces Thunderbird

Désactiver l’avertissement de sécurité des certificats

Une extension très pratique pour désactiver l’avertissement « Erreur de sécurite: Nom de domaine incompatible » dans Thunderbird, il s’agit de « Remember Mismatched Domains » (site).
Elle ajoute une case à cocher qui permet de ne plus afficher l’avertissement concernant un domaine.
Utile par exemple avec zimbra ou un autre serveur IMAPS utilisé avec des noms DNS différents.


Chercher les nouveaux messages dans tous les dossiers

Pour que Thunderbird scrute tous les dossiers IMAP à la recherche de nouveaux dossiers, aller dans Outils / Options / Avancé / Editeur de configuration:
Mettre la valeur mail.check_all_imap_folders_for_new à true