Le blog de Jean David TECHER, un Réunionnais à Saint-Priest/Lyon

Aller au contenu | Aller au menu | Aller à la recherche


< 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 >

samedi 2 octobre 2010

Installation de NSIS 2.46 sous Debian Lenny

0. Exemple

J'ai mon domaine Windows à  la maison géré par Samba/OpenLDAP en tant que PDC.

Je veux utiliser NSIS pour me créer un petit exe qui affiche un petit message de bienvenue lors de l'ouverture de session.

Ca affichera pendant une dizaine de seconde

Message de bienvenue apparaissant (pendant quelques secondes) lors de l'ouverture de session pour un domaine en PDC géré par Samba/OpenLDAP

1. Motivations

  1. Travailler avec NSIS sous Windaube c'est bien mais l'avoir sous Nunux c'est encore mieux

    Si vous travaillez avec quelqu'un qui est sous Nunux et vous sous Windaube, ca évitera qu'il vienne vous squatter votre ordi pour compiler ses scripts de NSIS. (Moi je dis ça mais je dis rien)
  2. De plus les paquets .deb proposés par Debian sont quand même assez anciens. Il est intéressant de disposer d'une version à  jour

    melina-xen07:~/example# apt-cache policy nsis
    nsis:
      Installé : (aucun)
      Candidat : 2.37-3
     Table de version :
         2.37-3 0
            500 http://ftp.us.debian.org lenny/main Packages
    
  3. Par ailleurs le paquet est incomplet comme l'atteste
    melina-xen07:~/example# apt-cache show nsis |tail -6 |head -3
     Some parts of nsis cannot be built on Debian because of non-free
     requirements. Please see the following file for more information:
     /usr/share/doc/nsis/README.Debian
    

2. Pré-requis

Cette version de NSIS suppose d'installer scons, python et gcc/g++. Pour scons, il faut une version supérieure à  0.98 Ca tombe bien. Sous Lenny, on a
melina-xen07:~/nsis_work# apt-cache show scons | grep -i ^version
Version: 1.0.0-1
Donc on peut installer
apt-get update
apt-get install -y python scons g++ gcc bzip2 unzip mingw32-binutils mingw32 mingw32-runtime libpthread-stubs0-dev

2. Téléchargement

On télécharge nsis-2.46-src.tar.bz2. On décompresse ensuite
wget -q http://sourceforge.net/projects/nsis/files/NSIS%202/2.46/nsis-2.46-src.tar.bz2/download -O nsis-2.46-src.tar.bz2 && tar xjf nsis-2.46-src.tar.bz2
Ou sinon le tout à  la voléé
wget -q http://sourceforge.net/projects/nsis/files/NSIS%202/2.46/nsis-2.46-src.tar.bz2/download -O - |tar xjf -

3. Compilation et installation

Rien de plus simple que
scons PREFIX=/opt/nsis install

4 .Exemple

4.1 Le script
Le script welcome.nsi utilisé sera donc
/*

    Script de connexion au domaine DavidGIS.fr
*/
!define PRODUCT_NAME "Welcome"
!define PRODUCT_VERSION "0.1"
!define PRODUCT_PUBLISHER "Jean David TECHER"
!define PRODUCT_WEB_SITE "http://www.davidgis.fr"

SetCompressor zlib

Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "${PRODUCT_NAME}-${PRODUCT_VERSION}.exe"
InstallDir "$TEMP"
# Mode silencieux
SilentInstall silent

# Ecran de bienvenue inspiré de http://nsis.sourceforge.net/Docs/Splash/splash.txt
####################################################################
Function .onInit
  SetOutPath $TEMP
  File /oname=spltmp.bmp "welcome_davidgis.bmp"

  splash::show 10000 $TEMP\spltmp

#  advsplash::show 3000 1600 1400 0xFFFFFF $TEMP\spltmp

  Pop $0 ; $0 has '1' if the user closed the splash screen early,
     ; '0' if everything closed normally, and '-1' if some error occurred.

  Delete $TEMP\spltmp.bmp
FunctionEnd


Section "Principal" SEC01
SetOverwrite on
SetOutPath "$TEMP"
File "connexion.txt"
Exec `cmd /c echo %COMPUTERNAME%: l'utilisateur "%USERNAME%" est connecté sur le domaine "%USERDOMAIN%"  >> %TEMP%\connexion.txt`
SectionEnd

Section -Post

SectionEnd
4.2 Compilation et mise en place avec Samba
Pour la compilation
/opt/nsis/bin/makensis welcome.ns
qui générera le fichier Welcome-0.1.exe

Mon serveur Samba est sur l'hote olivia.davidgis.fr. Pour mon Samba, j'ai configuré mon netlogon ainsi de manière général pour tout les utilisateurs

root@olivia:~# grep logon /etc/samba/smb.conf|grep -E '(script|netlogon)'
logon script = logon.bat
[netlogon]
path = /home/netlogon
C'est donc /home/netlogon/logon.bat que je vais devoir modifier.

Il suffit donc de copier Welcome-0.1.exe sur un partage commun à  tous afin de le rendre accessible à  tous les utilisateurs. Par exemple

root@olivia:~# grep '\[partage\]' -A5 /etc/samba/smb.conf
[partage]
comment = Repertoire commun
browseable = Yes
writeable = Yes
public = No
path = /home/partage

On le copie donc sur /home/partage

Le contenu de /home/partage devient donc

root@olivia:~# cat /home/netlogon/logon.bat
\\olivia\partage\Welcome-0.1.exe
net use p: \\olivia\partage
net use u: \\olivia\%username%

samedi 28 août 2010

Hobbit-client 4.3 et Serveur Hobbit 4.2

A la maison, j'ai mon serveur Hobbit qui tourne sous 4.2. Sur gemini (une des machines clientes), je viens tout juste d'installer hobbit-client.

Malheureusement c'est un hobbit-client version 4.3 car gemini est une Ubuntu Lucid Lynx 10.04

Installlation du client

apt-get install hobbit-clientl hobbit-plugins
Lors de l'installation, il faudra préciser l'IP du serveur Hobbit

Ensuite, il faut modifier le fichier pour supprimer le sufixe davidgis.fr à  la ligne CLIENTHOSTNAME="gemini" au lieu de CLIENTHOSTNAME="gemini.davidgis.fr"

root@gemini:~# cat /etc/default/hobbit-client
# Configure the Hobbit client settings.

# You MUST set the list of Hobbit servers that this
# client reports to.
# It is good to use IP-adresses here instead of DNS
# names - DNS might not work if there's a problem.
# (Internally this will be translated to BBDISP and BBDISPLAYS
# variables in /var/run/hobbit/bbdisp-include.cfg)
#
# E.g. (a single Hobbit server)
#   HOBBITSERVERS="192.168.1.1"
# or (multiple servers)
#   HOBBITSERVERS="10.0.0.1 192.168.1.1"

HOBBITSERVERS="192.168.2.242"

# Hostname used by the client for its reports.
# Must match the name for this host in the Hobbit servers'
# bb-hosts file.

root@gemini:~# cat /etc/default/hobbit-client
# Configure the Hobbit client settings.

# You MUST set the list of Hobbit servers that this
# client reports to.
# It is good to use IP-adresses here instead of DNS
# names - DNS might not work if there's a problem.
# (Internally this will be translated to BBDISP and BBDISPLAYS
# variables in /var/run/hobbit/bbdisp-include.cfg)
#
# E.g. (a single Hobbit server)
#   HOBBITSERVERS="192.168.1.1"
# or (multiple servers)
#   HOBBITSERVERS="10.0.0.1 192.168.1.1"

HOBBITSERVERS="192.168.2.242"

# Hostname used by the client for its reports.
# Must match the name for this host in the Hobbit servers'
# bb-hosts file.

CLIENTHOSTNAME="gemini"

Configuration cà´té serveur

On ajoute la ligne suivante dans le fichier /etc/hobbit/bb-hosts
melina-xen06:~# head -n35 /etc/hobbit/bb-hosts 
###############################################################################################
# $Id: bb-hosts 55 2010-08-28 18:19:20Z david $
###############################################################################################
# Master configuration file for Hobbit
#
# This file defines several things:
#
# 1) By adding hosts to this file, you define hosts that are monitored by Hobbit
# 2) By adding "page", "subpage", "group" definitions, you define the layout
#    of the Hobbit webpages, and how hosts are divided among the various webpages 
#    that Hobbit generates.
# 3) Several other definitions can be done for each host, see the bb-hosts(5)
#    man-page.
#
# You need to define at least the Hobbit server itself here.

#0.0.0.0        .default.       # NOPROPRED:+apt,+libs

group Serveurs physiques
192.168.2.1	olivia		# http://olivia.davidgis.fr disk memory COMMENT:"Serveur 1 - principal (FireWall/Web/QMail/Samba/LDAP"
192.168.2.6	monroe		# http://monroe.davidgis.fr disk memory oratns COMMENT:"Serveur 2  - Lighttpd/Oracle"
192.168.2.8	melina		# disk memory	COMMENT:"Serveur 3 - Xen"
192.168.2.14	gemini		# cpu disk memory	COMMENT:"Serveur 4 - Multimedia (FreeBox/TV)"

group Serveurs virtuels sous Xen
192.168.2.252	melina-xen01	# disk memory COMMENT:"Bases MySQL/PostgreSQL"
192.168.2.250	melina-xen02	# disk memory COMMENT:"Squid"
192.168.2.248   melina-xen03    # disk memory COMMENT:"FreeRadius"
192.168.2.244	melina-xen04	# disk memory COMMENT:"Windows XP"
192.168.2.246	melina-xen05	# disk memory COMMENT:"P3Scan/ClamAV/SpamAssassin"
127.0.0.1       melina-xen06    # bbd http://melina-xen06/ COMMENT:"Serveurs Web internes/SVN"
192.168.2.238	melina-xen07	# disk memory COMMENT:"Bases Oracle"
Ce qui donnera donc ceci

Suppression du test pour apt

  1. Cà´té Client:

    Depuis gemini (client), il faut décommenter la ligne '#DISABLED' dans le fichier. Pour le coup, un petit sed interactif devrait suffire
    root@gemini:~# cat /etc/hobbit/clientlaunch.d/apt.cfg
    [apt]
    	#DISABLED
    	ENVFILE /etc/hobbit/hobbitclient.cfg
    	CMD $HOBBITCLIENTHOME/ext/apt
    	LOGFILE /var/log/hobbit/hobbitclient.log
    	INTERVAL 5m
    root@gemini:~# sed -i "s:#::g" /etc/hobbit/clientlaunch.d/apt.cfg
    root@gemini:~# cat /etc/hobbit/clientlaunch.d/apt.cfg
    [apt]
    	DISABLED
    	ENVFILE /etc/hobbit/hobbitclient.cfg
    	CMD $HOBBITCLIENTHOME/ext/apt
    	LOGFILE /var/log/hobbit/hobbitclient.log
    	INTERVAL 5m
    
  2. Cà´té Serveur:

    On voit que le test est toujours actif
    melina-xen06:~# /usr/lib/hobbit/server/bin/bb 127.0.0.1 "hobbitdboard test=apt fields=hostname"
    gemini
    
    Il faut donc le dropper
    TEST=apt;
    /usr/lib/hobbit/server/bin/bb 127.0.0.1 "hobbitdboard test=$TEST fields=hostname"| \
     while read H;
     do
        /usr/lib/hobbit/client/bin/bb 127.0.0.1 "drop $H $TEST";
    done
    
    On vérifie
    melina-xen06:~# /usr/lib/hobbit/server/bin/bb 127.0.0.1 "hobbitdboard test=apt fields=hostname"
    melina-xen06:~# 
    
    

mercredi 25 août 2010

Compilation de libtorrent 0.12.6 et rtorrent 0.8.6

Remarque: Ce billet est une mise à  jour de mon premier billet concernant la première compilation de libtorrent/rtorrent

Les commandes sont

wget http://libtorrent.rakshasa.no/downloads/libtorrent-0.12.6.tar.gz
tar xvzf libtorrent-0.12.6.tar.gz 
cd libtorrent-0.12.6
./configure && make && make install
wget http://libtorrent.rakshasa.no/downloads/rtorrent-0.8.6.tar.gz -O - | tar xvz 
cd rtorrent-0.8.6/
./configure && make && make install
ldconfig && ./configure && make && make install

jeudi 15 juillet 2010

Monroe is back

Profitant de mon petit congé cette semaine, j'en ai profité pour m'occuper de monroe (une de mes machines). Il y avait juste le boà®tier d'alimentation à  changer. Depuis une petite heure, la machine tourne comme il faut :)