[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  



[CISCO] Configuration de DHCP via la ligne de commande IOS
Lundi 26 décembre 2011 @ 4:13

Je vais vous présenter ici la méthode à employer pour configurer un service DHCP sur un router CISCO.

Nous verrons dans un premier temps l’intérêt du DHCP puis la configuration. Nous verrons ensuite quelque commande d’administration du service DHCP.

Qu’est ce que le DHCP

Le protocole DHCP est un protocole d’auto configuration de réseau. Il permet à des machines arrivant sur un réseau quelle ne connaisse pas de s’adapter à sa configuration.

Ces dernières obtiendront plusieurs informations allons de leur adresse IP jusqu’à leurs serveurs DNS, NTP ou WINS.

Chaque configuration offerte par le protocole DHCP à un client à une durée de vie que nous appelons un bail (ou lease en anglais).

En ce qui concerne l’adressage réseau, vous voudrez surement configurer le DHCP pour votre réseau privé. Il existe trois classes de réseau privé : A, B et C. Chaque classe a une plage d’adresse IP réservée que vous pouvez utiliser comme bon vous semble et un masque de sous réseau que vous pouvez découper. Voici ces spécificités

- Classe A : Adresse 10.0.0.0/8 c’est à dire des adresse 10.0.0.1 à 10.255.255.254 soit environ 16 millions d’hôtes

- Classe B : Adresse 172.16.0.0/12 c’est à dire de 172.16.0.1 à 172.31.255.255 soit environ 1 millions d’hôtes

- Classe C : Adresse 192.168.0.0/16 c’est à dire de 192.168.0.1 à 192.168.255.254 soit environ 65 mille hôtes.

Il est à noter que en classe B vous devez utiliser au plus un masque de 16 bit et en classe C un masque de 24 bit. De ce fait vous préférerez surement pour votre réseau domestique des IP de classe C avec un masque de 24 bit vous permettant d’avoir jusqu’à 254 hôtes.

Nous présenterons dans cette article la mise en place d’un réseau privé de classe C 192.168.42.0/24 c’est à dire des adresse de 192.168.42.1 à 192.168.42.254

Note : Nous partons du principe que vos interfaces sont déjà configurées

Configuration du service DHCP

Pour configurer un service DHCP il vous faudra tout d’abord créer un groupe DHCP. Les routeurs CISCO pouvant délivrer des adresses via DHCP sur plusieurs interfaces et via plusieurs configurations, les configurations sont regroupées par groupe.

Pour créer un groupe nommé dhcp-private-pool il vous faudra procéder comme suit

> en

# conf t

(config) # ip dhcp pool dhcp-private-pool

Vous entrez à ce moment là dans la configuration du groupe. Le nom du prompt de votre shell devrait contenir ‘dhcp-config’ comme suit

(dhcp-config) #

Spécifier maintenant l’adressage souhaité. Ici nous utilisons le réseau 192.168.42.0/24

(dhcp-config) # network 192.168.42.0/24

Spécifier ensuite les noms des serveurs DNS que vous voulez voir utilisés par vos clients. Nous utilisons dans cet exemple les serveurs DNS d’OpenDNS (208.67.222.222 et 208.67.220.220)

(dhcp-config) # dns-server208.67.222.222 208.67.220.220

Vous pouvez éventuellement configurer un nom de domaine associé à votre configuration DHCP (ici therrat.fr)

(dhcp-config) # domain-name therrat.fr

Ou un serveur WINS (ici 192.168.42.2)

(dhcp-config) # netbios-name-server 192.168.42.2

Un des points importants pour que vos clients puissent avoir accès à d’autre réseau que votre réseau privé (comme internet par exemple) est la route par défaut. Il y a fort à parier que la route par défaut que vous souhaiter utiliser soit l’adresse IP (privée) de votre routeur. Dans notre exemple l’adresse du routeur est 192.168.42.1

(dhcp-config) # default-router 192.168.42.1

Enfin il nous reste plus qu’a configurer la durée de rétention des baux DHCP. Ce chiffre est à adapter suivant le nombre de poste différent qui viennent à se connecter sur votre réseau et la durée de ces connexions. Dans notre cas de réseau privé domestique un bail de sept jours nous semble amplement suffisant.

(dhcp-config) # lease 7

Sortir de la configuration, tester le bon fonctionnement de votre DHCP en connectant un nouvel appareil et sauvegarder votre configuration.

(dhcp-config) # exit

(config) # exit

…. Tester votre DHCP ….

# copy running-config startup-config

Votre DHCP est configuré et près à être utilisé

Configuration Avancée

Exclure des IP

Vous pouvez empêcher des adresses IP d’être délivrées par le serveur DHCP car par exemple ces adresses sont configurées statiquement sur les postes. C’est le cas de notre routeur. Celui ci a l’adresse 192.168.42.1 et le serveur DHCP ne devrait jamais donner cette adresse à quiconque. Nous allons donc exclure cette adresse. Pour cela voici la commande à entrer en mode config.

(config) # ip dhcp excluded-address 192.168.42.1

Fixer une adresse IP en fonction de l’adresse MAC

Il est parfois important de pouvoir toujours renvoyer la même adresse IP à un client qui vient à ce connecter de temps à autre. Ceci est rendu possible par le fait que chaque carte réseau à un identifiant unique. Cet identifiant se nome l’adresse MAC. Nous allons donc vérifier sur notre routeur l’adresse MAC de notre client pour lui donner la même adresse IP quoi qu’il arrive !

Pour créer une configuration statique nous devons créer un groupe DHCP pour notre client. Nous créons ici le groupe dhcp-private-pool-romain. L’adresse MAC de notre client est 12:34:56:78:9A:BC et nous souhaitons lui assigner l’adresse IP 192.168.42.42 avec un masque de 255.255.255.0 (24 bits)

(config) # ip dhcp pool dhcp-private-pool-romain

(dhcp-config) # host 192.168.42.42 !/24

(dhcp-config) # client-identifier 1234.5678.9ABC

(dhcp-config) # exit

Vous remarquerez que l’adresse MAC doit s’écrire sur la forme XXXX.XXXX.XXXX

Administration du service DHCP

Voici quelques commandes pour l’administration de tous les jours de votre service DHCP

Voir les baux DHCP

Nous pouvons voir la liste de tous les baux DHCP via la commande suivante

# show ip dhcp binding

Mais si vous avez beaucoup de machine le résultat de cette commande deviendra vite illisible ! Vous pouvez donc optionnellement spécifier l’adresse IP pour laquelle vous voulez voir le bail.

# show ip dhcp binding 192.168.42.42

Vous retrouverez dans les résultats de la commande l’adresse IP du client, son adresse MAC ainsi que la durée de validité de son bail (ou ‘infinite‘ pour une configuration DHCP statique).

Supprimer un bail DHCP

Vous pouvez à tout moment supprimer un bail DHCP (pour régler un conflit ou changer l’adresse IP d’un client par exemple). Pour cela, exécuter la commande suivante en remplaçant l’adresse IP par celle de vos besoins.

# clear ip dhcp binding 192.168.’2.13

Vous pouvez aussi spécifier un astérisque (*) pour supprimer tous les baux DHCP.

Voir des statistiques

Il existe une liste de statistiques du service DHCP. Pour l’afficher :

# show ip dhcp server statistics

Vous pourrez avec cette commande découvrir ce qu’il se passe sur votre réseau et adapter vos configurations.

Supprimer les statistiques

Pour remettre à zéro les statistiques

# clear ip dhcp server statistics

Conclusion

Vous êtes maintenant pleinement opérationnel pour gérer un service DHCP sur votre routeur CISCO alors profitez en ! N’hésiter pas à fouiller les possibilités de l’IOS (le vrai) avec le point d’interrogation (?) et à me faire vos retours d’expériences pour compléter cet article !

Comments (0) - Posted in Autre by  



[CISCO] Remettre à zéro un routeur via la ligne de commande IOS
Lundi 26 décembre 2011 @ 12:35

Les routeurs de la firme CISCO stockent leur configuration à deux endroits sur le routeur.

Comme les noms l’expliquent assez bien. La configuration dite de « startup-config » est la configuration qui sera utilisée au démarrage du router. Celle ci sera copiée dans la configuration dite de « running-config » qui est celle utilisée par le routeur en fonctionnement.

La meilleure méthode pour remettre à zéro un routeur est donc de supprimer le « startup-config » et de redémarrer le routeur !

 

Pour cela connecter vous sur votre routeur, passer en mode privilégier et utiliser la commande erase

> en

# erase startup-config

# reload

Votre routeur est maintenant comme neuf !

Comments (0) - Posted in Autre 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  



[SCSI] Configuration SCSI sous un PowerEdge 775N avec PERC 3/Di
Jeudi 14 avril 2011 @ 2:08

Aujourd’hui petit problème pour configurer mes nouveaux disque raid sur mon Dell 775N.
Au démarrage il est indiqué que pour entrer dans le mode de configuration SCSI il nous faut taper sur CTRL+A mais attention ! Votre clavier est en QWERTY ! Faite donc un CTRL+Q et le tour est joué !
Vous rentrez alors dans l’utilitaire de configuration RAID, initialiser vos disque et créer vos RAID !

Comments (0) - Posted in Autre by  



Older Posts »