[Graylog2] Installer Graylog2 sur Debian
Jeudi 23 février 2012 @ 2:06

Graylog2 est un gestionnaire de configuration.

Nous allons voir ici comment installer graylog2-server et comment centraliser vos logs sur ce serveur.

Installation de graylog2-server

MongoDB

Une des dépendance de graylog2-server est mongodb. Mongodb est une base de donnée nosql assez performante qui permet à graylog de garder les traces de vos logs. Nous allons donc installer MongoDB

# aptitude install mongodb mongodb-server

L’installation de base de MongoDB est configurée pour fonctionner et nous n’avons pas besoin de modifier cette configuration.

Deux ports sont ouverts pour MongoDB le 27017 et le 28017

netstat -patue | grep mongodb
tcp        0      0 localhost:28017         *:*                     LISTEN      mongodb    16843       4384/mongod
tcp        0      0 localhost:27017         *:*                     LISTEN      mongodb    16841       4384/mongod

Le port 27017 est le port d’écoute de MongoDB où sont envoyer les données. Le port 28017 est quant à lui le port d’administration. Vous pouvez y accéder via le protocole HTTP.

Nous allons ensuite créer un utilisateur dans MongoDB pour permettre à Graylog2 de se connecter. MongoDB propose pour cela une invite de commande.

$ mongo
MongoDB shell version: 1.4.4
url: test
connecting to: test
type « help » for help
> use graylog2
switched to db graylog2
> db.addUser(‘graylog’, ‘mystrongpassword’)
{
« user » : « graylog »,
« readOnly » : false,
« pwd » : « 3a645a39bef99c8bba9c805e06536240″
}
> db.auth(‘graylog’, ‘mystrongpassword’)
1

Nous démarrons dans un premier temps le shell mongodb et nous connectons à la base graylog2. Nous créons un utilisateur graylog avec comme  mot de passe mystrongpassword. Nous testons ensuite la connexion.

OpenJDK

Graylog2 est un produit développé en JAVA. Il nous faut donc une machine virtuelle JAVA. Graylog2 conseil l’utilisation de OpenJDK nous allons donc installer le JRE d’OpenJDK.

# aptitude install openjdk-6-jre

L’installation ne demande pas plus de configuration.

ElasticSearch

Pour des raisons de performance Graylog2 utilise un système d’indexage de données via le produit elasticsearch. ElasticSearch est un produit JAVA lui aussi. Nous allons ici installer la version0.18.7 qui est la dernière version en date à l’heure d’aujourd’hui. Vous pouvez vérifier qu’elle est la version stable actuelle ici.

# cd /opt

# wget https://github.com/downloads/elasticsearch/elasticsearch/elasticsearch-0.18.7.tar.gz

# tar xvf elasticsearch-0.18.7.tar.gz

# ln -s elasticsearch-0.18.7 elasticsearch

Nous créons ensuite un script LSB de démarrage dans init.d et le rendons exécutable. Le script original est disponible ici.

# vim /etc/init.d/elasticsearch

#! /bin/sh
### BEGIN INIT INFO
# Provides:          elasticsearch
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Starts elasticsearch
# Description:       Starts elasticsearch using start-stop-daemon
### END INIT INFO

ES_HOME=/opt/elasticsearch
ES_MIN_MEM=256m
ES_MAX_MEM=2g
DAEMON=$ES_HOME/bin/elasticsearch
NAME=elasticsearch
DESC=elasticsearch
PID_FILE=/var/run/$NAME.pid
LOG_DIR=/var/log/$NAME
DATA_DIR=/var/lib/$NAME
WORK_DIR=/tmp/$NAME
CONFIG_FILE=/etc/$NAME/elasticsearch.yml
DAEMON_OPTS= »-p $PID_FILE -Des.config=$CONFIG_FILE -Des.path.home=$ES_HOME -Des.path.logs=$LOG_DIR -Des.path.data=$DATA_DIR -Des.path.work=$WORK_DIR »

test -x $DAEMON || exit 0

set -e

case « $1″ in
start)
echo -n « Starting $DESC:  »
mkdir -p $LOG_DIR $DATA_DIR $WORK_DIR
if start-stop-daemon –start –pidfile $PID_FILE –startas $DAEMON — $DAEMON_OPTS
then
echo « started. »
else
echo « failed. »
fi
;;
stop)
echo -n « Stopping $DESC:  »
if start-stop-daemon –stop –pidfile $PID_FILE
then
echo « stopped. »
else
echo « failed. »
fi
;;
restart|force-reload)
${0} stop
sleep 0.5
${0} start
;;
*)
N=/etc/init.d/$NAME
echo « Usage: $N {start|stop|restart|force-reload} » >&2
exit 1
;;
esac

exit 0

# chmod +x /etc/init.d/elasticsearch

Nous démarrons aussi elasticsearch au démarrage du système.

# update-rc.d elasticsearch defaults

La configuration est disponible dans le fichier /etc/elasticsearch/elasticsearch.yml. Créons ce fichier

# mkdir -p /etc/elasticsearch

# vim /etc/elasticsearch/elasticsearch.yml

cluster:
name:  graylog2

network:
host:   _eth0_

Nous déclarons un simple cluster nommé graylog2 et spécifions à elasticsearch d’utiliser l’interface eth0 pour l’écoute. Vous pouvez alternativement spécifier une adresse ip ou enlever cette directive pour écouter sur toutes les interfaces. ElasticSearch écoute par défaut sur le port 9200.

Démarrons maintenant elasticsearch.

# /etc/init.d/elasticsearch start

Graylog2

Nous allons maintenant installer graylog2-server. Graylog2 propose une archive compilé de projet, celle ci est disponible sur github. Nous allons donc télécharger cette archive dans le dossier /opt/graylog2. La dernière version du projet est la 0.9.6, vous pouvez vérifier si une nouvelle version stable n’est pas disponible ici.

https://github.com/downloads/Graylog2/graylog2-server/graylog2-server-0.9.6.tar.gz

# cd /opt

# wget https://github.com/downloads/Graylog2/graylog2-server/graylog2-server-0.9.6.tar.gz

# tar xvf graylog2-server-0.9.6.tar.gz

# ln -s graylog2-server-0.9.6 graylog2-server

L’archive contient aussi un fichier de configuration de base que vous pouvez copier dans /etc/graylog2.cfg

# cp graylog2-server/graylog2.conf.example /etc/graylog2.conf

Nous modifions ensuite ce fichier pour respecter notre configuration de MongoDB et ElasticSearch.

# vim /etc/graylog2.cfg

# ElasticSearch URL (default: http://localhost:9200/)
elasticsearch_url = http://localhost:9200/
elasticsearch_index_name = graylog2

# MongoDB Configuration
mongodb_useauth = true
mongodb_user = graylog
mongodb_password = mystrongpassword
mongodb_host = localhost
#mongodb_replica_set = localhost:27017,localhost:27018,localhost:27019
mongodb_database = graylog2
mongodb_port = 27017

Ici nous n’avons modifier que le nom d’utilisateur et le mot de passe mais adapter donc les différentes options à vos besoins.

Nous pouvons maintenant tester notre installation en mode debug pour vérifier qu’aucune erreurs n’est arrivée.

# cd /opt/graylog2-server
# java -jar graylog2-server.jar –debug

Si aucune erreur ne survient vous pouvez arreter le service via un [CTRL]+[C].

Comme pour elasticsearch, nous allons créer un script LSB de démarrage. Le script utilisé est disponible ici.

# vim /etc/init.d/graylog2-server

#! /bin/sh
### BEGIN INIT INFO
# Provides:          Graylog2
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Starts Graylog2
# Description:       Starts Graylog2 using start-stop-daemon
### END INIT INFO

GL_HOME=/opt/graylog2-server
GL_JAR=$GL_HOME/graylog2-server.jar
NAME=graylog2
DESC=graylog2
PID_FILE=/var/run/graylog2.pid
CONFIG_FILE=/etc/graylog2.conf

test -f $GL_JAR || exit 0

set -e

case « $1″ in
start)
echo -n « Starting $DESC…  »
/usr/bin/java -jar « $GL_JAR » -f « $CONFIG_FILE » &
echo « started (`cat « $PID_FILE »`). »
;;
stop)
PID=`cat « $PID_FILE »`
echo -n « Stopping $DESC ($PID)… »
kill $PID
echo stopped.
;;
restart|force-reload)
${0} stop
sleep 0.5
${0} start
;;
*)
N=/etc/init.d/$NAME
echo « Usage: $N {start|stop|restart|force-reload} » >&2
exit 1
;;
esac

exit 0

# chmod +x /etc/init.d/graylog2-server

# update-rc.d graylog2-server defaults

Nous pouvons maintenant démarrer graylog2-server

# /etc/init.d/graylog2-server start

Installation d’un client RSyslog

Nous allons maintenant configurer RSyslog sur un des serveurs dont nous souhaitons centraliser les logs.

Tout d’abord installons RSyslog, si ce n’est déjà fait !

# aptitude install rsyslog

Nous souhaitons centraliser tout les logs de notre serveur nous allons donc tous les rediriger vers notre serveur graylog2. Pour cela éditer le fichier /etc/rsyslog.conf et ajouter la ligne suivante

# vim /etc/rsyslog.conf

*.* @<ip-server-graylog2>:514

Redémarrer rsyslog

# /etc/init.d/rsyslog restart

Et c’est tout ! Tout les logs du serveurs serons maintenant envoyés chez graylog2 !

Graylog2-web-interface

C’est bien beau me direz vous, mais on en fait quoi de nos logs ? Et bien on les lis !! Pour celà graylog2 propose un service web développé en ruby. Nous allons voir son installation.

Tout d’abord installons les outils de base rub, à savoir l’interpréteur ruby lui même mais aussi l’installeur gems et le « constructeur » rake.

# aptitude install ruby rubygems rake

Puis installons le gestionnaire de dépendance bundler via gem

# gem install bundler –no-ri –no-rdoc

Sous Debian les binaires sont disponibles dans le dossier /var/lib/gems/<version>/bin. Nous allons ajouter ce chemin dans notre variable PATH

# vim /etc/profile.d/gems_bin.sh

#!/bin/bash

export PATH=$PATH:/var/lib/gems/1.8/bin

# chmod +x /etc/profile.d/gems_bin.sh

# source /etc/profile.d/gems_bin.sh

Nous pouvons maintenant télécharger et installer les (nombreuses) dépendances de graylog2-web-interface. La version ici installée est la 0.9.6, vérifier si une nouvelle version n’est pas disponible.

# cd /opt

# wget https://github.com/downloads/Graylog2/graylog2-web-interface/graylog2-web-interface-0.9.6.tar.gz

# ln -s graylog2-web-interface-0.9.6 graylog2-web-interface

# cd /opt/graylog-web-interface

#  bundle install

Les fichiers de configuration du serveurs sont disponibles dans le dossier config/*.yml. Editons indexer.yml et mongoid.yml pour les adapter à nos besoins.

# vim config/mongoid.yml

production:
host: localhost
port: 27017
username: graylog
password: mystrongpassword
database: graylog2

Nous pouvons maintenant tester notre serveur en l’exécutant dans le shell courant.

# script/rails server -e production

… Will continue …

 

Comments (0) - Posted in Linux by  



[vim] Insérer une espace fine insécable.
Samedi 18 février 2012 @ 12:29

Dans certain cas de rédaction de document vous avez besoin d’insérer dans vim des espaces fines insécables.

Pour cela rien de plus « simple« .

Passer en mode insertion, faite [CTRL]+K puis presser le N (majuscule) puis le S (majuscule). Votre espace fine insécable apparaîtra !!

Comments (0) - Posted in Linux by  



[Vim] La correction grammaticale !
Vendredi 30 décembre 2011 @ 1:53

Introduction

Préambule

Comme vous le savez surement Vim est doté d’un excellent système de correction syntaxique qui vous corrigera sans problème un « Caffé » en « Café » mais qu’en est-il de la correction grammaticale ?
Nous allons ici découvrir un outil fort intéressent nommé LanguageTool et son extension Vim !

Qu’est ce que LanguageTool

LanguageTool est un correcteur grammatical. C’est-à-dire qu’il corrigera vos erreurs d’accord, de pluriel, etc. Le produit est à l’origine disponible pour OpenOffice et à l’instar de ce dernier LanguageTool est écrit en Java. Ceci permet donc de l’exécuter partout et non plus seulement dans OpenOffice.

Installation

Installation de LanguageTool

La première chose à faire est de télécharger LanguageTool sur votre Ordinateur. Pour cela le plus simple est de se rendre sur le site de LanguageTool — http://www.languagetool.org/ — et récupérer le lien vers la dernière version. À l’heure où j’écris ces lignes la version courante est la 1.5. Le fichier que nous allons télécharger est au format OXT qui correspond au format d’extension d’OpenOffice. Prenez soin d’adapter les lignes suivantes à votre version de LanguageTool.

$ mkdir -p ~/software/languagetool/1.5
$ cd ~/software/languagetool/1.5
$ wget http://www.languagetool.org/download/LanguageTool-1.5.oxt

Les fichiers OXT sont en réalité des archives ZIP que nous pouvons facilement décompresser à l’aide de la commande unzip. Pour cela procédons comme suit.

$ unzip LanguageTool-1.5.oxt

Nous avons donc maintenant une liste de fichiers et de dossier assez importante dont le fichier LanguageTool.jar. Ce fichier est la version compilée — appelée bytecode— du correcteur, c’est donc celui ci que Vim exécutera pour faire fonctionner la correction grammaticale.
Nous allons maintenant installer l’extension Vim pour utiliser notre correction grammaticale.

Installation de l’extension Vim

Il existe une extension Vim maintenue par Dominique Pellé et disponible sur le site de Vim — http://www.vim.org/scripts/script.php? script_id=3223. Nous allons télécharger la dernière version de l’extension qui à l’heure d’aujourd’hui est la 1.14. Comme toujours les fichiers Vim se trouve dans le dossier caché .vim à la racine de notre dossier personnel.

$ cd ~/.vim
$ wget « http://www.vim.org/scripts/download\_script.php?src\_id=15306″ -O LanguageTool.zip

Attention: Ce lien télécharge la version 1.14 qui n’est peut-être pas la dernière version.
L’extension Vim est au format ZIP nous la décompressons donc.

$ unzip LanguageTool.zip

Et supprimons l’archive

$ rm LanguageTool.zip

Il ne nous reste plus qu’à configurer Vim pour qu’il utilise notre extension correctement!

Configuration

Nous allons configurer Vim pour qu’il utilise LanguageTool. La configuration de Vim se trouve dans le fichier caché .vimrc à la racine de votre dossier personnel. Éditez-le.

$ vim ~/.vimrc

Il nous faudra tout d’abord spécifier à l’extension Vim l’endroit où trouver le fichier JAR de correction grammaticale. Ceci se fait à l’aide de la variable ’g:languagetool_jar’. Dans notre cas le fichier jar se trouve dans le dossier software ->languagetool ->1.5 dans notre dossier personnel nous ajouterons donc cette ligne à notre fichier .vimrc.

let g:languagetool\_jar=$HOME .
‘/software/languagetool/1.5/LanguageTool.jar’

Enfin par défaut la correction grammaticale est anglaise. Pour modifier ce comportement vous avez deux solutions. Soit, modifier la langue du document en cours d’exécution

:setlocal spell spelllang=fr

Soit, modifier la configuration par défaut pour tous les documents. Cette configuration peut déjà avoir été effectué si vous utilisez la correction syntaxique de Vim. Pour cela éditer le fichier vimrc et ajouter la ligne suivante.

setlocal spell spelllang=fr

Utilisation

L’extension Vim pour LanguageTool ajoute deux nouvelles commandes, LanguageToolCheck et LanguageToolClear. La commande LanguageToolCheck permet d’activer la correction grammaticale. Le document courant sera parcouru par LanguageTool et l’écran de Vim sera découpé en deux pour vous afficher la liste des erreurs grammaticales trouvées dans le document. La commande LanguageToolClear, elle, permet de fermer la correction grammaticale.
Lors de l’exécution de LanguageToolCheck, LanguageTool vous donnera des informations comme celle ci

Error: 1/37 (FRENCH\_WHITESPACE) @ 1L 192C
Message: Point d’interrogation est …
Context: …de la correction grammaticale ? Nous …
Correction: ?

La première ligne vous informera du type d’erreur que vous rencontrez (ici un problème d’espace) et de la ligne où se produit l’erreur — Ici la ligne 1 — ainsi que le caractère sur la ligne. Il vous est ensuite présenté la raison de l’erreur et le contexte de l’erreur, c’est-à-dire le texte où se trouve l’erreur. Enfin LanguageTool vous propose une correction pour le problème que vous pouvez utiliser si vous le souhaitez !

Conclusion

Nous avons vu ici qu’il était très simple d’utiliser la correction grammaticale de LanguageTool dans Vim ce qui prouve encore une fois que tout est possible avec Vim. Si ce n’est pas déjà fait vous pouvez accompagner cette correction avec la correction syntaxique de Vim qui est inclus dans le cœur de Vim. En espérant que cet article vous a aidé, n’hésitez pas à me faire vos retours et n’oubliez pas : Vim c’est la vie !

Cet article est aussi disponible au format tex ou PDF.

Comments (0) - Posted in Linux by  



[Android] Mettre à jour son Samsung sous GNU/Linux avec Heimdall
Lundi 26 décembre 2011 @ 1:20

En tant que fervent utilisateur de GNU/Linux vous avez il y a plus ou moins longtemps fait l’acquisition d’un Smartphone Android. Comme vous êtes un geek accompli vous souhaitez aujourd’hui mettre à jour votre téléphone pour bénéficier des dernières nouveautés d’Android. Après quelques recherches sur le web vous découvrirez bien vite un produit nommé ondin. Enfer et damnation, ce produit ne fonctionne que pour Windows ! Qu’à cela ne tienne nous allons découvrir une solution équivalente pour GNU/Linux : heimdall.

Un équivalent à Ondin pour GNU/Linux

Ondin est dans la mythologie germaine un génie des eaux qui a donné sont nom à un syndrome respiratoire, à un pratique sexuel… mais surtout à un logiciel !

Ondin est un produit de Samsung^w de développeurs indépendants qui vous permet de mettre à jour le  système d’exploitation de votre téléphone Samsung. Ce produit permet de gérer les différents fichiers du système Android allant du partitionnement (organisation des données sur le téléphone), du système en lui même jusqu’au modules de gestion de la connectivité (Téléphone et internet EDGE/3G).

Ce produit bien que pleinement fonctionnel sous Windows n’a pas de version pour GNU/Linux aussi Benjamin Dobell a pris la très bonne initiative de ré-implémenter les fonctionnalités de Ondin dans une application multiplateforme et qui plus est libre! Le nom de cette application est heimdall. Ce nom est lui aussi tiré de la mythologie et est considéré comme un dieu du feu, nous noterons aussi non sans interrogation qu’il est le fils de 9 (oui oui neuf !) mères ! De plus il est le fils adoptif d’ondin !

D’après la documentation Heimdall semble fonctionner sur les Samsung Captivate, Vibrant, Fascinate, Mesmerize, Epic 4G, Galaxy S 4G, Infuse 4G, GT-I9000T, Galaxy Tab, Galaxy S II et GT-I9000. Pour les possesseurs de Samsung Galaxy S votre nom de code est la plupart du temps GT-I9000 donc votre téléphone est supporté !

Installation de heimdall

En nous rendant sur le site de heimdall nous découvrirons qu’il existe plusieurs paquets de l’application. Des paquets sont disponibles pour Windows, Mac OS et Debian. Pour les autres distributions il conviendra de compiler les sources de l’application.

Rendez vous donc sur le github de heimdall pour voir les différents fichiers disponibles en téléchargement : https://github.com/Benjamin-Dobell/Heimdall/downloads

Vous avez du constater qu’il existe trois paquets différents. En voici une description :

Prérequis

Note : Sous gentoo il existe un ebuild dans l’overlay poly-c, vous pouvez donc l’utiliser avec Layman. Nous détaillerons néanmoins la procédure de compilation pour les autres systèmes (RHEL, Suse, Mandriva, etc …).

Note : La compilation d’une application nécessite les outils de compilation standard. Nous ne détaillons pas ici la procédure d’installation de ceux ci.

Heimdall dépend de la librairie USB qui est disponible sur toutes les distributions. Installer là avec les sources à l’aide de votre gestionnaire de paquet favori (apt, yum, urpmi, …).

Sous Debian

# apt-get install libusb-dev

Sous mandriva

# urpmi libusb-devel

Sous Centos ou RedHat

# yum install libusb-devel

Sous Suse (OpenSuse, SLES ou SLED)

# zypper install libusb-dev

Nous pouvons maintenant commencer la compilation de heimdall.

Compilation

Nous stockerons les sources dans notre dossier personnel. Pour cela nous créons un dossier réservé à heimdall (Ceci doit être adapté à votre goût !)

$ mkdir -p ~/software/heimdall

Et nous nous rendons dans ce nouveau dossier

$ cd ~/software/heimdall

Nous récupérons ensuite les sources de la dernière version stable. Penser à adapter le numéro de version !

$ wget -O heimdall-v1.3.1.tar.gz https://nodeload.github.com/Benjamin-Dobell/Heimdall/tarball/v1.3.1

Décompressez l’archive

$ tar xvf heimdall-v1.3.1.tar.gz

Et accéder aux sources

$ cd Benjamin-Dobell-Heimdall-*

Nous allons dans un premier temps compilez la bibliothèque de gestion des fichiers PIT. Les fichiers PIT sont les fichiers de partitionnement du téléphone.

$ cd libpit

$ ./configure

$ make

Il n’est pas nécessaire d’effectuer un make install c’est le la compilation de heimdall qui s’en chargera.

Nous allons d’ailleurs compiler heimdall.

$ cd ../heimdall

$ ./configure

$ make

Il ne nous reste qu’à installer heimdall ! Pour cela connecter vous en root (avec la commande su ou sudo).

# make install

Heimdall est maintenant installé dans /usr/local/bin/heimdall

Préparation du firmware

Dans l’archive de votre nouveau système Android vous retrouverez trois fichier tar et un fichier pit.

Comme dit précédemment le fichier PIT est un fichier binaire qui configurera le partitionnement de votre téléphone. Pour plus d’information référer vous à cet article[en].

Les autres fichiers sont des archives qui contiennent des fichiers. Nous allons les décompresser.

tar xvf CODE*.tar

tar xvf *CSC*.tar

tar xvf MODEM*.tar

Les fichiers décompressés et intéressants sont les suivants

Pour plus d’information sur le démarrage du téléphone aller voir ce site[en]

Installation du firmware via Heimdall

Nous partons du principe que vous avez déjà téléchargé le firmware pour votre téléphone. Nous détaillerons ici l’utilisation de heimdall pour l’installer sur votre téléphone.

La procédure de mise à jour de votre téléphone supprimera des données (comme les SMS, les contacts ou les sauvegarde de angry bird !). Penser à sauvegarder vos données. Je vous conseille la lecture des paragraphes 1.3 (sur la garantie et les risques) et la deuxième partie du paragraphe 1.4 (sur la sauvegarde de vos données) sur ce site.

Nous allons donc télécharger tous ces fichiers sur notre téléphone. Pour cela nous devons mettre notre téléphone en mode téléchargement.

Passer le téléphone en mode téléchargement

Quand un téléphone Android passe en mode téléchargement il écoute sur sont port USB et attend qu’on lui envois des fichiers. Ces fichiers sont dans notre cas les fichiers du système Android.

Pour passer un Samsung Galaxy S en mode téléchargement il vous faudra tout d’abord éteindre le téléphone. Maintenez ensuite les touches volume bas, home et démarrage appuyé jusqu’a ce que le téléphone démarre. Vous verrez alors un jolie Droid pelleter !

Activation du mode téléchargement

Activation du mode téléchargement d'un Samsung Galaxy S.

Connecter votre téléphone en USB. Vous pouvez vérifier qu’il est bien reconnu dans vos logs

$ tail -f /var/log/messages

Dec 25 22:58:37 localhost kernel: usb 2-3: new high speed USB device number 3 using ehci_hcd
Dec 25 22:58:38 localhost kernel: usb 2-3: New USB device found, idVendor=04e8, idProduct=6601
Dec 25 22:58:38 localhost kernel: usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Dec 25 22:58:38 localhost kernel: usb 2-3: Product: Gadget Serial
Dec 25 22:58:38 localhost kernel: usb 2-3: Manufacturer: SAMSUNG
Dec 25 22:58:38 localhost kernel: cdc_acm 2-3:2.0: This device cannot do calls on its own. It is not a modem.
Dec 25 22:58:38 localhost kernel: cdc_acm 2-3:2.0: ttyACM0: USB ACM device
Dec 25 22:58:38 localhost mtp-probe: checking bus 2, device 3: « /sys/devices/pci0000:00/0000:00:1d.7/usb2/2-3″
Dec 25 22:58:38 localhost mtp-probe: bus: 2, device: 3 was not an MTP device

Envoi des fichiers

Nous n’avons maintenant plus qu’a envoyer les données avec heimdall sur notre téléphone. La commande suivante devrait faire l’affaire

$ heimdall flash –repartition –pit s1_odin_20100512.pit –factoryfs factoryfs.rfs –cache cache.rfs –dbdata dbdata.rfs –primary-boot boot.bin –secondary-boot Sbl.bin –param param.lfs –kernel zImage –modem modem.bin

Une barre de progression devrait apparaître tandis que les fichiers sont envoyés.  Le téléphone redémarrera et appliquera automatiquement les mises à jour pour enfin redémarrer et vous redonner la main. Le premier démarrage peu être un peu long (30 secondes)

Envoi des fhcier

Ecran du téléphone pendant l'envoi des fichiers

 Conclusion

Votre téléphone est maintenant près à être utilisé ! Alors amusez vous bien !

Comments (0) - Posted in Linux by  



[Gentoo] Installer Google Music Manager pour music.google.com sous gentoo.
Lundi 8 août 2011 @ 12:11

Si vous faites partie comme moi des chanceux a avoir accès à music.google.com et que vous utiliser gentoo comme OS favorit vous aurez surement remarqué que le Google Music Manager n’est disponible qu’au format deb et rpm … autrement dit impossible de compiler le logiciel pour uploader ses chansons. Même si les chansons gratuite sont sympa, il n’en reste pas moins que votre coté fan inconditionnel de Patrick Sebastien est frustré.

Nous allons donc voir comment installer le Google Music Manager sur gentoo.

Compilation d’alien

Nous allons dans un premier temps compiler un logiciel nommé alien. Ce soft est principalement connu pour convertir des RPM (format de paquet de la LSB) en deb (format de paquet Debian et « non standard ») mais il permet aussi de convertir des paquet deb en tar.gz !!

Aller assez parler, compilation.

# emerge alien

Téléchargement du deb

Nous allons maintenant télécharger le paquet deb proposé par google. Pour cela rendez vous sur http://music.google.com/, cliquer sur « add music » et selection le paquet deb correspondant à votre architecture (32 ou 64bit).

Pour les faignants voici les liens pour la version beta courante

32bits :

$ wget http://dl.google.com/linux/direct/google-musicmanager-beta_current_i386.deb

64 bits

$ wget http://dl.google.com/linux/direct/google-musicmanager-beta_current_amd64.deb

Extraction du contenu et installation

Nous allons maintenant convertir le deb en tar.gz. Pour cela nous utilisons la commande alien comme suit.

$ alien –to-tgz google-musicmanager-beta_current_*.deb

Ceci créra dans le dossier courant une archive compressé portant un nom s’apparentant à « google-musicmanager-beta-<version>.tgz« . Décompression le.

$ tar xvf google-musicmanager-beta-*.tgz

3 dossiers on été créé dans le dossier courant : opt, usr et etc.

Ces trois dossiers contiennent la version compilé du logiciel, il suffit de déplacer ces fichiers dans les dossiers équivalents de notre système et le logiciel fonctionnera à merveille !

# mkdir -p /opt/google

# mv opt/google/ /opt/google

# mv usr/bin/ /usr/bin

# mv etc/cron.daily/ /etc/cron.daily

Lancement du logiciel

Nous avons copier un lien symbolique nommé google-musicmanager pointant sur /opt/google/musicmanager/google-musicmanager dans /usr/bin qui doit téhoriquement faire partie des chemins contenus dans votre variable PATH. Donc,moyennant un rechargement du shell pour certain shell, vous n’avez qu’a exécuter la commande google-musicmanager pour lancer le Google Music Manager.

$ google-musicmanager

Ceci va vous faire apparaître une jolie fenêtre vous permettant d’uploader vos musiques ! Je vous laisse lire, cliquer sur suivant et le tour sera joué !

Conclusion

Bien qu’il soit regrettable que Google ne propose pas ses sources de l’application nous pouvons tout de même faire fonctionner le Google Music Manager et profiter du service proposé par Google. Alors profitons en !

Comments (2) - Posted in Linux by  



[Gnome] Disque USB : Not Authorized
Jeudi 23 juin 2011 @ 1:52

Aujourd’hui je me suis confronté à un petit problème avec ma Gentoo.

Mes disques USB ne pouvait pas être monté par mes utilisateurs. Le montage des partitions par un utilisateur non root nécéssite deux choses

- Faire partie du groupe plugdev.

# vim /etc/group

plugdev:x:196:haldeamon,romain

….

- Modifier les configuration de polkit pour autoriser les utilisateurs à monter les partition et à les démonter.

Editer le fichier /usr/share/polkit-1/actions/org.freedesktop.udisks.policy

# vim /usr/share/polkit-1/actions/org.freedesktop.udisks.policy

….

<action id= »org.freedesktop.udisks.filesystem-mount »>

<description>Mount a device</description>

<message>Authentication is required to mount the device</message>

<defaults>

<allow_any>yes</allow_any>

<allow_inactive>no</allow_inactive>

<allow_active>yes</allow_active>

</defaults>

</action>

<action id= »org.freedesktop.udisks.filesystem-unmount-others »>

<description>Unmount a device mounted by another user</description>

<message>Authentication is required to unmount devices mounted by another user</message>

<defaults>

<allow_any>yes</allow_any>

<allow_inactive>no</allow_inactive>

<allow_active>auth_admin</allow_active>

</defaults>

</action>

Un petit redémarrage de service et le tour est joué !

 

Comments (1) - Posted in Linux by  



[xen] pas de login au démarrage de mon domU
Lundi 18 avril 2011 @ 12:04

Il se peut qu’au démarrage de votre domU vous n’obteniez aucune invite de connexion shell. Ceci n’est pas très grave sur un système en production avec SSH mais le devient beaucoup plus si nous somme pendant une installation.

Sous debian ceci ce présente comme ceci. Au démarrage vous rester bloqué sur quelque chose comme ca

[ 1.578603] lo: Disabled Privacy Extensions
.
Starting periodic command scheduler: crond.

La raison de ce manque de shell n’est pas un bug mais un manque de configuration de votre domU. En effet xen par défaut ne fournit pas de shell interactif et par conséquent aucune invite de connexion. Il faut donc le spécifier explicitement dans la configuration de votre domU.

Editez votre fichier de configuration de domU (ici /etc/xen/domU.cfg)

# vim /etc/xen/domU.cfg

Ajouter ensuite cette ligne

extra = ‘console=hvc0 xencons=tty‘

L’option extra ajoute des options au démarrage du noyau du domU. Ici la première option est console. Cette option nous permet de spécifier sur quelque console le noyau doit se lancé, la console de xen est hvc0. La deuxième option, xencons, configure la console de xen elle même en spécifiant sur quelle console « réelle » elle doit s’attacher, ici tty.

Ceci devrait vous permettre de démarrer plus sereinement votre machine virtuelle !

Comments (0) - Posted in Linux by  



[iSCSI] Installation d’un serveur iSCSI sous Debian et connexion d’un client
Mardi 5 avril 2011 @ 5:53

Je me suis aujourd’hui confronté à une petite installation d’un serveur iSCSI sous Debian et la connection de client sous linux.

Les deux applications que nous allons utiliser ici sont iscsi_target et open-iscsi.

Quelques termes

Tout d’abord rappelons les termes employés dans le domaine du iSCSI.

Installation du Target

Comme dit plus haut nous allons utiliser iscsi_target qui semble être le produit le plus abouti pour le iSCSI sous linux.

L’installation sous Debian est assez simple. Les paquets concernés sous squeeze sont iscsitarget (le service en lui même) et iscsitarget-dkms (le module noyau).

#aptitude install iscsitarget iscsitarget-dkms

Une fois l’installation effectuée vous devez spécifier explicitement à Debian que vous voulez qu’il démarre le service iSCSI. Pour cela il faut éditer le fichier de configuration /etc/default/iscsitarget et passer la variable ISCSITARGET_ENABLE à true.

# vim /etc/default/iscsitarget

ISCSITARGET_ENABLE=true

Il ne nous reste plus qu’a configurer nos partages !

Avec iSCSI-target vous pouvez aussi bien partager des disques physiques (/dev/sd*), des partitions (/dev/sd*n), des volumes raid (/dev/md*), des volumes LVM (/dev/vg*/mon_lv) que des fichiers simples. Nous allons ici partager des volumes logiques LVM mais vous pouvez tout aussi bien sauter cette étape et adapter les configurations qui suivent ! Installons LVM.

# aptitude install lvm2

Ajoutons des volumes physiques. (Ici deux disques physiques)

# pvcreate /dev/sdb /dev/sdc

Créons un groupe de volume lié à des volumes physiques. (Ici nommé vg0 lié à sdb et sdc)

# vgcreate vg0 /dev/sdb /dev/sdc

Et enfin créons un volume logique (ici de 3G nommé partage1)

# lvcreate  -L 3G -n partage1 vg0

Nous avons donc maintenant un volume logique /dev/vg0/partage1 a partager.

Le fichier de configuration de iscsi target est /etc/iet/ietd.conf. Ce fichier est abondamment commenté nous ne détaillerons donc pas toutes les options mais simplement celle que nous allons utiliser ici. En voici la liste

Voici un exemple de fichier de configuration

Target iqn.2011-04.fr.therrat.romain:partage1

IncomingUser romain password

Lun 0 Path=/dev/vg0/partage1,Type=fileio

Ceci nous crée donc un partage iSCSI nommé iqn.2011-04.fr.therrat.romain:partage1, partageant /dev/vg0/partage1. Vous pouvez ajouter autant de Lun que vous le souhaitez dans chaque partage.

Redémarrons le service iscsi

# /etc/init.d/iscsitarget restart

Voilà qui est fini pour le Target iSCSI passons aux initiators !

Installation d’un Initiator

Nous allons utiliser open-iscsi comme initiator, installons le !

# aptitude install open-iscsi

Modifions le fichier de configuration pour que le service démarre automatiquement. Pour cela modifier la ligne node.startup de manual à automatic

# vim /etc/iscsi/iscsid.conf

node.startup = automatic

Redémarrer ensuite le service

# /etc/init.d/open-iscsi restart

Détectons les partages disponibles sur notre serveur iSCSI avec la commande iscsiadm

# iscsiadm -m discovery -t st -p <ip-target-iscsi>

<ip-target-iscsi>:3260,1 iqn.2011-04.fr.therrat.romain:partage1

Ceci détectera les partages disponible sur le Target iscsi.

Il convient maintenant de configurer votre initiator avec les identifiants que nous avons configuré sur le serveur (pour mémoire : romain/password). Pour cela éditer le fichier /etc/iscsi/iscsid.conf et ajouter les informations suivante

node.session.auth.authmethod = CHAP

node.session.auth.username = romain

node.session.auth.password = password

Redémarrer votre service

# /etc/init.d/open-iscsi restart

Enfin nous pouvons nous connecter à notre partage

# iscsiadm -m node –targetname « iqn.2011-04.fr.therrat.romain:partage1″ –portal « <ip-target-iscsi> » –login

Logging in to [iface: default, target: iqn.2011-04.fr.therrat.romain:partage1, portal: <ip-target-iscsi>,3260]

Login to [iface: default, target: iqn.2011-04.fr.therrat.romain:partage1, portal: <ip-target-iscsi>,3260]: successful

A partir de maintenant vous avez un nouveau disque disponible (/dev/sdb par exemple) sur votre Initiator que vous pouvez utiliser comme un disque classique.

Voila qui conclus donc cet article en espérant qu’il vous sera utile !

 

Comments (1) - Posted in Linux by  



[Debian] in-target: Pour continuer, entrer « oui ». Pour interrompre l’installation entrer « non » :
Jeudi 17 mars 2011 @ 2:01

Aujourd’hui j’ai un problème sur l’installation d’une debian sur un serveur de stockage.

Au moment d’installer les logiciels (en fait le système de base) Debian se fige sur 5%. Un  petit tour sur la console de log (Alt-F4 durant l’installation) m’informe de ceci :

in-target: Pour continuer, entrer « oui ». Pour interrompre l’installation entrer « non » :

Impossible de répondre Oui dans le debian-installer (l’interface en bleu/gris/rouge) evidement ! Il va donc falloir ruser !

Passer sur le deuxième terminal (Alt-F2) et récupérer le PID de l’instance d’aptitude (qui tourne en backend du debian-installer).

# ps aux | grep aptitude

27527 root 26908 S aptitude -o APT::Status-Fd=4 -o APT::Keep-Fds::=5 -o

Nous allons tuer ce processus avec la commande kill

# kill 27527

Ceci fait nous allons régler le problème en installant les debian-archive-keyring qui sont les fichiers de signatures des dépôts Debian. Mais si vous tenter d’utiliser la commande aptitude ceci risque de ne pas fonctionner car vous n’êtes pas sur votre système en cours d’installation mais sur un Linux minimal (BusyBox). Nous devons donc « entrer » dans notre machine en cours d’installation, ceci avec la commande chroot.

# chroot /target

# aptitude install debian-archive-keyring

Après avoir installé les fichiers de signatures nous devons aussi mettre à jours la liste de nos paquets (en quelque sorte pour les valider).

# aptitude update

Enfin revenez sur votre premier terminal (Alt-F1) et reprenez l’installation comme si de rien n’était !

Comments (3) - Posted in Linux by  



[kernel] 2.6.36 et module « nouveau »
Jeudi 10 mars 2011 @ 11:09

Aujourd’hui j’ai voulu tester le module « nouveau » du noyau Linux pour remplacer le noyau propriétaire Nvidia que j’utilisais jusqu’à présent.

Évidement la première étape a été de compiler le module dans le noyau, hors je me suis heurté à une petite erreur que voici.

drivers/built-in.o: In function `nouveau_acpi_edid’:
(.text+0x13404e): undefined reference to `acpi_video_get_edid’

Ceci est du à une dépendance non satisfaite du module (ceci peut être patché dans le kernel). L’option nécessaire est CONFIG_ACPI_VIDEO qui doit être compilé dans le noyau. Si vous utilisé menuconfig pour la configuration du noyau aller dans Power management and ACPI options > ACPI (Advanced Configuration and Power Interface) Support > Video

Ce module possède lui aussi des dépendances qui sont (entre autre) :

BACKLIGHT_CLASS_DEVICE : Device Drivers > Graphics support > Backlight & LCD device support > Lowlevel Backlight controls

VIDEO_OUTPUT_CONTROL : Device Drivers > Graphics support > Lowlevel video output switch controls

Voici qui devrait régler ce petit problème !!

Comments (0) - Posted in Linux by  



Older Posts »