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.
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 !
Les routeurs de la firme CISCO stockent leur configuration à deux endroits sur le routeur.
- Le startup-config
- Le runing-config
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 !
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 :
- heimdall : Ce paquet est le programme heimdall en ligne de commande. C’est celui ci que nous allons détailler ici.
- heimdall-frontend : Ce paquet est une interface graphique pour le paquet heimdall. Nous ne détaillerons pas son utilisation ici.
- heimdall-suite : Ce paquet contient les deux précédents.
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
- factoryfs.rfs : image de la partition système qui contiendra les applications de base
- cache.rfs : image de la partition de cache
- dbdata.rfs : image de la partition de la base de données du système
- boot.bin : application importante qui sera lancé au démarrage du système
- Sb1.bin : deuxième application lancé par le système qui va configurer le téléphone
- param.lfs : fichier contenant les images (JPEG) du système
- zImage : L’image du noyau Linux
- modem.bin : Les drivers de votre puce GSM.
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 !
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)
Conclusion
Votre téléphone est maintenant près à être utilisé ! Alors amusez vous bien !
Bonjour,
Voilà j’écris cet article pour partager une solution sur un formulaire symfony qui contient un widget start_date et end_date utilisant sfWidgetFormI18nDate.
Le problème était de pouvoir, en fonction de la start_date, définir une end_date minimale dans un validateur.
La solution était pour ce formulaire de surcharger la méthode doBind pour récupérer les valeurs du start_date et définir le minimum pour le end_date.
Voici le code pour la solution :
|
Voilà j’espère que cette solution pourra aider du monde
Merci à Lermit et Yochima pour leur aide.
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 !
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é !
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 !
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 !
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.
- SCSI : Le SCSI est un type de connectique comme le SATA ou l’IDE qui est principalement utilisé sur les serveurs car il offre de très bonne vitesse (de 10k à 15k rpm)
- iSCSI : Le iSCSI est une émulation des commandes du protocole SCSI via le réseau TCP/IP. Il permet de s’abstenir de l’achat de connectiques coûteuses. Il est comparable au FBoE (FibreChannel over Ethernet) pour le FibreChannel.
- Le Target : Un Target iSCSI est un serveur iSCSI, c’est à dire notre SAN. C’est lui qui va distribuer nos données de type bloc via le réseau.
- L’initiator : Un initiator iSCSI est un client. C’est lui qui va se connecter au Target. Une fois la partition montée sur l’initiator le système pourra l’utiliser indifféremment comme si elle était une partition d’un disque physique connecté à la machine.
- LUN : pour « Logical Unit Number » correspond dans le domaine iSCSI au numéro d’identification d’une unité de stockage, c’est à dire à une partition partagé par notre SAN.
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
- Target : Définit le début d’un section de configuration d’un partage. Il doit être suivit d’un nom unique identifiant le partage. La RFC 3720 sur le iSCSI propose d’utilisé la forme suivante : iqn.yyyy-mm.<reversed domain name>[:identifier] où yyyy-mm est l’année de mise en service suivit du mois, reversed domain name est votre nom de domaine inversé (par exemple fr.therrat.romain). Nous utiliserons ici iqn.2011-04.fr.therrat.romain:partage1
- IncomingUser : Un couple nom d’utilisateur/mot de passe pour se connecter au partage
- Lun : Les informations sur le ou les volumes à partager.
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 !



BabyWadi, Blog d'information sur votre bébé
GeekInfos
M2ENV : Multi Environment Enhanced Network View
