Catégories
Nagios Open-source Reseau Systeme

Un nouveau livre en Francais sur Nagios 3.0

Je viens d’apprendre (merci Sacha) la sortie d’un nouveau livre traitant de la supervision système et réseau et de Nagios en particulier. L’auteur est Jean Gabès, administrateur système de profession et qui a également écrit quelques bons articles dans le fameux Linux magazine. Le titre du livre est « Nagios 3 pour la supervision et la métrologie : Déploiement, configuration et optimisation » aux éditions Eyrolles.

Je viens de commander ce livre, je vous fait un retour dès que je l’aurai entre les mains.

Catégories
Image Open-source Systeme Web

Firefox: bug d’images noir&blanc

Après une mise à jour de mon système Ubuntu 9.04 (mais le problème a aussi été rencontré sur d’autres distributions GNU/Linux), je me suis retrouvé avec un bug assez bizarre sur mon navigateur Firefox. En effet, certaines images au format PNG étaient affichées en noir et blanc (quelque soit le site).

Un autre exemple du bug de rendu des couleur dans mon Firefox... on Twitpic

Après quelques recherches sur le woueb, j’ai trouvé la solution ici. Il suffit de modifier la configuration de Firefox (taper about:config comme URL dans votre navigateur) puis chercher la variable gfx.color_management.mode puis  luis mettre comme valeur 0

Catégories
Open-source Systeme

Un live CD personnalisé

Petit procédure en forme de « pense bête » pour personnaliser un live CD Ubuntu (extrait de la source: Ubuntu-fr).

  1. On commence par insérer le live CD d’origine dans le lecteur de CDROM (point de montage /cdrom)
  2. On créer un arborescence locale (sur un disque dur) qui servira à la création de notre live CD (attention, il faut disposer d’un espace disponible d’environ 3 Giga):

    cd ~
    mkdir livecd
    cd livecd
    mkdir iso squashfs

  3. On copie le contenu du live CD d’origine dans le répertoire iso:

    sudo cp -av /cdrom/. iso

  4. Puis on démonte le CDROM:

    sudo umount /cdrom

  5. On copie le système de fichier de notre live CD d’origine (le squashfs):

    sudo mount -t squashfs -o loop iso/casper/filesystem.squashfs /cdrom
    sudo cp -av /cdrom/. squashfs
    sudo umount /cdrom

  6. A partir de cette étape, on peut faire un chroot dans notre futur Live CD (vous serez alors connecté en root):

    sudo mount –bind /proc squashfs/proc
    sudo mount –bind /sys squashfs/sys
    sudo cp /etc/resolv.conf squashfs/etc/resolv.conf
    sudo cp /etc/hosts squashfs/etc/hosts
    sudo cp /etc/apt/sources.list squashfs/etc/apt/sources.list
    sudo chroot squashfs

  7. Avant de poursuivre, il faut vérifier que vous êtes bien connecté sur votre live CD:

    root@linux-demo-laptop:/#

  8. On commence par mettre à jour notre Live CD (vous avez le temps d’aller prendre un café… voir deux):

    aptitude update
    aptitude safe-upgrade

  9. Dans cette étape, vous pouvez supprimer ou ajouter les paquets en fonction des besoins de votre Live CD, ou bien modifier des fichiers de configuration:

    aptitude remove nomdupaquet
    aptitude install nomdupaquet
    aptitude install ubuntu-desktop
    aptitude autoclean

  10. On sort de notre LiveCD (du chroot):

    umount /sys
    umount /proc
    rm /etc/resolv.conf
    rm /etc/hosts
    exit

  11. Pour modifier l’environnement utilisateur par défaut, il faut copier les fichiers du répertoire /home de référence vers squashfs/etc/skel. Par exemple si vous souhaitez que le compte utilisateur de votre LiveCD soit une copie de votre compte:

    sudo cp -r ~/. squashfs/etc/skel
    sudo chown -R root:root squashfs/etc/skel

  12. Il ne reste plus qu’à construire votre Live CD:

    sudo apt-get install squashfs-tools

    sudo rm iso/casper/filesystem.squashfs
    sudo chmod a+w iso/casper/filesystem.manifest
    sudo chroot squashfs dpkg-query -W –showformat=’${Package} ${Version}\n’ > iso/casper/filesystem.manifest
    sudo chmod go-w iso/casper/filesystem.manifest
    sudo chmod a+w iso/casper/filesystem.manifest-desktop
    sudo chroot squashfs dpkg-query -W –showformat=’${Package} ${Version}\n’ > iso/casper/filesystem.manifest-desktop
    sudo chmod go-w iso/casper/filesystem.manifest-desktop
    cd squashfs
    sudo mksquashfs . ../iso/casper/filesystem.squashfs -info
    cd ..
    sudo mkisofs -r -V « Live CD » -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o live-cd-i386.iso iso

  13. L’étape 12 a permis la génération de l’image ISO live-cd-i386.iso dans le répertoire courant.
Catégories
Musique Open-source Systeme

Comment faire une borne multimédia ?

Une borne multimédia est un ordinateur dédié à une fonction bien précise: fournir un accès Internet, écouter de la musique ou regarder un film sont quelques exemples qui me viennent en tête. Si vous avez déjà eu à mettre en place une telle borne, la simplicité d’utilisation et le verrouillage de celle-ci sont des points clés à prendre en compte dès l’installation. 

Nous allons dans ce billet détailler l’installation d’une borne multimédia permettant d’écouter de la musique stockées localement sur notre machine. Cette borne se basera uniquement sur des logiciels libres.

Installation du système d’exploitation

Connaissant bien la distribution GNU/Linux Ubuntu, j’ai choisi d’installer cette borne sur une version 9.04 Janty. J’ai donc effectué une installation standard à partir de la Desktop Edition (suivant / suivant / ne pas lire le fichier readme…).

Une fois le système installé, j’ai créé deux comptes utilisateurs:

  • Administrateur: pour la gestion de borne. Ce compte est à créer lors de l’installation du système d’exploitation.
  • Invite: pour les utilisateurs. C’est ce compte que l’on va configurer pour être le plus simple à utiliser dans le cadre de notre besoin (qui est je vous le rappelle d’écouter de la musique).

Pour créer le compte Invite, il faut se connecter en temps qu’Administrateur au démarrage de la machine puis se rendre dans le menu « Système / Administration / Utilisateurs et groupes ». On clique ensuite sur le bouton « Déverouiller » et enfin sur le bouton « + Ajouter un utilisateur »:

On fixe le minimum de droits pour cet utilisateur dans l’onglet « Privilèges utilisateur »:

Afin que la borne se connecte directement et sans demande de mot de passe sur le compte invité, il faut effectuer les taches suivantes:

  • menu « Administration » / « Fenêtre de connexion »
  • onglet « Sécurité »

Il ne reste plus qu’a installer l’application que l’on souhaite mettre à disposition des utilisateurs (Banshee dans mon exemple):

sudo aptitude install banshee

Configuration de l’interface utilisateur

Afin de facilité l’utilisation de notre borne, il faut:

  • que le système se lance automatiquement avec le compte invité (ce qui a été fait dans la section précédante)
  • que le logiciel permettant d’écouter la musique se lance automatiquement et en plein écran
  • que l’utilisateur ne puisse rien faire d’autre…

Pour répondre à ce besoin nous allons remplacer le gestionnaire de fenêtre standard par OpenBox (Wiki), un autre gestionnaire simple et léger ( et compatible Gnome ou KDE).

La procédure d’installation est la suivante:

sudo aptitude install openbox

Toute la configuration est centralisée dans le fichier ~/.config/openbox.

Nous souhaitons seulement installer OpenBox pour l’utilisateur « Invite ».

su – Invite

Puis nous forçons le démarrage d’OpenBox:

# vi .xinitrc
exec openbox

# ln -s .xinitrc .xsession

Puis on édite le fichier de configuration d’OpenBox (seule action possible: bouton droit, relancer Banshee):

# vi .config/openbox/menu.xml
<?xml version= »1.0″ encoding= »UTF-8″?>
<openbox_menu xmlns= »http://openbox.org/ »
        xmlns:xsi= »http://www.w3.org/2001/XMLSchema-instance »
        xsi:schemaLocation= »http://openbox.org/
                file:///usr/share/openbox/menu.xsd »>
<menu id= »root-menu » label= »Openbox »>
  <item label= »Banshee »>
    <action name= »Execute »><execute>/usr/bin/banshee</execute></action>
  </item>
</menu>
</openbox_menu>

Enfin on lance automatiquement Banshee au démarrage d’OpenBox:

# vi .config/openbox/menu.xml
. $GLOBALAUTOSTART
sleep 2
/usr/bin/banshee &

Votre borne multimédia est presque prête, il ne manque plus qu’a mettre les fichiers musicaux dans le répertoire ./Musique du compte Invite puis de configurer Banshee…

Catégories
Open-source Systeme

Firefox 3.6 sous Ubuntu (dépôts)

Mise à jour le 22/01/2010: Firefox 3.6 vient de sortir. La procédure reste la même.

Firefox 3.5 à peine sorti, il est déjà possible de tester sur son système Ubuntu la prochaine version du navigateur Web qui devrait sortir en version finale en 2010. Le but de ce billet est de faire une installation « propre » de la version 3.6 de Firefox en passant par les dépôts Launchpad.

D’après 01net, ce navigateur nouvelle génération « se focalisera notamment sur les performances « perceptibles par l’utilisateur » : démarrage, ouverture d’un onglet, réactivité vis à vis des tâches courantes, etc. Autre priorité : la personnalisation du logiciel et les extensions (facilitation du développement, de l’installation, de la gestion, etc.)« .

Configuration des dépôts Launchpad

On commence par éditer le fichier /etc/apt/sources.list en y ajoutant les lignes suivantes (exemple pour version Ubuntu 9.04 jaunty):

[shell]
deb http://ppa.launchpad.net/ubuntu-mozilla-daily/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/ubuntu-mozilla-daily/ppa/ubuntu jaunty main
[/shell]

Ensuite il faut lancer la mise à jour de la liste des dépôts:

[shell]
sudo aptitude update
[/shell]

Si vous rencontrez l’erreur suivante:

[shell]
W: GPG error: http://ppa.launchpad.net jaunty Release: Les signatures suivantes n’ont pas pu être vérifiées car la clé publique n’est pas disponible : NO_PUBKEY EF4186FE247510BE
W: Vous pouvez lancer « apt-get update » pour corriger ces problèmes.
[/shell]

il faut alors télécharger les clès puis relancer la mise à jour de la liste des dépôts.

Installation de Firefox 3.6

On peut maintenant passer à l’installation de la dernière version disponible (version alpha au moment de l’écriture de ce billet):

[shell]
sudo aptitude install firefox-3.6 firefox-3.6-gnome-support
[/shell]

Si tout se passe comme prévu lors de l’installation, vous devriez avoir cette dernière version disponible dans le menu « Applications / Internet » sous le nom « Minefield 3.6 Web browser ».

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
Nagios Open-source Reseau Systeme

NConf, une interface Web pour Nagios

Utilisateurs de Nagios, votre rêve va bientôt se réaliser ! Une équipe Suisse travaille sur le saint Graal de la supervision système et réseau. En effet leur projet NConf vient répondre à un besoin récurrent des utilisateurs de Nagios: l’impossibilité d’administrer son serveur via une interface Web.

Nous allons dans ce billet tester la version 1.2.6 de NConf sur un serveur Nagios 3.1. Je pars sur l’hypothèse ou le serveur Nagios a été installé en suivant mes deux premiers tutos (1 et 2).

Catégories
Gstreamer Image Open-source Systeme

GStreamer et le codec X.264

Souhaitant effectuer un streaming RTP à partir d’une Webcam, voici un billet sur l’optimisation des paramètres du codec libre X.264 (implémentation libre du codec H.264 ou MPEG-4 AVC – WIKI) dont l’équipe de VideoLAN est à l’origine. Pour tester ce codec et ensuite mettre en place le streaming, j’utiliserai le framework GStreamer.

Catégories
Gstreamer Open-source Systeme

Compiler GStreamer depuis les sources sous GNU/Linux

Edit: j’ai ajouté un script SHELL « qui fait tout pour vous » en fin de billet…

Voici une petite procédure pour compiler la dernière version du framework multimédia GStreamer tout en préservant la version installée depuis les dépôts officiels. La procédure a été validé sur une GNU/Linux Ubuntu 9.04 mais doit facilement être adaptable à d’autres distribution (pour une procèdure équivalente sous Mac OS X, vous pouvez lire ce billet).

GStreamer étant un framework, il se base sur de nombreuses librairies externes. Pour nous simplifier la tache, nous allons utiliser les dépôts pour l’installation de ces librairies:

sudo aptitude build-dep gstreamer0.10-ffmpeg gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly gstreamer0.10-plugins-ugly-multiverse bison flex git

Ensuite on récupère les dernières versions disponibles de GStreamer et de ses plugins:

mkdir ~/src
cd ~/src
wget http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.25.tar.gz
wget http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-0.10.25.tar.gz
wget http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-0.10.17.tar.gz
wget http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-0.10.17.tar.gz
wget http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-0.10.13.tar.gz
wget http://gstreamer.freedesktop.org/src/gst-ffmpeg/gst-ffmpeg-0.10.8.tar.gz

On commence par la compilation de GStreamer (core). L’installation se fera dans le répertoire /opt/gstreamer/gstreamer-0.10.24:

tar zxvf gstreamer-0.10.25.tar.gz
cd gstreamer-0.10.25
./configure –prefix=/opt/gstreamer/gstreamer-0.10.25
make
sudo make install
cd ..

… puis les plugins « base »:

tar zxvf gst-plugins-base-0.10.25.tar.gz
cd gst-plugins-base-0.10.25
PKG_CONFIG_PATH=/opt/gstreamer/gstreamer-0.10.25/lib/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig ./configure –prefix=/opt/gstreamer/gstreamer-0.10.25
make
sudo make install
cd ..

… puis les plugins « good »:

tar zxvf gst-plugins-good-0.10.17.tar.gz
cd gst-plugins-good-0.10.17
PKG_CONFIG_PATH=/opt/gstreamer/gstreamer-0.10.25/lib/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig ./configure –prefix=/opt/gstreamer/gstreamer-0.10.25
make
sudo make install
cd ..

… puis les plugins « bad »:

tar zxvf gst-plugins-bad-0.10.17.tar.gz
cd gst-plugins-bad-0.10.17
PKG_CONFIG_PATH=/opt/gstreamer/gstreamer-0.10.25/lib/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig ./configure –prefix=/opt/gstreamer/gstreamer-0.10.25
make
sudo make install
cd ..

… les plugins « ugly »:

tar zxvf gst-plugins-ugly-0.10.13.tar.gz
cd gst-plugins-ugly-0.10.13
PKG_CONFIG_PATH=/opt/gstreamer/gstreamer-0.10.25/lib/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig ./configure –prefix=/opt/gstreamer/gstreamer-0.10.25
make
sudo make install
cd ..

… et enfin les plugins FFMPEG (streaming):

tar zxvf gst-ffmpeg-0.10.8.tar.gz
cd gst-ffmpeg-0.10.8
PKG_CONFIG_PATH=/opt/gstreamer/gstreamer-0.10.25/lib/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig ./configure –prefix=/opt/gstreamer/gstreamer-0.10.25
make
sudo make install
cd ..

Puis on créé un lien symbolique entre le répertoire /opt/gstreamer/current et /opt/gstreamer/gstreamer-0.10.25. Ce lien nous permet d’avoir plusieur version de GStreamer sur notre système.

sudo cp /opt/gstreamer/gstreamer-0.10.25/lib/gstreamer-0.10.25/* /opt/gstreamer/gstreamer-0.10.25/lib/

sudo ln -s /opt/gstreamer/gstreamer-0.10.25/lib /opt/gstreamer/current

On teste enfin l’installation:

/opt/gstreamer/gstreamer-0.10.25/bin/gst-inspect –gst-plugin-path=/opt/gstreamer/current

Pour les plus faineant, voici un script sheel automatisant ces quelques taches

[shell]
#!/bin/sh

# A simple script to get/compile/install GStreamer

# Nicolas Hennion – GPL

#

# Remarks: the version will be installed in the /opt/gstreamer folder

# Change this to the latest version

GST_CORE=0.10.25

GST_BASE=0.10.25

GST_GOOD=0.10.17

GST_BAD=0.10.17

GST_UGLY=0.10.13

GST_FFMPEG=0.10.8

# Do not edit under this line

sudo aptitude build-dep gstreamer0.10-ffmpeg gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly gstreamer0.10-plugins-ugly-multiverse

sudo aptitude install bison flex git

if [ ! -e gstreamer-$GST_CORE.tar.gz ]

then

wget http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-$GST_CORE.tar.gz

fi

if [ ! -e gst-plugins-base-$GST_BASE.tar.gz ]

then

wget http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-$GST_BASE.tar.gz

fi

if [ ! -e gst-plugins-good-$GST_GOOD.tar.gz ]

then

wget http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-$GST_GOOD.tar.gz

fi

if [ ! -e gst-plugins-bad-$GST_BAD.tar.gz ]

then

wget http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-$GST_BAD.tar.gz

fi

if [ ! -e gst-plugins-ugly-$GST_UGLY.tar.gz ]

then

wget http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-$GST_UGLY.tar.gz

fi

if [ ! -e gst-ffmpeg-$GST_FFMPEG.tar.gz ]

then

wget http://gstreamer.freedesktop.org/src/gst-ffmpeg/gst-ffmpeg-$GST_FFMPEG.tar.gz

fi

sudo mkdir /opt/gstreamer

if [ ! -e gstreamer-$GST_CORE ]

then

tar zxvf gstreamer-$GST_CORE.tar.gz

cd gstreamer-$GST_CORE

./configure –prefix=/opt/gstreamer/gstreamer-$GST_CORE

make

sudo make install

cd ..

fi

if [ ! -e gst-plugins-base-$GST_BASE ]

then

tar zxvf gst-plugins-base-$GST_BASE.tar.gz

cd gst-plugins-base-$GST_BASE

PKG_CONFIG_PATH=/opt/gstreamer/gstreamer-$GST_CORE/lib/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig ./configure –prefix=/opt/gstreamer/gstreamer-$GST_CORE

make

sudo make install

cd ..

fi

if [ ! -e gst-plugins-good-$GST_GOOD ]

then

tar zxvf gst-plugins-good-$GST_GOOD.tar.gz

cd gst-plugins-good-$GST_GOOD

PKG_CONFIG_PATH=/opt/gstreamer/gstreamer-$GST_CORE/lib/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig ./configure –prefix=/opt/gstreamer/gstreamer-$GST_CORE

make

sudo make install

cd ..

fi

if [ ! -e gst-plugins-bad-$GST_BAD ]

then

tar zxvf gst-plugins-bad-$GST_BAD.tar.gz

cd gst-plugins-bad-$GST_BAD

PKG_CONFIG_PATH=/opt/gstreamer/gstreamer-$GST_CORE/lib/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig ./configure –prefix=/opt/gstreamer/gstreamer-$GST_CORE

make

sudo make install

cd ..

fi

if [ ! -e gst-plugins-ugly-$GST_UGLY ]

then

tar zxvf gst-plugins-ugly-$GST_UGLY.tar.gz

cd gst-plugins-ugly-$GST_UGLY

PKG_CONFIG_PATH=/opt/gstreamer/gstreamer-$GST_CORE/lib/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig ./configure –prefix=/opt/gstreamer/gstreamer-$GST_CORE

make

sudo make install

cd ..

fi

if [ ! -e gst-ffmpeg-$GST_FFMPEG ]

then

tar zxvf gst-ffmpeg-$GST_FFMPEG.tar.gz

cd gst-ffmpeg-$GST_FFMPEG

PKG_CONFIG_PATH=/opt/gstreamer/gstreamer-$GST_CORE/lib/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig ./configure –prefix=/opt/gstreamer/gstreamer-$GST_CORE

make

sudo make install

cd ..

fi

sudo cp /opt/gstreamer/gstreamer-$GST_CORE/lib/gstreamer-$GST_CORE/* /opt/gstreamer/gstreamer-$GST_CORE/lib/

sudo ln -s /opt/gstreamer/gstreamer-$GST_CORE/lib /opt/gstreamer/current

/opt/gstreamer/gstreamer-$GST_CORE/bin/gst-inspect –gst-plugin-path=/opt/gstreamer/current

[/shell]

Catégories
Open-source Systeme

Compilation de VLC 1.0 depuis les sources

La sortie de la version 1.0 de VLC Media Player approche à grands pas. Si vous pouvez pas attendre et que vous souhaitez tester cette nouvelle version (en cours de développement) avant tout le monde, je vous propose une méthode d’installation par compilation à partir des sources. J’ai effectué cette procédure depuis une GNU/Linux Ubuntu 9.04 fraichement installée.

Récupération des dernières sources

Nous allons utiliser l’outil Git pour récupérer les dernières versions des sources en utilisant la commande suivante:

git clone git://git.videolan.org/vlc.git –depth 1

On va se retrouver avec un répertoire vlc.

cd vlc

Installation des pré-requis

VLC se base sur un nombre important de logiciels open-source tiers (liste disponible ici). Il faut donc installer ces dépendances. Il existe heureusement un script permettant d’automatiser cette lourde tache:

cd extras/contrib
./bootstrap
make

Le script va automatiquement: télécharger, compiler et installer les dépendances manquantes. Autant dire que l’exécution de la commande make peut prendre un certain temps selon votre configuration…

Compilation

On lance la commande suivante pour préparer les fichiers Makefile:

./configure –enable-snapshot –enable-debug \
        –enable-dbus-control –enable-musicbrainz \
        –enable-shared-libvlc –enable-mozilla \
        –enable-lirc \
        –enable-shout –enable-taglib \
        –enable-v4l –enable-cddax \
        –enable-dvb –enable-vcdx \
        –enable-realrtsp –enable-xvmc \
        –enable-svg   –enable-dvdread \
        –enable-dc1394 –enable-dv \
        –enable-theora –enable-faad \
        –enable-twolame –enable-real \
        –enable-flac –enable-tremor \
        –with-ffmpeg-mp3lame –with-ffmpeg-faac \
        –enable-quicktime –enable-dirac \
        –enable-skins2 –enable-qt4 \
        –enable-ncurses \
        –enable-aa –enable-caca \
        –enable-esd –enable-portaudio \
        –enable-jack –enable-xosd \
        –enable-galaktos –enable-goom \
        –enable-ggi \
        –disable-cddax –disable-vcdx

Puis la compilation:

make

et enfin l’installation avec un petit coup de ballet:

sudo make install