5/1/13

Grub2 - EFI - Asus P8H67-M Pro (Debian Sid 64b)


Une mise à jour récente avait cassé le système de boot de ma Debian (écran noir avec curseur clignotant). Ma carte mère est une Asus P8H67-M Pro avec un bios non mis à jour (version 0806).

Voici ce que j'ai fait pour retrouver un système de boot fonctionnel.

Mettre à jour le bios de la CM avec la version 3806

Mettre la rom sur un stick USB formaté en FAT et depuis le BIOS, flasher : menu ADVANCED MODE >> TOOLS >> ASUS EZ FLASH UTILITY (merci à Asus pour cet utilitaire très pratique accessible directement depuis le Bios).

Lien pour récupérer le nouveau Bios

Créer un stick USB avec une netinstall Debian (lien pour AMD64)


Depuis un Mac (machine de secours) :
$ diskutil list
(repérer le device correspondant au stick)
$ diskutil unmountDisk /dev/disk1
(modifier /dev/disk1 pour le bon device)
$ dd if=debian-testing-amd64-netinst.iso of=/dev/disk1 bs=512
(adapter le path pour if= et of=)
$ diskutil eject /dev/disk1

Booter sur le stick USB de la debian en mode UEFI


Important de booter le stick USB en UEFI sinon vous n'aurez pas accès à /sys/firmware/efi/vars y compris en levant le module (modprobe efivars)

- Choisir le "rescue mode" (Options avancées, mode de récupération [de mémoire :/]).
- Lancer un shell sur la partition correspondant à la racine du système (/dev/sdax)
# mount -va
(pour lever /boot/efi qui ne sera pas monté par défaut)
# update-grub
# grub-install
# efibootmgr -v
(devrait montrer "debian")

Au reboot, grub devrait être présent.

Post rapide en espérant que ça aidera des debianistes ayant le même problème.

5/18/10

Mettre à jour le JDK Java sur Debian Lenny



C'est une vidéo en live, je n'ai pas réalisé de montage. Du coup, comme il s'agit d'une vieille machine de test, je suis désolé pour le passage concernant la construction du paquet qui est un peu long. :/ J'espère juste que votre machine est plus rapide que mon vieux bousin :)

Si vous avez déjà installé la version Java fournie par la distribution (cf 1. & 2.), vous pouvez directement vous rendre au point 3.


1. Modifier son sources.list

Avant de commencer, il faut d'abord s'assurer qu'on a accès aux dépôts complémentaires (les paquets Java sont dans non-free et java-package est dans contrib). Modifiez votre /etc/apt/sources.list en conséquence.

deb http://ftp.fr.debian.org/debian/ lenny main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ lenny main contrib non-free

deb http://security.debian.org/ lenny/updates main contrib non-free
deb-src http://security.debian.org/ lenny/updates main contrib non-free
On update ses sources :
# apt-get update


2. Installer le JDK 6 Debian

Pour maintenir Java, on va s'appuyer sur certains fichiers fournis par l'installation standard de la Debian. Dans un premier temps, on va donc installer le JDK 6 Java classiquement. A ce jour, c'est l'update 12 qui sera installée via le dépôt non-free.

# apt-get install sun-java6-{jdk,plugin}
# update-java-alternatives -s java-6-sun
Pour contrôle :
$ java -version
java version "1.6.0_12"
Java(TM) SE Runtime Environment (build 1.6.0_12-b04)
Java HotSpot(TM) Client VM (build 11.2-b01, mixed mode, sharing)

On vérifie que c'est fonctionnel en se rendant sur java.com.


3. Générer et installer le dernier JDK

a. On récupère le dernier JDK chez Sun (Oracle). Rien de particulier à ce niveau, il suffit de se laisser guider.

b. On installe ensuite le paquet java-package

# apt-get install java-package

c. Avant de pouvoir générer le paquet contenant la mise à jour, on va corriger un fichier qui pose soucis sur Lenny car il ne prend pas en compte plus de 9 update pour Java 6 (c'est balot :/).

# vi +48 /usr/share/java-package/sun-j2sdk.sh
et modifier la ligne comme suit :
"jdk-6u"[0-9][0-9]"-linux-i586.bin") # SUPPORTED
Modification de la ligne 49 :
j2se_version=1.6.0+update${archive_name:6:2}${revision}
Suivant votre architecture, vous serez amenés à modifier les lignes 91-92 (pour amd64) ou 96-97 (pour x64).

d. On passe maintenant en mode utilisateur et on génère la paquet à partir des sources du téléchargement

$ fakeroot make-jpkg /chemin_vers_jdk_sun/jdk-6u20-linux-i586.bin

e. On repasse en root et on installe le paquet généré

# dpkg -i sun-j2sdk1.6_1.6.0+update20_i386.deb


4. Finaliser l'installation

Malheureusement, le paquet généré à l'aide de java-package ne permet pas d'utiliser tel quel update-java-alternatives. Il faut donc procéder à quelques aménagements.

a. On link notre nouveau JDK dans /usr/lib/jvm

# cd /usr/lib/jvm
# ln -s /usr/lib/j2sdk1.6-sun j2sdk1.6-sun

b. update-java-alternatives a besoin de son fichier .jinfo. Comme il n'est pas généré automatiquement par l'installation de notre paquet 'maison', on va le créer en s'appuyant sur celui qui existe pour java-6-sun

# cat .java-6-sun.jinfo|sed -e 's/java-6-sun[0-9\.-]*/j2sdk1.6-sun/'|sed -e 's/java-6-sun/j2sdk1.6-sun/'|sed -e 's/63/65/' > .j2sdk1.6-sun.jinfo

c. update-java-alternatives positionne l'alternative mais ne la crée pas. On doit donc préalablement créer les alternatives. Cela peut être très fastidieux compte tenu du nombre d'alternatives à créer pour Java. Il est finalement plus rapide et confortable d'utiliser un script créé pour l'occasion :

#!/bin/sh
# install-alternatives-for-java-package.sh
set -e
PATH=/sbin:/bin:/usr/sbin:/usr/bin

# modifier jdiralias pour les futures version de Java (1.7 ?)
jdiralias=j2sdk1.6-sun
######################

priority=65
basedir=/usr/lib/$jdiralias
basediralias=/usr/lib/jvm/$jdiralias
jre_tools='ControlPanel java java_vm javaws jcontrol keytool pack200 policytool rmid rmiregistry unpack200 orbd servertool tnameserv'
jdk_tools='HtmlConverter appletviewer apt extcheck idlj jar jarsigner java-rmi.cgi javac javadoc javah javap jconsole jdb jhat jinfo jmap jps jrunscript jsadebugd jstack jstat jstatd native2ascii rmic schemagen serialver wsgen wsimport xjc'
browser_dirs='xulrunner-addons firefox iceape iceweasel mozilla midbrowser xulrunner'
PLUGIN=libnpjp2.so
PLUGINPTH=/usr/lib/jvm/$jdiralias/jre/lib/i386/$PLUGIN

for i in $jre_tools; do
    update-alternatives \
        --install \
        /usr/bin/$i \
        $i \
        $basediralias/jre/bin/$i \
        $priority 
done

for i in $jdk_tools; do
    update-alternatives \
        --install \
        /usr/bin/$i \
        $i \
        $basediralias/bin/$i \
        $priority 
done

for browser_dir in $browser_dirs; do
    if [ $browser_dir = xulrunner-addons ]; then
        browser=xulrunner-1.9
    else
        browser=$browser_dir
    fi
    update-alternatives --quiet --install \
        /usr/lib/$browser_dir/plugins/libjavaplugin.so \
        $browser-javaplugin.so \
        $PLUGINPTH \
        $priority
done

    update-alternatives \
        --install \
        /usr/bin/jexec \
        jexec \
        $basediralias/jre/lib/jexec \
        $priority 

exit 0

d. On lance le scipt qui va créer les alternatives à notre place :

# ./install-alternatives-for-java-package.sh

e. Finalement, on utilise update-java-alternatives pour mettre à jour les alternatives avec notre nouveau JDK :

# update-java-alternatives -s j2sdk1.6-sun
$ java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)

Tout cela peut paraître un peu long pour une mise à jour mais il n'en est rien (la vidéo le démontre puisqu'il faut moins de 10mn pour tout installer). De plus, pour les prochaines mises à jour, on pourra s'arrêter au 3. (tout le 4. devenant inutile tant qu'on ne passe pas à un Java 7 :p).

En résumé, des efforts minimes pour tenir à jour proprement son JDK "à la Debian".

5/12/10

Jouer à World of Warcraft sous Debian Lenny


Le résultat est plutôt bluffant compte tenu de la carte graphique :

$ lspci|grep nVidia
01:00.0 VGA compatible controller: nVidia Corporation GeForce 8600 GT (rev a1)
et du processeur :
model name : Intel(R) Pentium(R) D CPU 3.00GHz
On joue à WoW avec une fluidité et une qualité graphique difficilement soupçonnables compte tenu du matériel. Même si la vidéo peut laisser penser que c'est parfois saccadé, il n'en est rien, tout est d'une fluidité remarquable (l'encodage se fait avec 15 img/s ce qui provoque quelques désagréments visuels). On peut bien évidemment jouer en plein écran avec le même confort, WoW a juste été fenêtré le temps de la vidéo.

5/11/10

Chrome, Iceweasel et Flash - 05/10


Je suis obligé de passer quelques jours sur un autre système qu'OS X en attendant avec impatience l'arrivée de mon nouveau MacBook Pro. Ne pouvant toujours pas calmer mon urticaire à la vue d'un windows, je remonte rapidement une Debian Lenny Desktop (Ubuntu aussi me file des boutons, désolé, je suis Debian et Mac addict).

Certaines choses ne me manquaient absolument pas ces 2 dernières années au niveau du desktop. En autres, les galères avec cette technologie douteuse qu'est 'flash'. Vivement qu'HTML5 remplace tout ce qui ressemble de près ou de loin à du flash.

Je voulais simplement écouter de la musique sur Deezer avec Chrome et là... patatra... navigateur quasi gelé allant jusqu'au reboot de la session X. Burp ! J'apt-get donc un iceweasel et là, carrément pas de flash comme il se doit sur un système libre (sors de ce corps vieux barbu !).

J'ai donc repris mes vieilles habitudes de 'linuxien goret'.

Tout d'abord, j'ai téléchargé la version du flashplayer en tarball. Ensuite, il suffit de créer un répertoire dans /usr/lib pour y déposer le contenu du tarball.

# mkdir /usr/lib/flashplayer && cd !$
# tar xvzf path_vers_tarball/install_flash_player_10_linux.tar.gz

Iceweasel


On linke simplement la lib du flashplayer d'Adobe à Iceweasel
# cd /usr/lib/iceweasel/plugins
# ln -s /usr/lib/flashplayer/libflashplayer.so libflashplayer.so
C'est tout. Après avoir redémarré Iceweasel, about:plugins (dans la barre d'adresse du navigateur) doit annoncer que flash est installé (2 lignes : Shockwave Flash et FutureSplash Player)

Google Chrome


Même principe sauf qu'on va remplacer la lib utilisée par défaut par celle qu'on a récupérée (en lui donnant évidemment le nom de la lib d'origine utilisée par Chrome).
# cd /opt/google/chrome
# mv libgcflashplayer.so libgcflashplayer.so.orig
# ln -s /usr/lib/flashplayer/libflashplayer.so libgcflashplayer.so

Comme on dit, "chez moi ça marche". Si vous avez une autre solution, n'hésitez pas à lâcher votre commentaire.

5/10/10

Installer compiz-fusion sur Debian Lenny - 05/10


Une commande qui commence par # est exécutée en tant que root
Une commande qui commence par $ est exécutée avec votre compte utilisateur.

Nvidia


Tout d'abord, pour ceux qui ont une carte Nvidia, voici la marche à suivre pour respecter le Debian-Way.

Ajouter les dépôts pour 'contrib' et 'non-free' dans son /etc/apt/sources.list :
deb http://ftp.fr.debian.org/debian/ lenny main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ lenny main contrib non-free
deb http://security.debian.org/ lenny/updates main contrib non-free
deb-src http://security.debian.org/ lenny/updates main contrib non-free
suivi d'un :
# apt-get update
Installer le nécessaire pour compiler le module
# apt-get install build-essential nvidia-kernel-common module-assistant mesa-utils
et générer le module par :
# module-assistant auto-install nvidia
Si certains paquets manquent, ils devraient être installés.

Charger le module :
# modprobe nvidia
Ajouter dans son /etc/X11/xorg.conf (faites auparavant une copie de votre xorg.conf, on ne sait jamais ;) la section Module
Section "Module"
  Load "glx"
EndSection
puis fermer la session.

Ouvrir une session et depuis un Term, lancer la commande :
$ glxinfo|more
Une ligne de la sortie devrait indiquer :
direct rendering: Yes
(dans la foulée, on peut aussi essayer glxgears)

Compiz


Installer les paquets nécessaires :
# apt-get install compiz
puis modifier son fichier xorg.conf.

Ajouter à la section Device les lignes suivantes :
Driver "nvidia"
Option "AddARGBGLXVisuals" "True" 
Option "AllowGLXWithComposite" "True"
Ajouter à la section Screen :
DefaultDepth  24
Créer une section Extensions :
Section "Extensions" 
  Option "Composite" "Enable" 
EndSection
Pour inscrire compiz en tant que Window Manager par défaut :
$ echo "export WINDOW_MANAGER=/usr/bin/compiz" >> ~/.gnomerc

cet article a été écrit avec le rustre gnome-blog-poster pour tester.

8/13/07

Administration de Tomcat 5.5 (Debian Etch)


Petit pense-bête qui pourrait être utile à d'autres.

Le paquet tomcat5.5-admin ne semble pas fonctionner en offrant au mieux une belle page blanche lors d'un accès à la page d'admin de Tomcat. C'est en fait le paquet libstruts1.2-java dépendant de tomcat5.5-admin qui pose problème.

Solution personnelle :
- Installer le paquet tomcat5.5-admin et ses dépendances.

# apt-get install tomcat5.5-admin

- Récupérer le tarball pour administrer Tomcat sur le site d'Apache et le décompresser par exemple dans /tmp :
# cd /tmp
# wget http://apache.miroir-francais.fr/tomcat/tomcat-5/v5.5.23/bin/apache-tomcat-5.5.23-admin.tar.gz
# tar xvzf apache-tomcat-5.5.23-admin.tar.gz

- Copier le struts.jar de l'archive dans l'arborescence de Tomcat. Cela écrasera le lien vers le struts.jar livré avec libstruts1.2-java
# cp apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/lib/struts.jar /usr/share/tomcat5.5/server/webapps/admin/WEB-INF/lib/

- Redémarrer Tomcat
# /etc/init.d/tomcat5 restart

7/26/07

Linus Torvalds : I've never used Debian


A curiosity: which is your favourite distribution, and which on e do you consider more secure?

I don’t really tend to care much, I’ve changed distributions over the years, and to me the most important thing tends to be that they are easy to install and upgrade, and allow me to do the only part I really care about - the kernel.

So the only major distribution I’ve never used has actually been Debian, exactly because that has traditionally been harder to install. Which sounds kind of strange, since Debian is also considered to be the “hard-core technical” distribution, but that’s literally exactly what I personally do not want in a distro. I’ll take the nice ones with simple installers etc, because to me, that’s the whole and only point of using a distribution in the first place.

So I’ve used SuSE, Red Hat, Ubuntu, YDL (I ran my main setup on PowerPC-based machines for a while, and YDL - Yellow Dog Linux - ended up the easiest choice). Right now, most of my machines seem to have Fedora 7 on then, but that’s only a statement of fact, not meant to be that I think it’s necessarily “better” than the other distros.

(emphasis is mine)

« Debian, plus difficile à installer », rien que les mots me font rire.

Maintenant, tout dépend de quoi on parle. S'agit-il d'installer un serveur ou un desktop ? Mais même pour un desktop, bien que cette image de distribution « difficile à installer » colle à la peau de la Debian, à mon sens, ce n'est plus vrai depuis l'arrivée de la Etch.

Quant aux serveurs, ce que je leur demande, ce n'est pas d'être facile à installer mais de fonctionner sans « me prendre la tête » une fois en production et parmi toutes les distributions utilisées depuis plus de deux lustres maintenant, la Debian est la seule à avoir répondu à mes attentes.

the most important thing tends to be that they are easy to install and upgrade
(emphasis is mine)

La Debian est certainement la plus facile à upgrader.

Allez... apt-get remove linus-comment ;)

source : oneopensource.it

7/6/07

Dépôt des programmes Google pour Debian Etch


C'est par ici que ça se passe.

Voir une session shell en temps réel


Un post rapide en pensant à quelqu'un qui va dispenser fin Août une formation « Administration Debian ».

Pour suivre un cours et voir ce que le formateur écrit, il y a évidemment le rétro-projo mais c'est tout de même moins fun que gems :

# apt-get install gems

gems est composé d'un serveur et d'un client qui permet de suivre en temps réel ce qui est tapé dans la console du serveur.

Une petite démo sera sans doute plus parlante :


[ECHAP] pour arrêter le gif animé

2/21/07

Dépôt Beryl pour Debian Etch


/etc/apt/sources.list :

deb http://debian.beryl-project.org etch main
deb-src http://debian.beryl-project.org etch main
# wget http://debian.beryl-project.org/root@lupine.me.uk.gpg -O- | sudo apt-key add -
# apt-get update

1/31/07

GoodBye Microsoft


A l'heure où tout le monde ne parle que de ça, je ne vais pas juger Vista que je n'ai pas encore eu l'occasion de voir mais si vous voulez réellement disposer d'un système révolutionnaire, vous avez certainement plus de chance de l'obtenir en vous rendant sur goodbye-microsoft.com

1/29/07

Beryl 0.2.0 svn sur Debian Etch



Ayant eu quelques soucis avec l'affichage de mon xterm avec la version 0.1.5 de Beryl, je suis passé à la version 0.2.0 svn de Beryl (compilation des paquets Debian à partir des sources « svn »).

Lorsqu'on prend le temps de fouiller, on découvre quelques plugins sympathiques. Certains existaient déjà mais ne sont pas produits en paquet Debian comme la possibilité de faire une vidéo directement depuis Beryl (Touche Windows+F8 commence/termine l'enregistrement). La vidéo ci-dessus a été réalisée grâce à ce plugin. La qualité est normalement plutôt bonne mais a été malheureusement dégradée par l'upload chez Dailymotion. Pour preuve, la vidéo originale est disponible ici (< 10Mo). Ce plugin n'est pas le plus facile à compiler (seom, gpac, x264 : pas mal de dépendances non packagées par défaut) mais il vaut sincèrement le détour.

La 0.2.0 propose également des artworks pour changer par exemple les flocons (cf les feuilles mortes de la vidéo) ou le splashcreen de Beryl (non modifié dans la vidéo). Les images des applications icônisées lorsqu'on passe la souris dans la barre des tâches devaient, il me semble, déjà faire partie de la version 0.1.5 tout comme CTRL+ALT+ENTER pour le full-screen d'une application (indispensable).

La nouveauté qui devrait mettre du temps à être finalisée concerne le papier-peint des bureaux. Avoir un papier-peint différent pour chaque bureau est une excellente idée. On peut par exemple utiliser les images d'un panorama pour obtenir le résultat de la vidéo. Cette feature demandera sans doute à ce que des composants de Gnome soient modifiés pour permettre l'affichage des icônes sur le bureau (je ne vois pas vraiment d'autres solutions). Car pour l'instant, vous l'aurez compris, pas d'icône sur le bureau avec ce plugin. C'est plutôt une bonne nouvelle pour moi mais ne le sera peut-être pas pour tout le monde. Le temps que ce plugin arrive à maturité, cela a le temps de changer (j'espère néanmoins que dans la version finale l'option « 0 icône sur le bureau » sera conservée).

Enfin, je n'ai pas regardé les paquets de la Ubuntu mais, pour Etch et la suite de Beryl, je sens qu'on va s'amuser à jongler avec python2.4/2.5 (sous Etch python2.5-gtk n'existe pas et la nécessité d'installer python-all-dev n'arrange pas nos affaires - cf les problèmes éventuels pour lancer beryl-settings). Il faut malheureusement déjà ruser pour y arriver. Ça promet pour la suite ;)

1/21/07

Utiliser des applications Windows sous Linux (Debian Etch)


Lorsqu'on n'a pas le choix et qu'on souhaite utiliser une application appartenant au monde Windows, plusieurs solutions existent.

La première est d'essayer d'installer l'application en question sur son poste Linux en utilisant Wine. Si ça marche, on est sauvé. En cas d'échec, si on dispose d'une machine adaptée, la deuxième solution est d'installer Windows sur son poste Linux avec QEMU ou VMWare (voire faire l'image avec QEMU et installer Windows via le VMWare Player qui n'est pas libre mais néanmoins gratuit et très efficace). Enfin, une autre solution peut être d'accéder à un poste Windows distant avec rdesktop (« avec ou sans » son frontend tsclient).

QEMU, WMWare et rdesktop ont par contre l'inconvénient majeur de présenter à l'utilisateur l'environnement complet de Windows avec bureau et « tout le toutim Microsoft ». Tout ça pour utiliser une application particulière pendant quelques minutes, on a souvent l'impression d'utiliser un « canon de 75 » pour tuer un moustique. J'ai parfois besoin d'utiliser un applicatif de comptabilité et gestion commerciale sous Windows et cela me rebute réellement d'avoir devant les yeux l'environnement complet d'XP juste pour accéder à une facture. Je pense qu'il peut en être de même pour ceux qui développent des sites Web et qui ont juste besoin de contrôler le visuel avec Internet Explorer 7.

Heureusement, une nouvelle voie est proposée gratuitement par la société 2x. Comme l'explique très bien cet article, il suffit d'installer 2X Application Server for Windows Terminal Services sur le poste Windows XP (ou le serveur 2003) et décider des applications à publier. L'installation de l'application et les choix des applications à publier sont d'une simplicité enfantine (que ce soit pour la partie Windows ou l'installation et l'utilisation de la partie Linux), je ne m'attarderai donc pas sur ce sujet, l'article de SearchOpenSource.com étant très clair.

Bien que non précisé dans l'article, cela fonctionne aussi avec un simple VMWare Player ou pour l'accès à des applications d'un poste XP distant (cf vidéo).

Ce que j'apporterai en complément, c'est qu'il faut que la session de l'utilisateur du XP distant ou de la VMWare soit fermée pour que cela fonctionne correctement (sinon, on se retrouve dans un cadre de type RDP classique avec le bureau). D'autre part, par défaut, le clavier est de type QWERTY. Ainsi que le montre l'aide d'appserverclient, la possibilité de paramétrer cette option sera pour plus tard :

$ ./appserverclient 
2X Application Server Client.
Version 1.0.1775. Copyright (C) 2005-2006 2X Software.
Usage: ./appserverclient options
../..
-k: path to keymap file (not implemented yet)
En attendant, pauvre français, nous devrons nous contenter de faire une MAJ+ALT (gauche) pour passer le clavier en français pour chaque application ou commencer par appeler les « Options régionales » du « Panneau de configuration » et positionner le clavier français ce qui règle le problème pour la session en cours. En ce qui me concerne, comme ce n'est que pour utiliser une application bien précise de temps en temps, le MAJ+ALT me convient parfaitement.

Comme le montre la vidéo d'une piètre qualité (désolé mais la détérioration est terrible par rapport à la vidéo de base), l'appel du premier programme (ie7 dans la vidéo) ouvre la session ce qui rend la premier appel depuis Linux bloquant (il faut donc passer sur un autre screen/term pour lancer les programmes suivants). Pour libérer la session, un CTRL+C sur l'écran de la première commande est donc nécessaire.



Reste à noter que cette solution ne fonctionnera pas sur un Windows 2000 Pro ou un autre OS MS car la console 2x utilise bien sûr le bureau à distance d'XP ou TSE pour un serveur 2003. Si, d'autre part, vous possédez un serveur Web sur votre poste Windows, il faudra délocaliser le port d'écoute de la console 2x qui, par défaut, est sur le port 80. Enfin, les windoziens pourront découvrir les autres possibilités de la solution 2x comme la publication web des applications.

1/16/07

A quoi ressemble votre jardin virtuel ?


Pourquoi ne pas profiter de vos moments de surf sur le net pour cultiver votre jardin virtuel et le découvrir en fin de journée ?

Packet Garden collecte les informations concernant votre activité réseau et les met en forme d'une façon plutôt poétique comme le montre l'activité de cette journée.


La taille des montagnes et la profondeur des vallées représentent le volume de données échangées (upload/download), leur situation est en rapport avec l'origine de l'adresse IP (geolocalisation) alors que les protocoles utilisés sont représentés par des plantes différentes. A titre d'exemple, voici celle qui illustre les protocoles sécurisés de type SSH ou HTTPS :

Au passage, je vous présente également la marijuana de votre jardin virtuel :

Une fois les données représentées, on peut ensuite se déplacer dans son jardin virtuel (par discrétion pour mes clients, je n'ai pas demandé l'affichage des adresses IP) :


Bien que Debian Etch ne soit pas indiqué sur le site de Packet Garden, ça fonctionne parfaitement avec les paquets Debian Sid proposés (en fait, c'est un tarball qui est proposé mais les paquets Debian et Ubuntu sont ici).

Si, comme moi, vous avez droit au « Known Bug : sysfont error on init on some systems (the fix will be in the next version) », pour une Debian Etch, éditez le fichier sysfont.py à la ligne 181 :

vi /var/lib/python-support/python2.4/soya/pudding/sysfont.py +181
Puis, ajouter le path vers defoma pour que Soya Pudding trouve les polices à utiliser :
paths = ['/usr/X11R6/lib/X11/fonts', '/usr/share/fonts', '/var/lib/defoma']
Des versions existent également pour Windows et Mac.

J'aimerais bien savoir à quoi ressemblera votre jardin ;)

Lien vers Packet Garden

1/13/07

remind & backtick screen


UPDATE 15/01 :
modif :
- section 1°) (>> au lieu de >)
- section 2°) (script modifié)
- section 4°) (alias r et vr)
motif :
une alerte non-consultée pouvait être écrasée par l'alerte suivante


Comme vu précédemment, l'affichage des alertes de remind peut se faire via des fenêtres pop-up (gxmessage ou autre). Néanmoins, cela représente des défauts majeurs dont celui de perdre le focus au moment le plus inopportun (lois de Murphy en action). Enfin, ce n'est pas le plus adapté pour des connexions ssh et ça n'a aucun intérêt lorsqu'on passe 95% de son temps dans des screen.

Reste à mettre en place une solution qui permette d'être alerté sans pour autant perturber l'activité en cours sur les différents écrans. Utiliser le « backtick » de screen est ce qui m'a paru le moins « obstrusif ».

1°) On commence par demander à remind d'écrire ses alertes dans un fichier qu'on appellera .rappels. Pour cela, on lance la commande suivante au démarrage de X et/ou lors du login de l'utilisateur.

remind -zk"echo %s >> /home/mon_user/.rappels" &

2°) On crée un script permettant de lire le nombre d'alertes envoyées par remind dans le fichier .rappels (script remind-me.sh à mettre dans ~/bin) :
#!/bin/sh
# remind-me.sh (bc 2007)
# modifier RAPPEL_FILE pour votre usage
RAPPEL_FILE='/home/mon_user/.rappels'

if [ -e $RAPPEL_FILE ] && [ -s $RAPPEL_FILE ]; then
sort -u $RAPPEL_FILE -o $RAPPEL_FILE
nbl=`wc -l $RAPPEL_FILE | cut -f1 -d' '`
case "$nbl" in
"1")
nbw=`wc -w $RAPPEL_FILE | cut -f1 -d' '`
if [ $nbw -gt 0 ]; then
echo "1 rappel"
else
exit 0
fi
;;
*)
echo "$nbl rappels"
;;
esac
else
exit 0
fi

3°) On modifie le .screenrc de l'utilisateur pour afficher le backtick qui utilise le script remind-me.sh. Voici une proposition pour la partie qui nous intéresse :
hardstatus on
hardstatus alwayslastline
hardstatus string '%{= kG}[%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{R}%{+B} %1` %{g}%{-B}][%{B} %D %d/%m %{W}%c %{g}]'
backtick 1 0 60 remind-me.sh

On demande que le rafraîchissement se fasse toutes les minutes.

4°) On crée 2 alias (dans son .bash_aliases ou son .bashrc). Le premier alias 'r' (comme 'rappels') affichera le contenu de .rappels alors que le second alias 'vr' (comme 'vider les rappels') videra le contenu du fichier ~/.rappels.
alias r='sort -u ~/.rappels'
alias vr='> ~/.rappels'

En résumé, ça donne ce résultat :

Pour la démo, le rafraîchissement du backtick est de 5 secondes.

1/12/07

remind en français (Debian Etch)


wyrd, le compagnon de remindPour mon organisation personnelle, en complément de Google Calendar, j'utilise l'excellent remind. Il est sans doute d'un abord plus rude que celebrat mais permet des paramétrages et des rappels que même les ténors du marché ne savent pas gérer.

Avec remind, il devient par exemple très simple de mettre en place un rappel pour « le dernier Lundi de chaque mois » ce que permettent difficilement voire pas du tout la plupart des agendas actuels. Sachant que remind est aussi capable de lancer des commandes ou des scripts, on imagine assez facilement tout le potentiel :
REM Lundi 1 --7 RUN /home/mon_user/bin/mon_backup.sh
=> lancera par exemple un backup personnel tous les derniers Lundi de chaque mois

Pour les alertes, il suffit de lancer la commande suivante au démarrage du window manager :
remind -zk"gxmessage -center -default "okay" -title "Rappel" -borderless %s" &
(apt-get install gmessage s'il n'est pas installé)

Malheureusement, par défaut, remind est en anglais car le choix du langage se fait au moment de la compilation. Voici donc le paquet remind pour Debian Etch avec la localisation française.

Si on souhaite gérer ses événements visuellement, il est même possible d'utiliser des frontends comme le célèbre wyrd.

12/14/06

Beryl 0.1.3 (Debian Etch)


Un blogger a eu l'excellente initiative de créer un dépôt Debian Etch pour Beryl 0.1.3.

Pour l'utiliser, il suffit d'enlever le précédent dépôt utilisé (celui d'Ubuntu si vous aviez suivi cet article) et d'ajouter celui d'Anuradha dans le /etc/apt/sources.list :
# Beryl
deb http://www.linux.lk/~anuradha/beryl/etch/ ./


Rafraîchir la liste des dépôts par :
# apt-get update

Par sécurité, désinstaller la précédente version de Beryl :
# apt-get remove beryl-manager beryl beryl-core beryl-plugins-data beryl-dbus beryl-plugins beryl-settings emerald beryl-dev

Puis finalement installer les paquets du nouveau dépôt :
# apt-get install beryl emerald-themes

12/11/06

Passer d'un driver NVidia 1.0.9631 au Beta Driver NVidia 1.0.9742 (Debian Etch)



Sous Debian Etch, certains jeux comme Wolfenstein Return to Castle ou Wolfenstein Enemy Territory ne fonctionnent pas avec le driver NVidia 1.0.9629 ou souffrent de problèmes d'affichage avec le dernier driver 1.0.9631.

Par contre, le beta driver NVidia 1.0.9742 fonctionne remarquablement bien. L'inconvénient est qu'il faut modifier un fichier du driver avant de l'utiliser. Pour se faciliter la vie lors d'un changement de kernel (où il faut réinstaller le pilote) ou pour passer au driver beta, voici 2 scripts livrés « as-is » (comme on dit habituellement : « Use at your own risk ») :

- get_nvidia_9742_x86.sh télécharge le driver, le modifie puis reconstruit l'archive NVidia.

- install_nvidia_9742.sh arrête le serveur X (pour ceux qui utilisent gdm), installe les paquets Debian Etch nécessaires, installe le driver beta NVidia et relance le serveur X (pour ceux qui utilisent gdm).

L'utilisation de ces scripts s'entendent plus pour un passage d'un driver 1.0.9629 (ou 1.0.9631) au beta driver 1.0.9742 que pour une première installation des drivers NVidia.

Comment utiliser les scripts :

1. Ouvrir un Terminal sous X

2. Passer en root par :
$ su -

3. Créer accessoirement un répertoire pour ranger les scripts :
# mkdir nvidia
# cd nvidia


4. Récupérer les scripts :
# wget http://bcarrere.free.fr/nvidia/get_nvidia_9742_x86.sh
# wget http://bcarrere.free.fr/nvidia/install_nvidia_9742.sh

5. Rendre les scripts exécutables :
# chmod u+x get_nvidia_9742_x86.sh install_nvidia_9742.sh

6. Lancer le script get_nvidia_9742_x86.sh
# ./get_nvidia_9742_x86.sh
Un fois l'exécution du script terminée, un nouveau fichier NVIDIA-Linux-x86-1.0-9742-pkg1-MODIFIED.run doit exister dans le répertoire.

7. Fermer la session X (Clore la session...)

8. Appuyer sur CTRL+ALT+F1 pour passer en mode console

9. Se connecter avec le compte de root

10. Lancer le script
# cd nvidia
# ./install_nvidia_9742.sh

A la fin du script, X est relancé et vous pouvez vous connecter. En cas de changement de kernel, seul le script install_nvidia_9742.sh est à exécuter en tant que root depuis une console (il faut juste laisser le NVIDIA-Linux-x86-1.0-9742-pkg1-MODIFIED.run au même endroit que le script install_nvidia_9742.sh).

12/8/06

Installer Eclipse pour Ruby on Rails (Etch)


Préalable :

- Installer les librairies pour embarquer le navigateur Mozilla
# apt-get install libmozillainterfaces-java

- Récupérer Eclipse 3.2.1

- Détarer l'archive d'Eclipse récupérée
# cd /usr/local
# tar xvzf /chemin_vers_archive/eclipse-SDK-3.2.1-linux-gtk.tar.gz

- Récupérer la localisation française
# cd /usr/local
# unzip /chemin_vers_archive/NLpack1-eclipse-SDK-3.2.1-gtk.zip

- Lancer Eclipse en root pour installer les composants pour Ruby on Rails
ALT+F2 et taper « gksu /usr/local/eclipse/eclipse » pour lancer Eclipse.


- Taper le mot de passe de root
- Cliquer sur Ok pour valider la sélection de l'espace de travail.


- Ouvrir le menu Aide > Mises à jour de logiciels > Rechercher et installer...


- Sélectionner Rechercher les nouveaux dispositifs à installer.


- Choisir le bouton Nouveau site distant...


- Renseigner la fenêtre pour les Ruby Development Tools
Nom : RDT
Adresse URL : http://updatesite.rubypeople.org/release


- Cliquer à nouveau sur le bouton Nouveau site distant... pour RadRails
Nom : RadRails
Adresse URL : http://radrails.sourceforge.net/update


- Cliquer sur le bouton Terminer de la fenêtre principale.


- Sélectionner les cases RadRails et RDT puis cliquer sur le bouton Suivant >


- Accepter les licences et cliquer sur Suivant >


- Confirmer l'installation des plugins en cliquant sur Terminer


- Eclipse récupère les plugins demandés


- Cliquer sur Installer tout


- Lorsqu'Eclipse demande de se relancer, répondre Non


- Fermer Eclipse

- Créer un script permettant à Eclipse de prendre en charge le navigateur
$ touch eclipse.sh && chmod +x eclipse.sh
$ vi eclipse.sh

Contenu du fichier :
#!/bin/sh
MOZILLA_FIVE_HOME=/usr/lib/xulrunner
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MOZILLA_FIVE_HOME
export MOZILLA_FIVE_HOME LD_LIBRARY_PATH
/usr/local/eclipse/eclipse
- Lancer Eclipse en utilisant le script
$ ./eclipse.sh &

- Menu Fenêtre > Préférences...
- Dans l'arborescence de gauche, sélectionner Ruby puis Installed Interpreters
- Cliquer sur le bouton Add


- Renseigner la fenêtre comme suit :
Interpreter Name : ruby
Location : /usr/bin/ruby


- Sélectionner dans l'arborescence à gauche la ligne Ri/rdoc et renseigner comme suit :
RDoc path : /usr/bin/rdoc
Ri path : /usr/bin/ri
Cliquer ensuite sur le bouton Appliquer


- Dans l'arborescence de gauche, sélectionner Rails puis Configuration et renseigner comme suit :
Rails path : /usr/bin/rails
Rake path : /usr/bin/rake
Valider avec le bouton Ok pour fermer la fenêtre.


- Eclipse peut maintenant être utilisé pour Ruby on Rails :


- L'auto-complétion se fait par CTRL+Espace :

Installer Ruby on Rails (Etch)


1. Installer Ruby
# apt-get install ruby rdoc irb libyaml-ruby libzlib-ruby ri

2. Installer rubygems
# apt-get install rubygems
# gem update --system

3. Installer Ruby on Rails
# gem install rails --include-dependencies

4. Tester l'installation (mode utilisateur)
$ rails test_rails
$ cd test_rails
$ ruby script/server
Ouvrir un navigateur et se rendre sur http://localhost:3000 qui doit afficher une page concernant notre application test_rails.