Catégories
Open-source Planet-libre Systeme

J’ai testé Debian GNU/kFreeBSD

La dernière version de la distribution Debian propose en option l’utilisation d’un noyau FreeBSD en lieu et place du classique noyau Linux. Si vous suivez ce blog, vous savez tout le bien que je pense de ce noyau BSD. On se retrouve donc avec une distribution Debian GNU/kFreeBSD (k comme kernel) qui, sur le papier, a de quoi séduire…

Nous allons donc dans ce billet détailler l’installation de cette distribution sur une machine virtuelle VirtualBox afin de vous faire une propre idée.

Installation de Debian GNU/kFreeBSD

On commence par récupérer l’image ISO:

wget -O debian-6.0-kfreebsd-i386.iso http://ftp.nl.debian.org/debian/dists/squeeze/main/installer-kfreebsd-i386/current/images/netboot/mini.iso

L’image ISO ne fait que 9 Mo. C’est donc une procédure d’installation minimale (netinstall) qui va télécharger les paquets nécessaires sur Internet. Il faut donc compter une petite heure d’installation avec une liaison Internet correcte.

On créé ensuite une machine virtuelle (1+ Go de RAM et 6+ Go de disque) en utilisant cette image. Pour me simplifier la vie, j’ai choisi une installation par défaut dans le premier menu: « Default install »


Le wizard d’installation va vous poser les questions habituelles (nom et domaine de la machine, partition ou installer le système, mot de passe root, compte utilisateur par défaut, clavier…), bref rien de compliqué.

Lors de mon test je me suis retrouvé avec un clavier qwerty pendant cette installation, faites donc attention lorsque vous allez saisir le mot de passe root…

Une fois la procédure d’installation terminée, il faut rebooter sur le disque système. J’ai rencontré l’erreur critique suivante durant le démarrage:

Mmmmhhhh pas glop

Pour résoudre ce problème j’ai du forcer l’ordre de démarrage des disques dans VirtualBox en mettant le disque système en premier:

Le démarrage se passe ensuite sans problème ! Glop

On a donc dans les main un système Debian GNU 6.0 avec un noyau FreeBSD 8.1 !

Mais ou est le rc.conf ?

Pour diablotins qui souhaiteraient passer du coté obscur, il va falloir perdre certaines habitudes. En effet, même si on utilise un noyau FreeBSD, tout l’écosystème de cette distribution reste une Debian GNU. Ainsi l’organisation des fichiers de configuration reste la même que sur une Debian « classique » (voir la documentation ici). Point donc du si pratique fichier rc.conf qui permet de configurer l’ensemble des processus lancés au démarrage de votre machine et se contenter d’une gestion par des scripts dans le répertoire /etc/init.d.

Et mes ports ?

Là encore, point de répertoire /usr/ports. En effet, le gestionnaire de paquets est apt-get (ou aptitude). Dommage j’aime bien le principe de compilation à l’installation de nouveaux logiciels.

Voilà PF !

Tout comme Linux, le noyau FreeBSD est de type monolitique modulaire (je vous conseille de lire ce wiki pour voir de quoi je parle). On peut ainsi charger des fonctions complémentaires « à chaud ».

C’est par exemple le cas du module PF qui ajoute un firewall intégré vraiment très puissant (de mon humble avis, l’un des principal avantages du noyau FreeBSD part rapport à Linux).

Il n’est pas activé par défaut dans le noyau fourni par la distribution Debian. Il faut donc pour l’activer, saisir les commandes suivante qui permette de charger le bon module:

su –

kldload pf.ko

pfctl -e

Pour une petite introduction à PF vous pouvez lire un billet que j’avais écrit il y a maintenant deux ans (ou bien RTFM…).

On peut également s’amuser à customiser le stack IP FreeBSD, réputé pour sa fiabilité et sa performance, en utilisant la commande sysctl.

Conclusion

C’est fini pour cette rapide introduction à Debian GNU/kFreeBSD. Je trouve l’initiative intéressante pour contre balancer l’hégémonie du noyau Linux dans les systèmes libres.

Catégories
Open-source Planet-libre Systeme

Mise à jour de Debian Lenny vers Squeeze

Après une trop longue attente la nouvelle version de Debian, LA distribution GNU/Linux de référence vient de sortir en version 6.0.  Son petit nom de scène est Squeeze.

Pour migrer ces machines de la version 5.0 (Lenny) vers cette nouvelle version 6.0 (Squeeze), il faut suivre une petite procédure assez simple que nous allons détailler dans ce billet.

On commence par ouvrir un terminal (ou a ce connecter en SSH sur son serveur) puis à passer en mode root:

su –

Ensuite on commence par vérifier que le système Lenny est à jour:

aptitude update && aptitude safe-upgrade

Ensuite on prépare la migration vers la version 6.0 (Squeeze):

cp /etc/apt/sources.list /etc/apt/sources.list-lenny

sed ‘s/lenny/squeeze/g’ /etc/apt/sources.list > /etc/apt/sources.list-squeeze

cp /etc/apt/sources.list-squeeze /etc/apt/sources.list

Si vous avez des fichiers présents dans le répertoire /etc/apt/sources.list.d/ il faut également faire la manipulation équivalente (c’est à dire changer toutes les occurrences de lenny vers squeeze).

Puis on effectue la  migration:

aptitude update && aptitude dist-upgrade

A la fin de la mise à jour, on repasse en mode non root:

exit

Et voili !

Catégories
Open-source Planet-libre Reseau Web

Installation automatique de NGinx, PHP-FPM, MemCached sous Debian

Au début du mois nous avons vu ensemble l’installation d’un serveur NGinx sous Ubuntu. Sous Debian,  il faut mettre un peu plus les mains dans le cambouis, en effet il est parfois utile de partir des sources plutôt que des dépôts officiels (notamment au niveau de la présence ou non d’un module).

J’ai donc développé un petit script shell pour automatiser l’installation (ou la mise à jour) d’un serveur Web rapide, léger et performant sous une Debian (Squeeze ou Lenny).

Ce script va effectuer les choses suivantes:

Il est bien sûr possible d’adapter ce script à vos besoins et de l’utiliser comme bon vous semble. Si vous rencontrez des erreurs ou que vous avez en tête des améliorations possibles, merci de laisser un commentaire en bas de ce billet.

Récupération du script

Le script est disponible dans mon GitHub:

NGinxAutoInstall.sh

Vous pouvez également faire ces actions en ligne de commande dans un terminal:

wget https://raw.github.com/nicolargo/debianpostinstall/master/nginxautoinstall.sh

Il faut ensuite le rendre exécutable:

chmod a+x ./nginxautoinstall.sh

Lancement du script

Il faut lancer le script en root (droit d’administration):

su - -c "$PWD/nginxautoinstall.sh"

Si tout se passe correctement, le script devrait afficher:

Validation et test de performances

Votre serveur est maintenant opérationnel, il vous reste à mettre vos page HTML et scripts PHP dans le répertoire /var/www et tester le tout en entrant l’URL suivante dans un navigateur Web: http://@devotreserveur/.

Vous pouvez également tester les performances brutes de votre serveur en utilisant HTTPerf (disponible dans les dépôts Debian). Sur mon serveur de test (VPS Gandi 1 part), j’obtiens les perfos suivantes:

httperf –client=0/1 –server=localhost –port=80 –uri=/ –send-buffer=4096 –recv-buffer=16384 –num-conns=5000 –num-calls=10

Request rate: 6833.4 req/s (0.1 ms/req)

Conclusion

Avec NGinx, on obtient rapidement de très bonnes performances et le couple PHP-FPM, MemCached permet d’avoir une bonne base pour héberger, par exemple, votre blog WordPress (lire l’article sur le sujet dans ce blog).

Je suis bien sur preneur de tous commentaires/remarques sur le script.

Catégories
Open-source Planet-libre Reseau Web

Installation et utilisation de LOIC sous GNU/Linux

Depuis que le groupe Anonymous a utilisé Low Orbit Ion Cannon (LOIC) pour attaquer un certain nombre d’entreprises ayant mis des battons dans les roues de Wikileaks et de son patron,  ce logiciel a été mis sur le feux des projecteurs.

Ce logiciel permet en un clic de souris de lancer une attaque de type Deny Of Service (DOS) sur une machine cible. Utilisé par une personne bienveillante, ce logiciel de « script kiddies » peut être utilisé pour tester la réaction d’un de ses serveur par rapport à une telle attaque et également de tester les mécanismes de sécurité associés.

Développé en C# (burk…), LOIC est disponible sous les OS Windows Xp ou supérieur. Il est bien sur possible de l’utiliser également sous GNU/Linux moyennant quelques manipulations…

Installation de LOIC sous GNU/Linux

C’est en lisant ce forum que j’ai trouvé une solution simple et élégante pour installer la dernière version de LOIC sous Ubuntu, Fedora ou Debian (et surement sur toutes distributions GNU/Linux disposant des pré-requis).

On commence par installer les logiciels suivants:

Sous Ubuntu/Debian:

sudo aptitude install git-core monodevelop

Sous Fedora (en root):

yum install git mono-devel

Ensuite on récupére un script SHELL qui va permettre: d’installer, de mettre à jour et de lancer LOIC sur votre distribution GNU/Linux:

mkdir ~loic

cd ~loic

wget https://raw.github.com/nicolargo/loicinstaller/master/loic.sh

chmod a+x loic.sh

Installation de LOIC

On lance la commande suivante:

./loic.sh install

Le script va télécharger la dernière version disponible dans le GIT puis effectuer une installation dans le répertoire ~/loic/LOIC.

Mise à jour de LOIC

On lance la commande suivante:

./loic.sh update

Le script va vérifier l’existence d’une nouvelle version disponible dans le GIT puis effectuer une installation dans le répertoire ~/loic/LOIC.

Lancement de LOIC

On passe au chose sérieuse en lançant le logiciel:

./loic.sh run

La fenêtre suivante devrait apparaitre:

Utilisation de LOIC

Attention à ne pas tester ce logiciel sur un site qui ne vous appartient pas ! En effet, le logiciel ne dispose d’aucun mécanisme pour cacher votre adresse IP et vous serez facilement repéré par le site cible. Cela serait dommage de se faire bannir par les mécanismes de filtrage de votre blog préféré 😉

Comme vous allez le voir, même mon fils de 4 ans et demi peut se servir de ce logiciel. Il suffit de (1) saisir l’URL (ou l’adresse IP) de la machine à attaquer puis (2) de cliquer sur le bouton « Lock on » puis (3) enfin sur le bouton  « IMMA CHARGIN MAH LAZER ».

 

Par défaut, les attaques sont de type flood sont lancées sur le port TCP/80 (mais il est possible de faire des attaques de type UDP ou HTTP). 10 processus sont lancés en parallèle.


La ligne de status devrait se mettre à jour pour voir la progression de l’attaque:

Que fait LOIC ?

En capturant le trafic généré par LOIC à l’aide d’un logiciel comme tshark, on peut voir qu’il génére un grand nombre de requêtes TCP dans le but de saturer la machine cible.

Avec un simple PC bureautique, j’arrive à un débit de requête de l’ordre de 4.5 Mbps. Imaginez le résultat si 1000 personnes font la même chose vers une même cible…

Catégories
Blog Developpement Open-source

Un blog WordPress local pour vos développements

Envie de vous lancer dans le développement de votre propre thème WordPress ? Envie tester votre dernier plugin sur une copie de votre blog sans impact pour vos lecteurs ? Envies de tester cette fameuses version 3.0bêta de WordPress ?

Ces quelques exemples justifient l’installation en local (donc disponible même sans liaison Internet), sur votre PC GNU/Linux d’un environnement de développement de blog complet. Celui-ci se composera:

  • d’un serveur LAMP à jour (Linux, Apache, MySQL, PHP)
  • de la dernière version de WordPress
  • de votre IDE préférée (Bluefish, Eclipse, Anjuta, NetBeans, Emacs, vi…)

Catégories
Open-source Reseau Systeme

Installation d’un serveur NTP sous Ubuntu

Si vous disposez de plusieurs machines sur votre réseau, il peut, dans certains cas être intéressant de les synchroniser sur une date et une heure commune (par exemple pour de l’analyse de fichiers de log). Les systèmes d’exploitation modernes utilisent maintenant le protocole NTP pour se synchroniser via le réseau IP.

C’est quoi donc NTP ?

Le principe général est simple: on configure le client NTP pour aller demander à un serveur NTP l’heure de référence à quelques millisecondes (ou dizaines de millisecondes) près. En fait la résolution théorique est de 233 ps, mais en pratique la précision est limité par la variabilité des latences réseau. Le client peut alors modifier sa date système en concéquence. Cette description simpliste est à nuancer par le fait que le protocole NTP est basé sur une architecture en arbre.

Par exemple, sur un système d’exploitation GNU/Linux de type Debian ou Ubuntu, il suffit de saisir la commande suivante pour faire appel à un serveur NTP secondaire (ntp.ubuntu.com définie dans le fichier /etc/default/ntpdate):

[shell]

sudo ntpdate-debian

15 Mar 10:11:01 ntpdate[5406]: adjust time server 91.189.94.4 offset 0.038837 sec

[/shell]

Nous allons voir maintenant comment installer un serveur de temps NTP sur votre réseau qui pourra continuer de servir de référence même en cas de coupure de votre liaison Internet.

Catégories
Open-source Planet-libre Systeme

Installation pas à pas de Xen sous Debian

Le but de ce billet est d’installer un serveur de de virtualisation Xen (Wiki) sur un système GNU/Linux Debian. Ce dernier pourra héberger de manière virtuelle (c’est à dire sur la même machine physique) un nombre important de serveurs, mutualisant ainsi votre hardware.

Installation du serveur Xen

J’ai choisi d’héberger mon serveur de virtualisation Xen (on appelle cette machine le dom0 pour « domaine 0 » dans le jargon Xen) sur la machine suivante:

HP Proliant DL145
AMD Optron 64
2 Go RAM
2 disques durs de 80 Go en RAID 1 (LVM)
Système d’exploitation: GNU/Linux Debian Lenny 5

J’ai effectué une installation standard à partir du CD d’installation de la Debian 5.0 en appelant ma machine virt1 et en installant comme seul et unique service le daemon OpenSSH (pour un accès à distance).

Ensuite, il faut procéder à l’installation de Xen et de ses utilitaires:

aptitude install xen-hypervisor-i386 xen-linux-system-2.6.26-2-xen-686 xen-utils xen-tools xen-shell xenwatch xenstore-utils


On configure ensuite le réseau de la manière à transformer notre machine dom0 en bridge. Pour cela, on édite le fichier /etc/xen/xend-config.sxp et on remplace la ligne:

(network-script network-dummy)
par
(network-script network-bridge)


On reboot notre système pour prendre en compte le noyau supportant Xen:

reboot


Configuration du serveur Xen

Nous allons utiliser xen-tools pour administrer nos serveurs virtuels. Pour cela il faut éditer le fichier de configuration (/etc/xen-tools/xen-tools.conf) de la manière suivante (en gras les options à adapter selon votre configuration):

dir = /xen
install-method = debootstrap
size   = 4Gb      # Disk image size.
memory = 128Mb    # Memory size
swap   = 128Mb    # Swap size
fs     = ext3     # use the EXT3 filesystem for the disk image.
dist   = lenny     # Default distribution to install.
image  = sparse   # Specify sparse vs. full disk images.
gateway   = 192.168.29.1
netmask   = 255.255.255.0

passwd = 1
kernel      = /boot/vmlinuz-`uname -r`
initrd      = /boot/initrd.img-`uname -r`
mirror = http://ftp.lip6.fr/pub/linux/distributions/debian/
ext3_options   = noatime,nodiratime,errors=remount-ro
ext2_options   = noatime,nodiratime,errors=remount-ro
xfs_options    = defaults
reiser_options = defaults
serial_device = hvc0
disk_device = xvda


On pense également à créer le répertoire qui contiendra les domaines hôtes (/xen dans ma configuration):

mkdir /xen


Installation d’un serveur virtuel

Nous allons commencer par ajouter un nouveau serveur virtuel (que l’on appelle domU pour « domaine Users » dans le jargon Xen) à notre configuration. Cette action se fait de manière très simple grâce à la commande suivante (attendre quelques minutes):

# xen-create-image –hostname=servvirt1.mondomaine.com –size=10Gb –swap=512Mb –ip=192.168.29.171 –memory=256Mb –dist=lenny –arch=i386 –role=udev
General Information
——————–
Hostname       :  servvirt1.mondomaine.com
Distribution   :  lenny
Partitions     :  swap            512Mb (swap)
/               10Gb  (ext3)
Image type     :  sparse
Memory size    :  256Mb
Kernel path    :  /boot/vmlinuz-2.6.26-2-xen-686
Initrd path    :  /boot/initrd.img-2.6.26-2-xen-686


Networking Information
———————-
IP Address 1   : 192.168.29.171 [MAC: 00:16:3E:8B:F0:9E]
Netmask        : 255.255.255.0
Gateway        : 192.168.29.1

Xen va alors créer un serveur virtuel disposant d’un disque de 10 Go, d’un taille de swap de 512 Mo et d’une mémoire de 256 Mb. L’adresse IP de ce nouveau serveur virtuel sera 192.168.29.171. Le mot de passe root du système vous sera demandé en fin d’installation.

Un fichier de configuration dédié a ce nouveau serveur a été généré: /etc/xen/servvirt1.mondomaine.com.cfg

Gestion du serveur virtuel

Démarrage du serveur virtuel

Pour lancer le serveur virtuel préalablement créé, il faut saisir la commande:

xm create /etc/xen/servvirt1.mondomaine.com.cfg


Vous pouvez alors vous connecte dessus en SSH:

ssh root@servvirt1.mondomaine.com


Pour automatiser le démarrage de ce serveur virtuel (domU) au lancement de votre serveur hôte (dom0), il faut créer le lien suivant:

ln -s /etc/xen/servvirt1.mondomaine.com.cfg /etc/xen/auto/host1.cfg


Cette commande permet de séquencer le lancement des serveurs domU dans un certain ordre. Cela peut être utile si le service hébérgé sur un serveur virtuel dépend d’un autre…

Autres commandes utiles à l’administration de vos serveurs virtuels

Pour arrêter un serveur virtuel:

xm shutdown servvirt1.mondomaine.com


Pour voir la liste des serveurs virtuelles lancées:

# xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0  1765     2     r—–    106.7
servvirt1.mondomaine.com 1   256     1     -b—-      2.6


Liste des serveurs virtuels créés:

# xen-list-images
Name: servvirt1.mondomaine.com
Memory: 256
IP: 192.168.29.171


Occupation des ressources en temps réel:

xentop


Pour rendre prioritaire un serveur virtuel par rapport à un autre, nous allons utiliser les options du gestionnaire d’allocation des ressources (« Credit scheduler », par défaut dans la version Xen 3.0).
Par exemple, si nous avons deux serveurs virtuels servvirt1 et servvirt2 (domU) hébérgés sur notre serveur hôte (dom0) et que nous souhaitons donner deux fois plus de temps CPU à servvirt2, il suffit de saisir la commande suivante:

xm sched-credit -d servvirt2.mondomaine.com -w 512

PS: par défaut, un serveur virtuel à un poids de 256.

La liste des poids des serveurs virtuels peut être obtenue grâce à la commande:

# xm sched-credit
Name                                ID Weight  Cap
Domain-0                             0    256    0
servvirt1.mondomaine.com 1    256    0
servvirt2.mondomaine.com 1    512    0


Les commandes xm sched-credit sont à lancer (par exemple dans un script shell) au démarrage du serveur hôte.

Conclusion

Xen et la virtualisation en général est un très bon moyen, dans cette période de crise, d’optimiser au mieux les ressources hardware disponibles. Il est bien sûr possible de créer autant de serveurs virtuels que possible sur notre serveur hôte (dans les limites de performances souhaités au niveau des domU).

Quelques sources utiles à la rédaction de ce billet:

Catégories
Developpement Open-source Planet-libre

Comment construire un .deb pour Ubuntu

Voici une procédure (assez longue) permettant de générer un .deb (format de package compatible avec l’OS Ubuntu) pouvant être mis sur un depot officiel. Ce billet s’inspire très fortement de ce forum.

Avant de commencer…

Il faut installer les pré-requis suivants:

sudo aptitude install build-essential autoconf automake autotools-dev dh-make debhelper devscripts fakeroot xutils lintian pbuilder

Ensuite on créé l’arborescence suivante dans votre répertoire racine:

cd ~
mkdir packages
cd packages

Création de notre premier package .deb

On doit dans un premier temps récupérer les sources du logiciel à packager (sjitter dans mon exemple):

wget http://fastbull.dl.sourceforge.net/sourceforge/sjitter/sjitter-0.18.1b.tgz
tar zxvf sjitter-0.18.1b.tgz

Le nom du répertoire contenant les sources doit être de la forme nom-version:

mv sjitter sjitter-0.18.1b

On créé un sous répertoire sjitter dans lequel on met l’archive et les sources:

mkdir sjitter
mv sjitter-0.18.1b sjitter-0.18.1b.tgz sjitter

Pour vérifier, le contenu du répertoire de travail doit être le suivant:

# ls -l ~/packages/sjitter
sjitter-0.18.1b
sjitter-0.18.1b.tgz

On va dans le répertoire source:

cd sjitter/sjitter-0.18.1b

Puis on lance la commande:

dh_make -e nicolas@nospam.com -c GPL -f ../sjitter-0.18.1b.tgz
> s
Maintainer name : unknown
Email-Address   : nicolas@nospam.com
Date            : Wed, 27 May 2009 11:52:00 +0000
Package Name    : sjitter
Version         : 0.18.1b
License         : blank
Type of Package : Single
> ENTER

A la première question, il faut répondre:

s = [single binary] – si c’est package normal
l = [library] – si c’est une librairie de dev
m
= [multiple] – si c’est un package comprenant plusieurs binaires
k
= [kernel module] – si c’est module noyau

On va alors dans le sous répertoire debian créé par le programme dh_make:

cd debian

Puis on édite le fichier control:

# vi control
Source: sjitter
Section: net
Priority: extra
Maintainer: Nicolas Hennion <nicolas@nospam.com>
Build-Depends: debhelper (>= 5), autotools-dev
Standards-Version: 3.7.2

Package: sjitter
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Sjitter is a client/server performing tool.
Sjitter is a command line client/server to measure jitter (based on RFC 1889), one way UDP delay and bandwidth. The client and the server’s date should be synchronise to compute the jitter. You can use the NTP protocol to do this.

Avec:
Ligne 1: Nom du projet
Ligne 2: Section à laquelle appartient le projet (voir la des sections disponible ici)
Ligne 3: Laisse la valeur par défaut
Ligne 4: Nom et adresse mail du mainteneur du package
Ligne 5: Il faut y mettre les dépendances finissants par -dev
Ligne 6: Laisse la valeur par défaut
Ligne 7: Vide
Ligne 8: Mettre la même chose qu’en ligne 1
Ligne 9: Architecture cible (any pour toutes)
Ligne 10: Il faut y mettre les dépendances ne finissants pas par -dev
Ligne 11: Description courte du projet (< à 60 caractères)
Ligne 12->n: Description longue (attention à laisser un espace avant votre description)

Puis le fichier changelog:

# vi changelog
sjitter (0.18.1b) maverick; urgency=low

* Version 0.18 (23/03/2009), thanks to Thierry Legras

— Nicolas Hennion <nicolas@nospam.com>  Wed, 27 May 2009 11:52:00 +0000

Avec:
Ligne 1: Nom du package et version d’Ubuntu (maverick dans mon exemple)
Ligne 2: Vide
Ligne 3->n: Liste des changements de cette version
Ligne n+1: Vide
Ligne n+2: Nom, adresse mail et date (attention, il faut mettre votre nom / adresse comme configuré dans Launchpad)

Le fichier copyright:

# vi copyright
This package was debianized by Nicolas Hennion <nicolas@nicolargo.com> on
Wed, 27 May 2009 11:52:00 +0000.

It was downloaded from http://fastbull.dl.sourceforge.net/sourceforge/sjitter/sjitter-0.18.1b.tgz

Upstream Author(s): Nicolas Hennion <nicolas@nicolargo.com>

License: This script is written under the GNU General Public License.

Avec:
Ligne 1: Nom et adresse de l’auteur du package
Ligne 2: Date
Ligne 3: Vide
Ligne 4: A partir de quel source le package a été généré
Ligne 5: Vide
Ligne 6->n: Les auteurs du logiciel (copie du fichier ../AUTHORS)
Ligne n+1: Vide
Ligne n+2->m: Licence sous laquelle le logiciel est distribué (conformément à la volonté de l’auteur)
Ligne m+1: Vide (optionnel)
Ligne m+2: Licence complète (optionnel)


Il y a ensuite certains fichiers optionnels à configurer. Si ils ne sont pas utiles pour votre logiciel, il faut les supprimer.

README.debian: Informations complémentaires sur le logiciel (non présentes dans les autres fichiers)
emacsen-*.ex: Fichier Emacs pouvant être compilé à l’installation
init.d.ex: Si votre logiciel doit se lancer en mode daemon, c’est dans ce fichier qu’il faut écrire le script init.d
manpage.1.ex, manpage.sgml.ex: Fichiers de man (aide)
preinst.ex: Script à lancer avant l’installation
postinst.ex: Script à lancer après l’installation
prerm.ex: Script à lancer avant la désinstallation
postrm.ex: Script à lancer après la désinstallation

On peut ensuite lancer la génération du fichier .deb

cd ..
debuild -S -k_CLES_

Il faut remplacer _CLES_ par votre clés Launchpad (liste des clés: gpg –list-keys).

Si tout se passe sans problème, vous devriez vous retrouver avec les fichiers suivant dans le répertoire ~/packages/sjitter/:

sjitter_0.18.1b-1.diff.gz: Changement entre .deb et les sources originales
sjitter_0.18.1b-1.dsc: Fichier permettant aux mainteneurs des repos de suivre ce package
sjitter_0.18.1b-1_source.changes: Le changelog (liste des changements)
sjitter_0.18.1b-1_source.deb: Le package au format .deb
sjitter_0.18.1b.orig.tar.gz: Les sources originales

Et voilà, vous venez de faire votre premier package Ubuntu, il ne reste plus qu’a le soumettre à la communauté.

Par exemple pour soumettre votre package sur Launchpad:

dput ppa:nicolashennion/ppa sjitter_0.18.1b-1_source.changes

Et hop…

Catégories
Developpement Open-source Systeme

Installation de Java 1.6 sous Debian et Ubuntu

Si comme moi vous devez faire tourner des applications seulement compatible avec Java 6 (c’est à dire Java 1.6) sur vos machines Debian et Ubuntu, et que vous n'avez pas de masters java en poche, la petite procédure suivante devrait vous être utile. En effet, ces deux distributions sont, à l’heure de l’écriture de ce billet, livré par défaut avec la version 1.5. Nous allons voir comment installer la JDK de Sun et la faire prendre par défaut par le système.

Installation de Sun Java 1.6

Pour installer la JRE (seulement pour l’exécution de programme Java):

sudo apt-get install  sun-java6-jre

Pour installer et compiler (bref pour les developpeurs):

sudo apt-get install sun-java6-sdk

Pour rendre Sun Java 1.6, la JVM par défaut

La commande est la même sur les deux distributions (Ubuntu et Debian):

sudo update-alternatives –config java

> Puis choisir /usr/lib/jvm/java-6-sun/jre/bin/java

On vérifie que tout est ok:

# java -version

java version « 1.6.0_12″

Et voili…

Catégories
Open-source Systeme

Installation des drivers nVidia sous Debian 5.0

En attendant que nVidia ne libére le code de ses drivers, il est nécessaire de faire quelques manipulations pour les installer sur des systèmes d’exploitation de type GNU/Linux.

Les drivers des cartes graphiques nVidia n’étant pas inclus dans les paquets par défaut dans la dernière version de Debian 5.0 (Lenny), il est nécessaire d’effectuer quelques manipulation en ligne de commande pour les installer sur votre système.

J’ai choisi une solution permettant de ne pas à avoir à réinstaller les drivers à chaque mise à jour du noyau de Debian.

Toutes les actions suivantes doivent être faites en mode root:

# su – root

Installation des dépôts

La première chose à faire est d’ajouter les lignes suivantes à votre fichiers listant les dépôts APT:

# vi /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

deb http://www.debian-multimedia.org lenny main contrib non-free
deb-src http://www.debian-multimedia.org lenny main contrib non-free

On met à jour le système:

# apt-get update

# apt-get upgrade

Installation des paquets nécessaires

Deux paquets sont nécessaires:

# apt-get install nvidia-kernel-common

# apt-get install module-assistant

Lors de l’installation, de nombreux autres paquets dépendants vont être installés.

Activation des drivers nVidia

On doit maintenant activer les drivers proprétaires avec la commande suivante:

# module-assistant auto-install nvidia

Puis vérifier qu’ils se charge bien:

# modprobe nvidia

# lsmod | grep nvidia
nvidia

Il ne reste plus qu’a les ajouter à votre configuration de Xorg:

# vi /etc/X11/xorg.conf

Section « Device »
Identifier    « Configured Video Device »
Driver        « nvidia »
Option        « NoLogo »    « True »
EndSection

Vous pouvez maintenant redémarrer votre système.

# reboot

Les drivers nVidia devraient être chargé automatiquement.