Catégories
Blog Open-source Planet-libre Systeme

Résultats du sondage sur les systèmes d’exploitation

Je viens de clôturer le sondage que j’avais mis en ligne dimanche dernier et qui avait pour objectif de connaître les systèmes d’exploitation que vous, lecteurs du blog, utilisez au quotidien.

Quelques 638 réponses plus tard, voici le résultat des courses !

Question 1: Quel système d’exploitation utilisez vous chez vous ?

Pas de grosses surprise, les distributions basées sur Debian (Ubuntu/Debian/Mint) arrive en tête pour le monde GNU/Linux. Windows est encore bien présent mais souvent en deuxième machine (c’est pour cela que la somme des réponses dépassent les 100%). A noter que Mac OS X arrive en 4em place.

Les lecteurs de ce blog sont donc bien équipés avec une moyenne de 2.06 OS par domicile.

Question 2: Quel système d’exploitation utilisez vous au boulot ?

Le lobbying|vente forcée de Microsoft marche encore bien dans nos entreprises puisque Windows arrive en deuxième position (419) derrière les « Debian like » (492).  Il est par contre assez étonnant de voir le relatif faible score de la distribution Redhat pour qui l’entreprise est clairement la cible. Il faut cependant relativiser ces chiffres par le fait que les lecteurs de ce blog ne sont pas des utilisateurs lambda…

L’utilisation de plusieurs systèmes est aussi important (2.02 OS par utilisateur).

Question 3: Si vous êtes sous GNU/Linux, quel est votre environnement graphique ?

Question un peu à part, mais d’actualité, sur l’utilisation des environnements graphiques GNU/Linux. Gnome 2 (le classique) arrive en tête mais il est suivi le prêt par Gnome 3 (Shell) qui semble enfin prendre son envol. Unity qui a pas mal fait parlé de lui arrive en 3em place alors qu’il est seulement pré-installé sur les dernières distributions Ubuntu.

Question 4: Sur quel système d’exploitation installez vous vos serveurs (dédiés ou virtuels) ?

Il est intéressant de voir que pour vos serveurs, Debian largement en tête des votes. La stabilité de ce système est rassurante pour des machines qui sont critiques. Ubuntu Server arrive en deuxième place devant Fedora/Redhat.

Que pensez-vous de ces résultats ? Des surprises ?

Vous pouvez consulter les résultats complets sur cette page.

Catégories
Open-source Planet-libre Systeme

Présentation complète de Glances

Il y a quelques jours, je vous avez présenté la première version de Glances, mon logiciel pour surveiller simplement ses systèmes en mode texte à partir d’une console ou d’un terminal. Quelques versions plus tard (Glances est actuellement disponible en version 1.3.7), il était temps pour moi de vous en faire une présentation un peu plus complète.

Introduction

Glances est un logiciel libre (distribué sous licence LGPL) permettant de surveiller votre système d’exploitation GNU/Linux ou BSD à partir d’une interface texte. Glances utilise la librairie libstatgrab pour récupérer les informations de  votre système. Il est développé en langage Python.

Installation

Depuis le gestionnaire de paquet de votre système

Des paquets existent pour plusieurs distributions: Arch, Fedora/Redhat…

Le processus de packaging est actuellement en cours sur d’autres distribs, je vous conseille donc de rechercher Glances (avec un s !) sur votre gestionnaire de package avant de faire une installation depuis les sources.

Merci de laisser un commentaire dans ce billet si vous trouvez Glances sur votre système 🙂

Depuis le PPA

Pour les distributions Ubuntu (et dérivées) depuis la 9.10 jusqu’à la 12.04, il est possible d’utiliser le PPA généreusement maintenu par Arnaud Hartmann.

[cc lang=bash »]

sudo add-apt-repository ppa:arnaud-hartmann/glances-stable

sudo apt-get update

sudo apt-get install glances

[/cc]

Depuis les sources

Le projet Glances est hébergé sur GitHUB.

Pour l’installer, il suffit de suivre les instructions suivantes depuis un terminal.

Récupération de la dernière version (1.3.7):

[cc]

$ wget https://github.com/downloads/nicolargo/glances/glances-1.3.7.tar.gz

[/cc]

Procédez ensuite à l’installation:

[cc]

$ tar zxvf glances-1.3.7.tar.gz
$ cd glances-1.3.7
$ ./configure
$ make
$ sudo make install

[/cc]

Glances a besoin des dépendances suivantes:

  • Python 2.6+ (non testé avec Python 3+)
  • libstatgrab 0.16+
  • python-statgrab 0.5+ (ne marchera PAS avec python-statgrab 0.4)

Notes specifiques pour une installation sous Debian 6.

Debian Squeeze met à disposition la version 0.4 de python-statgrab. Il faut donc installer la version 0.5 à la main:

[cc]

$ sudo apt-get install libstatgrab-dev pkg-config python-dev make
$ wget http://ftp.uk.i-scream.org/sites/ftp.i-scream.org/pub/i-scream/pystatgrab/pystatgrab-0.5.tar.gz
$ tar zxvf pystatgrab-0.5.tar.gz
$ cd pystatgrab-0.5/
$ ./setup.py build
$ sudo ./setup.py install

[/cc]

Notes specifiques pour une installation sous Ubuntu 10.04 et 10.10.

Ces versions d’Ubuntu mettent à disposition la version 0.4 de python-statgrab. Il faut donc installer la version 0.5 à la main:

[cc]

$ sudo apt-get update
$ sudo apt-get install pkg-config build-essential autoconf automake python libstatgrab-dev python-all-dev
$ sudo apt-get remove python-statgrab
$ wget http://ftp.uk.i-scream.org/sites/ftp.i-scream.org/pub/i-scream/pystatgrab/pystatgrab-0.5.tar.gz
$ tar zxvf pystatgrab-0.5.tar.gz
$ cd pystatgrab-0.5/
$ ./setup.py build
$ sudo ./setup.py install

[/cc]

Lancement de Glances

Il suffit de saisir la commande suivante dans une console ou un terminal:

[cc]

$ glances.py

[/cc]

Note: sur certaines distributions, il faut saisir glances en lieu et place de glances.py.

Guide d’utilisation

Par défaut, l’affichage des statistiques est rafraichi toute les secondes.

Il est possible de changer cette valeur en utilisant l’option -t. Par exemple pour fixer un taux de rafraichissement à 5 secondes:

[cc]

$ glances.py -t 5

[/cc]

Les statistiques jugées importantes sont affichées en couleur:

  • VERT: la statistique est « OK »
  • BLEU: la statistique est « CAREFUL » (à surveiller)
  • VIOLET: la statistique est « WARNING » (en alerte)
  • ROUGE: la statistique est « CRITICAL » (critique)

Quand Glances est lancé, il est possible d’utiliser les touches suivantes:

a‘ pour trier la liste des processus de manière automatique:

  • Si la CPU totale > 70% alors le tri se fait pas consommation CPU
  • si la mémoire total > 70% alors le tri se fait pas consommation MEMOIRE

c‘ pour forcer le tri par consommation CPU

d‘ pour desactiver ou activer l’affichage des entrées/sorties disques

f‘ pour desactiver ou activer l’affichage de l’occupation des FS

h‘ pour afficher ou cacher l’aide en ligne

m‘ pour forcer le tri par consommation MEMOIRE

n‘ pour desactiver ou activer l’affichage des interfaces réseau

q‘ pour quitter Glances (il est également possible d’utiliser CTRL-C)

Passons ensuite à la description de la fenêtre de Glances:

En-tête

L’en-tête montre la version de Glances, le nom de la machine (FQND) ainsi qu’une information sur le système d’exploitation (nom, version).

CPU

L’état de la CPU est affiché par un pourcentage de l’utilisation globale.

  • Si user|kernel|nice CPU est < 50%, alors le status est « OK ».
  • Si user|kernel|nice CPU est > 50%, alors le status est « CAREFUL ».
  • Si user|kernel|nice CPU est > 70%, alors le status est « WARNING ».
  • Si user|kernel|nice CPU est > 90%, alors le status est « CRITICAL ».

Charge moyenne (aka Average Load)

Il est assez difficile de donner une définition claire de la charge d’une machine (load average). Sur le blog Nosheep, Zach en donne la définition suivante:

 » C’est la somme moyenne du nombre de processus en attente dans la queue d’execution plus le nombre de processus actuellement en train d’être executés sur une période de temps de 1, 5 et 15 minutes. »

Glances permet d’afficher les alertes en tenant compte du nombre de coeurs de votre processeur. Par exemple, le seuil WARNING sera de 2 pour un processeur  Bi-Core alors qu’il sera de 4 sur un Quad-Core.

  • Si la charge moyenne est < O.7*Core, alors le status est « OK ».
  • Si la charge moyenne est > O.7*Core, alors le status est « CAREFUL ».
  • Si la charge moyenne est > 1*Core, alors le status est « WARNING ».
  • Si la charge moyenne est > 5*Core, alors le status est « CRITICAL ».

Mémoire

Glances affiche 3 types d’informations pour la mémoire: RAM, SWAP et réelle (un peu à la manière de la commande « free -h »).

La mémoire réelle occupée est calculée ainsi = used – cache.

La mémoire réelle libre est calculée ainsi = free + cache.

Les alertes utilisent les seuils suivants:

  • Si la mémoire est < 50%, alors le status « OK ».
  • Si la mémoire est > 50%, alors le status « CAREFUL ».
  • Si la mémoire est > 70%, alors le status « WARNING ».
  • Si la mémoire est > 90%, alors le status « CRITICAL ».

Débits des interfaces réseau

Glances affiche les débits des interfaces réseau en adaptant dynamiquement l’unité à utiliser (bits par seconde).

Les alertes ne sont affichées que pour les interfaces dont les informations sur la vitesse maximale sont disponibles (cela dépend des distributions):

  • Si le débit < 50%, alors le status est « OK ».
  • Si le débit > 50%, alors le status est « CAREFUL ».
  • Si le débit > 70%, alors le status est « WARNING ».
  • Si le débit > 90%, alors le status est « CRITICAL ».

Par exemple, sur une interface Ethernet Fast Ethernet (100 Mbps), le status passera à WARNING si le débit dépasse les 70 Mbps.

Entrées/Sorties disque

Glances permet d’afficher les débits en lecture et écriture sur les disques en adaptant dynamiquement l’unité à utiliser (octets par seconde).

Il n’y a pas d’alerte remontée pour ce type d’information.

Espace sur les systèmes de fichiers

Glances affiche par système de fichiers l’espace disque total et utilisé. L’unité est automatiquement adaptée (octets par seconde).

Les alertes sont remontées sur l’espace disque utilisé:

  • Si l’espace disque utilisé est < 50%, alors le status est « OK ».
  • Si l’espace disque utilisé est > 50%, alors le status est « CAREFUL ».
  • Si l’espace disque utilisé est > 70%, alors le status est « WARNING ».
  • Si l’espace disque utilisé est > 90%, alors le status est « CRITICAL ».

Les processus

Glances affiche un résumé sur l’état des processus ainsi qu’une liste détaillé (CPU, MEMOIRE et nom du processus).

Le nombre des processus affichés est adapté à la taille de la fenêtre.

Les logs

Nouveauté de la version 1.3.7.

Lire le billet suivant pour une description de la fonction logs.

 

Pied de page

Glances y affiche la légende (rappel des codes des couleurs) ainsi que la date et l’heure courante.

A faire…

J’ai besoin de contributeurs pour faire évoluer Glances.

Notamment:

  • Packaging pour Debian, Ubuntu, BSD et toutes autres distributions
  • Controle de la présence des librairie dans le fichier configure.ac
  • Inclure les stats de FS directement dans python-statgrab
  • Ajout d’une fenêtre d’aide
  • Optimisation du code

Pour toutes remarques, bugs, demande d’évolution sur Glances, merci d’utiliser le formulaire GitHub.

Catégories
Blog Open-source

Petit sondage pour mes lecteurs…

Cliquer ici pour voir les résultats du sondage. 

Comme vous avez pu le voir, depuis quelques temps, je n’ai pas trop le temps de bloguer régulièrement. Entre mon boulot, la vraie vie et les évolutions de Glances (mon petit logiciel de supervision système qui vient de sortir en version 1.3.2), je n’arrive pas à libérer du temps pour finaliser les billets que j’ai dans le pipe (notamment un sur la virtualisation QEMU/Libvirt).

Donc, pour une fois, je vais vous faire travailler !

Je viens de mettre en ligne un petit sondage qui me permettra de mieux cibler les articles (ou du moins les procédures) afin qu’ils s’adaptent à vos environnements de travail. Il ne devrait pas vous prendre plus de 2 minutes de votre temps.

Le sondage est disponible ici (cliquer sur ce lien pour ouvrir la page du sondage).

D’avance merci à vous !

Catégories
Open-source Planet-libre Reseau Systeme

Debian et les mails depuis la ligne de commande

Suite à l’installation d’un serveur Kimsufi 16G sous Debian 6.0 puis configuré avec mon script de post installation spécial serveur, j’ai attendu en vain la réception des premiers apports de Fail2ban qui devaient être envoyés par mail.

Une petit visite des fichiers de logs me montre rapidement d’ou vient le problème:

… Can’t exec /usr/lib/sendmail: No such file or directory…

Par défaut, il n’y a donc pas de brique système permettant d’envoyer des mails.

Installation de Postfix

Pour résoudre cela, j’ai donc exécuté la commande suivante qui va installer le serveur de messagerie Postfix:

[cc lang= »bash »]

sudo apt-get install postfix

[/cc]

Puis configuré Postfix de la manière suivante:

Puis:

Configure le Firewall

Cette section est optionnelle et ne concerne que les serveurs qui embarque un Firewall système (Iptables).

Si vous avez un Firewall sur votre serveur (j’utilise ce script que je place dans /etc/init.d/), il faut autoriser les flux sortant sur le port SMTP (TCP/25) sous risque d’avoir le message suivant dans votre fichier syslog:

Dec 11 08:46:00 ks387949 kernel: IN= OUT=eth0 SRC=176.31.252.29 DST=217.70.184.162 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=30778 DF PROTO=TCP SPT=59718 DPT=25 WINDOW=14600 RES=0x00 SYN URGP=0

Pour cela, il faut éditer le script puis ajouter le port 25 dans la variable REMOTE_TCP_SERVICES:

REMOTE_TCP_SERVICES= »22 25 80 443″

Et enfin relancer le script:

[cc lang= »bash »]

sudo /etc/init.d/firewall.sh restart

[/cc]

On teste

Le plus simple est d’utiliser la ligne de commande et la commande mail:

[cc lang= »bash »]

$ mail contact@nicolargo.com

Subject: Test

Test de 09:27

.

[/cc]

Quelques secondes plus tard, vous devriez recevoir le mail:

A vous les rapports Fail2ban

Catégories
Developpement Open-source Planet-libre Reseau Systeme

Glances: vos stats systèmes en un clin d’oeil

Il y a quelques jours, je vous avais parlé de Saidar, un logiciel permettant de regrouper dans un terminal|console un certain nombre de statistiques sur votre machine. Après quelques heures d’utilisations, j’ai identifié des choses qui ne me convenait pas:

  • pas d’affichage de la mémoire réellement disponible (comme on peut le trouver sur la deuxième ligne de la commande free -m)
  • pas de détail au niveau des processus
  • affichage des débits réseaux en octets/sec alors que j’utilise toujours les bits/sec
  • pas d’information sur l’espace disque disponible

Comme je ne trouvais pas la « killer application » dans ce domaine (même si il existe de très bon outils comme top), j’ai décidé de repartir d’une feuille blanche et de développer le logiciel Glances (licence LGPL) dont je vais vous présenter les grandes lignes dans ce billet.

Glances screenshot

Objectifs

Ils sont multiples:

  • prises en compte de mes griefs sur Saidar
  • accès à la fois depuis un environnement graphique (terminal) qu’à distance (console)
  • mise en avant des statistiques importantes à la compréhension d’un éventuel problème
  • affichage des processus triés de manière intelligente et automatique
  • développement en langage Python (je connais assez bien, c’est portable et facile à maintenir)

Installation

Après avoir téléchargé la dernière version stable disponible , il suffit de saisir les commandes suivantes:

[cc lang= »bash »]

tar zxvf glances-version.tar.gz

cd glances-version

./configure

make

sudo make install

[/cc]

Notes: remplacer « version » par le numéro de version que vous avez téléchargé…

Glances a besoin de la librairie python-statgrab version 0.5 (ou supérieure) pour fonctionner correctement. Sous Ubuntu, il suffit de lancer la commande:

[cc lang= »bash »]

sudo apt-get install python-statgrab

[/cc]

Sous Debian Squeeze, seule la version 0.4 de python-statgrab est disponible dans les dépôts. Il faut donc installer la version 0.5:

[cc lang= »bash »]

sudo apt-get install libstatgrab-dev

wget http://ftp.uk.i-scream.org/sites/ftp.i-scream.org/pub/i-scream/pystatgrab/pystatgrab-0.5.tar.gz

tar zxvf pystatgrab-0.5.tar.gz

cd pystatgrab-0.5/

./setup.py build

sudo ./setup.py install

[/cc]

Utilisation

On lance le logiciel avec la commande:

[cc lang= »bash »]

glances.py

[/cc]

Par défaut, le rafraîchissement des données se fait toutes les secondes. Il est possible de l’augmenter avec l’option -t. Par exemple pour avoir un taux de rafraîchissement de 5 secondes:

[cc lang= »bash »]

glances.py -t 5

[/cc]

Une fois lancé, les touches suivantes sont actives:

  • ‘a’: passer le tri des processus en automatique (c’est le mode par défaut). Glances utilisera par défaut un tri décroissant sur l’utilisation CPU. Si une alerte sur la mémoire globale apparaît (mémoire occupé > 70%), le tri se fera alors par occupation mémoire.
  • ‘c’: forcer le tri des processus en fonction de leurs utilisations de la CPU.
  • ‘m’: forcer le tri des processus en fonction de leurs occupations mémoire.
  • ‘q’: quitter le programme (on peut également utiliser CTRL-C).

Si votre terminal|console est compatible avec un affichage couleur, alors les statistiques importantes (à mes yeux…) sont mises en avant de la manière suivante:

  • VERT: le compteur est < 50%
  • BLEU: le compteur est > 50% et < 70%
  • VIOLET: le compteur est > 70% et < 90%
  • ROUGE: le compteur est > 90%

Limitations

L’API python-statgrab comporte actuellement un bug pour la récupération des statistiques sur les espaces disques. Dès que ce dernier sera corrigé, je pense inclure ces statistiques dans l’espace libre en bas à gauche de la fenêtre de Glances.

Un problème ?

Si vous rencontrez un problème lors de l’installation ou de l’utilisation de Glances:

  1. Vérifié que le problème n’est pas référencé
  2. Saisir le nouveau bug dans le tracker GitHub

Lors de la saisie du bug merci de fournir les informations suivantes:

  • Système d’exploitation (nom, version)
  • version de Python (python -v)
  • version de la librairie statgrab (apt-cache show statgrab)
  • version de la librairie python-statgrab (apt-cache show python-statgrab)

Contribuer ?

Le logiciel est distribué sous licence libre LGPL. Il est disponible dans le GitHub suivant: https://github.com/nicolargo/glances

Si vous trouvé ce logiciel intéressant et que vous souhaitez vous impliquer, j’ai besoin de vous sur les sujet suivants:

  • packaging de Glances pour Debian, Ubuntu (PPA), Fedora, Redhat, Free|Open|NetBSD…
  • amélioration/optimisation du code (lire le billet contribuer à un projet hébérgé sur GitHub)
  • inclure la vérification de la présence de la librairie python-statgrab lors du .configure (j’ai un bug dans le configure.ac)
  • ‘Man’ page
  • Afficher une fenêtre d’aide avec les touches disponibles quand on clique sur F1
  • Corriger le bug de python-statgrab afin que l’on puisse inclure les statistiques sur les systèmes de fichiers

J’attends vos retours. 🙂

Catégories
Developpement Open-source Web

Epitech Innovative Project 2012

Ce matin, dans ma boîte au lettre (la vraie pas la virtuelle), j’ai eu le plaisir de découvrir le catalogue des projets innovants développés par les étudiants de la promotion 2012 de l’école de l’innovation et de l’expertise informatique Epitech. Sous une très belle présentation graphique se cache 52 projets utilisant un panel très varié de technologies informatiques. Contrairement à pas mal de projets de fins d’études qui débouchent rarement sur des choses intéressantes, le projet EIP  fait partie intégrante du cursus de l’école et ceci dès la 4ém année.

Pour la version 2012, les projets sont répartis en 5 catégories:

  1. Améliorer le bien être des individus et des collectivités
  2. Mieux diffuser le progrès technologique
  3. Rendre plus efficaces les outils au profit des entreprises
  4. Ouvrir de nouveaux horizons aux passions
  5. Innover, année après année, team après team

Pour chaque projet, une double page  permet de se faire une idée générale du sujet, de mettre en avant les technologie utilisées puis de présenter l’équipe et les éventuels partenaires industriels.

A titre personnel, voici quelques projets dont je trouve les sujets intéressants:

  • Rawmarket: Relier équitablement acheteurs et fournisseurs
  • Syshome: Solution de domotique écologique et durable
  • Comeet: Un espace de Visioconférence basée sous XMPP
  • Defuze.me: Régler sa station de radio sur le succès
  • Skuld: Centre d’imagerie médicale de poche (accès à un serveur PACS depuis un mobile)

La liste complète des projets est disponible sur cette page.

Merci encore à l’équipe pédagogique de l’Epitech pour ce très beau catalogue.

Catégories
Open-source Planet-libre Systeme

Supervision simple en ligne de commande avec Saidar

Marre des interfaces graphiques qui ne sont là que pour faire plaisir à vos chefs ? Marre de passer vos journées dans les méandres des fichiers de configuration de Nagios ? Vous avez besoin d’un moyen simple et rapide pour voir ce qui cloche sur une machine ?

Si vous avez répondu oui aux questions précédentes ou que comme moi la première chose que vous faites en cas de problème sur une machine est de regarder la charge, la mémoire et l’espace disque disponible  alors Saidar est fait pour vous !

C’est quoi donc ?

Saidar est un logiciel libre (GPL v2), en ligne de commande permettant d’afficher sur dans une console l’état de votre machine. Il se base sur la librairie libstatgrab qui apporte une couche d’abstraction pour la récupération des informations sur les systèmes d’exploitations Solaris 2.x, Linux 2.2/2.4/2.6, FreeBSD 4.x/5.x, NetBSD 1.6.x, OpenBSD 3.x, DragonFly BSD 1.0, HP-UX, et Cygwin (donc Windows).

Cette librairie dispose également de binfing (interface) vers les langages suivants:

Comment cela marche ?

Sous Debian/Ubuntu, l’installation est facilité par la présence de Saidar dans les dépôts officiels:

[cc lang= »bash »]

# apt-get install saidar

[/cc]

Il suffit ensuite de lancer le logiciel depuis une console (/ terminal):

[cc lang= »bash »]

# saidar

[/cc]

Pour voir afficher les merveilleuses statistiques:

Personnellement j’ai ajouté un raccourci à mon fichier .bashrc pour activer certaines options (couleur et rafraîchissement toute les secondes):

[cc lang= »bash »]

alias saidar=’saidar -c -d 1′

[/cc]

Et voilà le résultat:

Si un chiffre apparaît en gras, c’est que la valeur dépasse les 60%. Au dessus de 90% il est affiché en avec un fond de couleur.

Bref, un outil bien sympathique dans l’esprit GNU à laisser tourner sur vos machines critiques !

Catégories
Open-source Planet-libre Systeme

Script de post installation de Mint 12 (aka Lisa)

L’utilisation par défaut de l’environnement Unity dans la dernière version d’Ubuntu (la 11.10) a beaucoup fait parler d’elle dans le petit monde des utilisateurs GNU/Linux. En effet, cette nouvelle interface demande à l’utilisateur une période d’adaptation pour retrouver ses marques. Personnellement, j’ai dans un premier temps renoncé à l’utiliser sur mon PC personnel mais pas pour cette raison. Comme j’utilise des distributions diverses et variées (Debian, Fedora, Ubuntu, BSD…), je souhaite avoir un environnement similaire entre tous ces systèmes. Comme Unity est seulement utilisée dans l’écosystème Ubuntu, je me suis penché sur Gnome 3 (Gnome Shell) et je l’ai donc installé puis configuré sur mon Laptop perso.

Aujourd’hui sort Mint 12 (« Lisa »), une distribution GNU/Linux basée sur Ubuntu (11.10) mais avec Gnome Shell comme environnement graphique par défaut. J’ai donc installé cette distribution sur une de mes machines et je dois avouer que j’ai été assez bluffé par le degré et la maturité d’intégration de Gnome Shell.

J’en ai également profité pour écrire un script de post installation qui permet de peaufiner le système en installant des logiciels manquants (voir la liste ici) et en améliorant encore un peu plus Gnome Shell (installation de thèmes et d’icônes supplémentaires).

Le script est disponible sur le repo GitHub (lien direct pour le téléchargement).

Pour exécuter le script sur une Mint fraichement (hahaha) installée:

[cc lang= »bash »]
mkdir ~/install
cd ~/install
wget https://raw.github.com/nicolargo/ubuntupostinstall/master/mint-12-postinstall.sh
chmod a+x mint-12-postinstall.sh
sudo ./mint-12-postinstall.sh
[/cc]

Voici le résultat:

Je suis bien sûr preneur de toutes les remarques sur le script. Vous pouvez également contribuer à son évolution en suivant ce tutoriel.

Avec quelques jours de recul, je pense le plus grand bien de cette distribution, elle apporte une cohérence et une continuité au niveau de l’interface graphique que l’on ne retrouve pas (ou plus) chez Ubuntu.

Avez-vous essayé Mint ? Qu’en pensez-vous ?

Catégories
Blog Musique Open-source Planet-libre Video

Mise à jour de la présentation de GStreamer

Il y a quelques mois, j’avais publié une présentation (au format « Powerpoint ») du framework multimédia GStreamer.

A l’occasion d’une présentation de cette technologie à la commission open-source de la Telecom Valley, j’ai mis à jour cette présentation en l’illustrant avec des exemples de pipelines que je lançais au fur et à mesure de mon exposé.

La nouvelle version (1.2) de cette présentation est disponible au téléchargement aux formats PDF et ODP. Elle est diffusé sous licence Creative Common BY v3.0 comme la totalité des billets de ce blog. Vous pouvez également télécharger les scripts shells contenant les pipelines utilisés lors de la présentation.


La présentation (PDF) / La présentation (ODP) / Les scripts shells d’illustration

Note: l’archive des scripts shells contient également une musique (Carl Phaser – « Domination » sous licence CC BY-NC-SA) et une vidéo (Justin Cone – « Building on the Past » sous licence CC BY-NC 1.0) que j’utilise dans ces pipelines.

Catégories
Open-source Planet-libre Reseau

Installation d’un serveur de temps sur votre réseau

Dans un système d’information moderne, la synchronisation des machines sur une horloge commune est un pré-requis pour de nombreuses actions comme l’analyse des logs ou la supervision système et réseau. Si vos machines sont directement connectés à Internet alors il n’y a pas de problème car les distributions GNU/Linux, Windows et Mac OS X embarquent des mécanisme pour se mettre automatiquement à l’heure en se synchronisant sur des serveurs publics (par exemple 0.debian.pool.ntp.org sur une Debian Squeeze). Si ce n’est pas le cas et que vos machines sont isolées et/ou bien filtrées lors de leurs accès à Internet, il peut être intéressant d’installer un serveur de temps local sur une de vos machine.

Nous allons donc dans ce billet installer un serveur de temps NTP sur une machine sous Debian 6 (Squeeze).

Le protocole NTP

J’invoque le bon génie Wikipédia: « Le Protocole d’Heure Réseau (Network Time Protocol ou NTP) est un protocole qui permet de synchroniser, via un réseau informatique, l’horloge locale d’ordinateurs sur une référence d’heure. »

La référence en question sera donc, dans notre cas, la machine ou nous allons installer puis configurer notre serveur NTP.

Le protocole NTP utilise le port UDP/123 pour effectuer les requêtes sur le réseau. Notre serveur sera donc en écoute sur le port UDP 123 (si vous avez un Firewall, il faudra bien entendu le configurer pour autoriser les requêtes sur ce port).

Installation du serveur NTP

On commence par installer les paquets nécessaires dans une console root:

[cc lang= »bash »]

apt-get install ntp ntpdate

[/cc]

La première chose à faire est de mettre le serveur à la bonne heure (quitte à avoir une référence, autant qu’elle soit juste…).

Pour cela deux solutions:

  • si votre machine à accès à Internet, utiliser la commande « ntpdate-debian » qui va synchroniser votre machine sur les serveur NTP Debian.
  • si votre machine n’a pas accès à Internet, alors téléphoner à l’horloge parlante (numéro payant: 3699) puis configurer l’heure système avec la commande « date ». Par exemple « date -s 16:56:23 ».

On édite ensuite le fichier /etc/ntp.conf:

[cc lang= »bash »]

# /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help

driftfile /var/lib/ntp/ntp.drift

# Enable this if you want statistics to be logged.

#statsdir /var/log/ntpstats/

statistics loopstats peerstats clockstats

filegen loopstats file loopstats type day enable

filegen peerstats file peerstats type day enable

filegen clockstats file clockstats type day enable

# You do need to talk to an NTP server or two (or three).

#server ntp.your-provider.example

# http://www.pool.ntp.org/zone/fr

server 0.fr.pool.ntp.org

server 1.fr.pool.ntp.org

server 2.fr.pool.ntp.org

server 3.fr.pool.ntp.org

# pool.ntp.org maps to about 1000 low-stratum NTP servers. Your server will

# pick a different set every time it starts up. Please consider joining the

# pool: <http://www.pool.ntp.org/join.html>

# Access control configuration; see /usr/share/doc/ntp-doc/html/accopt.html for

# details. The web page <http://support.ntp.org/bin/view/Support/AccessRestrictions>

# might also be helpful.

#

# Note that « restrict » applies to both servers and clients, so a configuration

# that might be intended to block requests from certain clients could also end

# up blocking replies from your own upstream servers.

# By default, exchange time with everybody, but don’t allow configuration.

restrict -4 default kod notrap nomodify nopeer noquery

restrict -6 default kod notrap nomodify nopeer noquery

# Local users may interrogate the ntp server more closely.

restrict 127.0.0.1

restrict ::1

# Clients from this (example!) subnet have unlimited access, but only if

# cryptographically authenticated.

#restrict 192.168.123.0 mask 255.255.255.0 notrust

# My server is a public server

restrict 0.0.0.0 mask 0.0.0.0

# If you want to provide time to your local subnet, change the next line.

# (Again, the address is an example only.)

broadcast 192.168.123.255

# If you want to listen to time broadcasts on your local subnet, de-comment the

# next lines. Please do this only if you trust everybody on the network!

#disable auth

#broadcastclient

[/cc]

Les informations intéressantes sont les suivantes:

server 0.fr.pool.ntp.org

server 1.fr.pool.ntp.org

server 2.fr.pool.ntp.org

server 3.fr.pool.ntp.org

Permet de configurer les serveurs maîtres sur lesquels votre machine va essayer de se synchroniser pour rester à l’heure. Il faut bien sûr que votre machine est accès à Internet sur le port UDP/123.

restrict 0.0.0.0 mask 0.0.0.0

On rends notre serveur public, toutes les machines ayant un accès réseau (encore une fois sur le port UDP/123) pourront se synchroniser à partir de votre serveur. Il est bien sûr possible de limiter ce droit aux seules machines de vos réseaux.

broadcast 192.168.0.255

(optionnel) Diffuse le temps sur l’adresse de broadcast de votre réseau (par exemple 192.168.0.0/24).

On relance ensuite le serveur pour que la configuration soit prise en compte:

[cc lang= »bash »]

# /etc/init.d/ntp restart

Stopping NTP server: ntpd.

Starting NTP server: ntpd.

[/cc]

Synchroniser vos machines avec votre serveur NTP

La configuration des clients est relativement simple car souvent inclus dans les « wizards » d’installations. Il suffit de préciser l’adresse IP ou le nom de votre machine hébergeant le serveur NTP comme serveur de temps.

Sur un client Debian 6 existant, il faut installer le package suivant (en root):

[cc lang= »bash »]

apt-get install ntpdate

[/cc]

Puis lancer la commande suivante (si votre serveur de temps est hébergé sur la machine 192.168.0.100):

[cc lang= »bash »]

ntpdate -dv 192.168.0.100

[/cc]

Conclusion

Le protocole NTP étant normalisé, il est bien sur possible de synchroniser toutes vos machines (Linux, BSD, Windows, OS X…) sur votre nouveau serveur de temps.