mercredi 13 janvier 2010

[MySQL] Mysql::Error: Table 'redmine.schema_info' doesn't exist: SELECT version FROM schema_info

Si vous installez une base de données via Rake comme redmine vous pourriez tomber sur une erreur de ce type :
Mysql::Error: Table 'redmine.schema_info' doesn't exist: SELECT version FROM schema_info

Le plus simple pour résoudre cette erreur est de supprimer et recréer la base.

lundi 23 novembre 2009

[Debian] Changer de timezone

Sur une Debian lenny pour changer le Time Zone le plus simple est d'utiliser la commande
# dpkg-reconfigure tzdata
Celui-ci va vous demander de vous localiser (choix du continent et du pays) et vous réglera votre timezone.
Cette commande remplace l'utilisation de tzconfig qui est maintenant déprécié.

mercredi 11 novembre 2009

[Linux] Comment décompresser son fichier initrd compressé en GZIP

Si la commande file /boot/initrd* vous retourne quelque chose comme ceci :
/boot/initrd.img-2.6.31-14-generic: gzip compressed data, from Unix, last modified: Wed Nov 11 16:04:33 2009
C'est que votre initrd est compressé en gzip (oui oui je sais c'est écrit juste dessus mais j'aime bien me répéter !). Donc pour le décompresser une solution (surement pas la seule) :
gunzip -dc /boot/initr* | cpio -id --no-absolute-filenames
Have fun !

dimanche 4 octobre 2009

[xen] Sortir du mode Console avec Putty et un clavier francais

Pour sortir du mode console de xen via une connexion SSH avec putty (par exemple) le [Ctrl] + []] ne fonctionne pas si votre clavier est en français. Faite donc ceci :
[Ctrl] + [$]
Et voilà ;)

mercredi 12 août 2009

[Java] The message has expired (WSSecurityEngine: Invalid timestamp The security semantics of message have expired)

Aujourd'hui j'ai buté sur une erreur ... bête !
Si vous rencontrez ce message d'erreur
The message has expired (WSSecurityEngine: Invalid timestamp The security semantics of message have expired)

Vérifier le réglage de l'heure de vos serveurs ! En effet, c'est certainement dû à un décalage beaucoup trop grand entre l'heure de votre serveur et votre client !

Bonne Prog ;)


PS : Utiliser NTP !

mardi 11 août 2009

[MySQL] ERROR 1045 (28000): Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)

Aujourd'hui, j'ai eu une erreur du type : ERROR 1045 (28000): Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)
Voici comment j'ai fait pour m'en sortir :

Se connecter sur mysql
mysql -u root -p
Nous allons vérifier les privilèges de l'utilisateur debian-sys-maint avec la commande SQL suivante
SHOW GRANTS FOR 'debian-sys-maint'@'localhost';

Dans mon cas l'utilisateur n'avait pas de GRANT OPTION mais la commande suivante devrait résoudre d'autre problèmes du même ordre.
GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

password est le mot de passe que vous retrouverez dans /etc/mysql/debian.cnf

Il suffit de redémarrer le serveur et tout doit fonctionner ;) !
/etc/init.d/mysql restart

dimanche 9 août 2009

[OVH] Le DynHost de OVH et updatedd

Je me suis heurté aujourd'hui à un bien grave problème. La synchronisation de mon IP dynamique (de chez SFR - anciennement neuf-cegetel) et d'un domaine OVH. Alors voilà la solution !

Tout d'abord il convient de se créer un compte DynHost. Pour cela je vous renvoi à la documentation d'OVH : http://guides.ovh.com/DynDns. Une foie notre compte créé et un domaine paramétré nous utiliserons comme le propose OVH l'utilitaire updatedd dont les sources sont téléchargeables à cette adresse : http://nongnu.askapache.com/updatedd/

Décompressons l'archive
~$ tar xvf updatedd_2.6.tar.gz


Avant d'installer l'utilitaire il convient de le modifier car il y a une petite erreur sur l'adresse de OVH. Pour cela modifier le fichier src/plugins/libovh.h.
~$ nano updatedd-2.6/src/plugins/libovh.h

A la ligne 24, il faudra modifier le ovh.com par www.ovh.com. Ainsi la ligne ressemblera à celle ci.

#define DYNDNSHOST "www.ovh.com"


Il ne nous reste qu'à installer updatedd maintenant.
~$ ./configure
~$ make
~$ su
Mot de passe :
# make install


L'utilisation pour OVH de updatedd ce passe comme suit :
updatedd ovh -- --ipv4 ip username:password host

J'ai donc rédigé un script bash pour vérifier l'IP actuelle, la comparer à l'ancienne et faire les mises à jour si c'est nécessaire. Le voici :

#!/bin/bash

## CONFIGURATION ##

# Connection to OVH DynHost
username=user
password=pass
host=my-host.tld

# How to log
# 1 = true, 0 = false
log_change=1
log_no_change=0
log_file=/var/log/dynhost.log

# File with old IP
old_ip_file=/var/cache/ip_old

# To avoid error "file not found"
touch ${old_ip_file}
touch ${log_file}


# Get Public IP
ip=`w3m -dump http://www.monip.org/ | awk -F': ' '/IP/ { print $2 }'`

# Get Old Public IP
ip_old=`cat ${old_ip_file}`


# Test if IPs are equal
if [ "${ip}" = "${ip_old}" ]
then
if [ "${log_no_change}" = "1" ]
then
echo `date`: No IP change was found >> ${log_file}
fi
else
echo ${ip} > ${old_ip_file}
if [ "${log_change}" = "1" ]
then
echo "`date`:IP has change. (Old : ${ip_old}, New : ${ip})" >> ${log_file}
updatedd ovh -- --ipv4 ${ip} ${username}:${password} ${host} >> ${log_file}
else
updatedd ovh -- --ipv4 ${ip} ${username}:${password} ${host}
fi
fi

Ensuite il suffit de placer ce script quelque part ;) (pour ma part dans /usr/local/bin) et de configurer un cron pour l'exécution périodique du script ;) !

Voilà bon courage !

PS : Je ne sais pas si j'ai fait une bonne utilisation des dossiers linux. Donc si quelqu'un d'avertis sur le sujet venait à passer par là je serai preneur d'informations !
PS2 : Le script n'est pas parfait, si j'ai du temps un jour j'en ferai un meilleur !