Fedora-Fr - Communauté francophone Fedora - Linux

Planet de Fedora-Fr : la communauté francophone autour de la distribution Linux Fedora

A propos

Cette page est actualisée toutes les heures.

Cette page est une sélection de blogs autour de Fedora. Fedora-Fr.org décline toute responsabilité au sujet des propos tenus par les auteurs des blogs de ce planet. Leurs propos sont leur entière responsabilité.

Le contenu de ce planet appartient à leurs auteurs respectifs. Merci de consulter leur blogs pour obtenir les licences respectives.

Mot-clefs : Fedora

Fedora 15 vs Fedora 14 : comparaison des performances pour les versions 32 bits

Patrice Kadionik

C'est avec retard que je livre les résultats comparatifs de Fedora 15 vs Fedora 14...

Pour rappel, ma machine est équipée d'un Quad Core Intel Q6600 à 2,4 GHz avec 4 Go de RAM.

Je me suis limité au benchmark UnixBench qui fournit un indice global, ce qui me simplifiera la comparaison. La version UnixBench utilisée est la version 4.1.0.

Mon protocole de tests est le suivant :
  • Installation de Fedora 15 avec mise à jour version 32 bits avec le noyau Fedora 2.6.38.8-35.fc15.i686.
  • La machine est placée en niveau 3 (init 3).
  • 10 séries de tests avec UnixBench compilé sous Fedora 15 et exécuté sous Fedora 15 (noyau Fedora 2.6.38.8-35.fc15.i686).
  • 10 séries de tests avec UnixBench compilé sous Fedora 14 et exécuté sous Fedora 14 (noyau Fedora 2.6.35.6-48.fc14.i686).
Voici les résultats obtenus :

Fedora 15 version 32 bits :

Série 1 : 626.3
Série 2 : 655.9
Série 3 : 638.3
Série 4 : 659.9
Série 5 : 661.4
Série 6 : 657.1
Série 7 : 642.9
Série 8 : 661.3
Série 9 : 663.1
Série 10 : 653.2

Moyenne : 651,9

Fedora 14 version 32 bits :

Voici pour rappel les résultats obtenus avec Fedora 14 :
Série 1 : 659.8
Série 2 : 673.2
Série 3 : 675.2
Série 4 : 663.2
Série 5 : 662.6
Série 6 : 665.7
Série 7 : 658.5
Série 8 : 666.8
Série 9 : 658.9
Série 10 : 663.6

Moyenne : 664,8



Résultats :

Pour Fedora 15, on obtient un indice moyen de 651,9 pour UnixBench.
Pour Fedora 14, j'avais obtenu un indice moyen de 664,8 pour UnixBench.


On a donc une perte moyenne de près de 1,9 % de Fedora 15 32 bits par rapport à Fedora 14 32 bits...
Encore un fois, on assiste à une légère érosion des performances comme montré sur la figure suivante :

perfs_fedora_F15.png

Conclusion :


Au moment de ces tests, le noyau Fedora 15 (basé sur le noyau vanilla 2.6.38) accuse une légère baisse de 1,9 % par rapport au noyau Fedora 14 (basé sur le noyau vanilla 2.6.35).


++

sécurisation d'une connexion ssh

Frédéric Thouin

Un simple logiciel est c'est "finit", certe cela ne fait pas tout mais ca permet de stopper les attaques en brute de force. j'ai nommé fail2ban

Le principe est simple, il regarde les fichiers de log sur les erreurs de login, et si une ip se trompe trop de fois dans une authentification SSH fail2ban demande à Shorewall de modifier dynamiquement NETFILTER pour ajouter aux règles du firewall l'IP incriminée en lui interdisant laccès.

Instalation :

yum install fail2ban

Les fichiers de conf :

/etc/fail2ban/fail2ban.conf

Permet de configurer le comportement general de fail2ban.

/etc/fail2ban/jail.conf

Permet de configurer les services surveillées par fail2ban, indiqué la durée de bannissement, etc..

Ajouter un de ses scripts au menu Applications de Gnome-Shell

Tom Dubin Lorsque lon utilise souvent ses propres scripts ou des logiciels non packagés, on na pas forcément envie dutiliser la ligne de commande pour les lancer. Voici comment créer un lanceur simplement. Ce launcher est un fichier .desktop qui peut se trouver soit dans ~/.local/share/applications/ si on veut que le lanceur soit visible uniquement de notre [...]

La programmation parallèle avec python

Pierre-Yves Chibon

source.png

Un petit exemple basique de programmation parrallèle avec python

French version (English version)

L'autre jour je me suis penché sur la programmation asynchrone avec java et je suis tombé sur cet article : Asynchronous processing in Java applications – leveraging those multi-cores

Article vraiment clair et intéressant sur la programmation asynchrones avec Java.

Mais bon, mon langage de prédilection étant python, j'ai bien sûr cherché s'il était possible d'en faire autant avec.

Après quelques recherches sur internet je suis arrivé sur parallelpython, une petite bibliothèque python qui permet de faire de la programmation asynchrones facilement.

Revenons au début, quel est le but de la programmation asynchrones ? L'idée est de pouvoir faire plusieurs choses en même temps, de lancer plusieurs tâches en parallèles.

Commençons avec un script basique qui appelle deux fois une fonction qui attends 5 secondes avant de nous dire qu'elle a fini.

#!/usr/bin/python
 
"""
Exemple de programme python non-asynchrone.
"""
 
import time
 
def background_stuff(num):
  time.sleep(5) # wait 5 seconds
  return "%s J'ai fini" % num
 
if __name__ == "__main__":
    print "Commence a :" , time.asctime(time.localtime())
 
    print "Je commence"
    print background_stuff(1)
    print "Je fais quelque chose..."
    print " ... et autre chose..."
    print background_stuff(2)
 
    print "Fini a :", time.asctime(time.localtime())

L'idée est donc d'avoir une sortie comme ceci :

Commencé à : <date and time>
Je commence
Je fais quelque chose
 ... et autre chose...
1 J'ai fini
2 J'ai fini
Fini à: <date and time>

Mais c'est cette sortie que l'on obtient :

Commencé à : Fri Aug 19 13:35:15 2011
Je commence
1 J'ai fini
Je fais quelque chose
 ... et autre chose...
2 J'ai fini
Fini à: Fri Aug 19 13:35:25 2011

Donc python attend que la première fonction finisse avant de continuer. C'est le comportement par défaut, séquentiel et comme vous pouvez voir il faut 10 secondes pour éxécuter ce programme.

Mais bon on peux faire mieux que ça et on va re-écrire le programme pour faire appel aux fonctions en parallèle.

D'abord on installe la bibliothèque python voulue:

yum install python-pp

Et voici notre nouveau script

#!/usr/bin/python
 
"""
Exemple de programme python asynchrone.
"""
 
import pp
import time
 
def background_stuff(num):
  time.sleep(5)
  return "%s J'ai fini" % num
 
if __name__ == "__main__":
    print "Commence a :" , time.asctime(time.localtime())
    job_server = pp.Server()
 
    print "Je commence"
 
    f1 = job_server.submit(background_stuff, (1,) , modules=('time',))
    f2= job_server.submit(background_stuff, (2,), modules=('time',))
    print "Je fais quelque chose..."
    print " ... et autre chose..."
 
    print f1()
    print f2()
 
 
    print "Fini a :", time.asctime(time.localtime())

Les lignes importantes sont

import pp

On charge la bibliothèque parallel-python

job_server = pp.Server()

On crée un serveur de tâches.

f1 = job_server.submit(background_stuff, (1,) , modules=('time',))

On soumet une tâche au serveur.

Le premier argument est le nom de la fonction appelé, le second est un tuple des arguments à passer à la fonction et le troisième (dans cette exemple) est un tuple des bibliothèques python que la fonction doit avoir chargé. À noter que si la fonction background_stuff avait la ligne "import time" alors le troisième argument ne serait pas nécessaire.

Et maintenant la sortie est :

Commence a : Fri Aug 19 14:20:05 2011
Je commence
Je fais quelque chose...
 ... et autre chose...
1 J'ai fini
2 J'ai fini
Fini a : Fri Aug 19 14:20:10 2011

Comme vous pouvez voir, nous avons appelé deux fois la fonction background_stuff, fait quelque chose pendant qu'elle tournait, récupéré la sortie de la fonction et le tout en 5 secondes !

New repoquery

Pierre-Yves Chibon

rpm.png

The new version of repoquery can do nice things.

English version (French version)

You might remember that sometime ago I played a bit with dependency tree, I have made it up to propose a patch to yum-utils to change repoquery directly.

This patch has been accepted and is now part of the latest version (v1.1.31) of yum-utils (currently in updates-testing).

There has therefore been quite some changes in repoquery. The old function --tree-* while still present and still working are no longer displayed in the --help.

In order to generate a similar output the command has changed to:

 for --tree-requires -> --requires --output=ascii-tree
 for --tree-conflicts -> --conflicts --output=ascii-tree
 for --tree-obsoletes -> --obsoletes --output=ascii-tree
 for --tree-whatrequires -> --whatrequires --output=ascii-tree

But you remember the last time you run --tree-requires R or something similar ? The output is really really big.

With this new version of repoquery comes the --level argument which enables you to specify how many levels you want to see (1,2,3..., all). So you can do

$ repoquery --requires R --output=ascii-tree --level=1
  R-2.13.1-1.fc15.x86_64 [cmd line]
   \_  R-devel-2.13.1-1.fc15.i686 [1: R-devel = 2.13.1-1.fc15]
   \_  R-devel-2.13.1-1.fc15.x86_64 [1: R-devel = 2.13.1-1.fc15]
   \_  libRmath-devel-2.13.1-1.fc15.i686 [1: libRmath-devel = 2.13.1-1.fc15]
   \_  libRmath-devel-2.13.1-1.fc15.x86_64 [1: libRmath-devel = 2.13.1-1.fc15]

or

$ repoquery --requires R --output=ascii-tree --level=2 
  R-2.13.1-1.fc15.x86_64 [cmd line]
   \_  R-devel-2.13.1-1.fc15.i686 [1: R-devel = 2.13.1-1.fc15]
   |   \_  R-core-2.13.1-1.fc15.i686 [1: R-core = 2.13.1-1.fc15]
   |   \_  R-core-2.13.1-1.fc15.x86_64 [1: R-core = 2.13.1-1.fc15]
   |   \_  bzip2-devel-1.0.6-3.fc15.i686 [1: bzip2-devel]
   |   \_  bzip2-devel-1.0.6-3.fc15.x86_64 [1: bzip2-devel]
   |   \_  gcc-c++-4.6.0-10.fc15.x86_64 [1: gcc-c++]
   |   \_  gcc-gfortran-4.6.0-10.fc15.i686 [1: gcc-gfortran]
   |   \_  gcc-gfortran-4.6.0-10.fc15.x86_64 [1: gcc-gfortran]
   |   \_  libX11-devel-1.4.3-1.fc15.i686 [1: libX11-devel]
   |   \_  libX11-devel-1.4.3-1.fc15.x86_64 [1: libX11-devel]
[...]
   \_  R-devel-2.13.1-1.fc15.x86_64 [1: R-devel = 2.13.1-1.fc15]
   |   \_  R-core-2.13.1-1.fc15.i686 [1: R-core = 2.13.1-1.fc15]
   |   \_  R-core-2.13.1-1.fc15.x86_64 [1: R-core = 2.13.1-1.fc15]
   |   \_  bzip2-devel-1.0.6-3.fc15.i686 [1: bzip2-devel]
[...]

But I promised repoquery could make us some pictures so check this:

$ repoquery --requires fedora-packager --output=dot-tree --level=2 > fedora-packager.dot
$ twopi -Tpng fedora-packager.dot -o fedora-packager-twopi.png

This gives you this nice pictures: fedora-packager-twopi.png

Another example:

$ repoquery --requires --output=dot-tree --level=1 R-Biobase R-tkWidgets R-DynDoc R-widgetTools > Rtree.dot
$ dot -Tpng Rtree.dot -o Rtree-dot.png

Which gives you this nice graph showing nicely the order in which this packages can be built: Rtree-dot.png

Une nouvelle version de repoquery

Pierre-Yves Chibon

rpm.png

La nouvelle version de repoquery permet de faire des choses amusantes.

French version (English version)

La nouvelle version de repoquery (v1.1.31, dans updates-testing) inclut un patch que j'ai soumis suite à mes essais sur les graph de dépendances.

Avec cette version les commandes changent un petit peu puisque même si toutes les commandes --tree* sont encore disponible et fonctionnelles, elles ne sont plus affiché dans le --help.

À la place, vous devez maintenant spécifier le format de sorti:

 for --tree-requires -> --requires --output=ascii-tree
 for --tree-conflicts -> --conflicts --output=ascii-tree
 for --tree-obsoletes -> --obsoletes --output=ascii-tree
 for --tree-whatrequires -> --whatrequires --output=ascii-tree

De même, vous pouvez en limiter la taille:

$ repoquery --requires R --output=ascii-tree --level=1
  R-2.13.1-1.fc15.x86_64 [cmd line]
   \_  R-devel-2.13.1-1.fc15.i686 [1: R-devel = 2.13.1-1.fc15]
   \_  R-devel-2.13.1-1.fc15.x86_64 [1: R-devel = 2.13.1-1.fc15]
   \_  libRmath-devel-2.13.1-1.fc15.i686 [1: libRmath-devel = 2.13.1-1.fc15]
   \_  libRmath-devel-2.13.1-1.fc15.x86_64 [1: libRmath-devel = 2.13.1-1.fc15]

Enfin vous pouvez en faire des image:

$ repoquery --requires fedora-packager --output=dot-tree --level=2 > fedora-packager.dot
$ twopi -Tpng fedora-packager.dot -o fedora-packager-twopi.png

Ce qui vous donne: fedora-packager-twopi.png

Un autre exemple:

$ repoquery --requires --output=dot-tree --level=1 R-Biobase R-tkWidgets R-DynDoc R-widgetTools > Rtree.dot
$ dot -Tpng Rtree.dot -o Rtree-dot.png

Ce qui retourne cette image, montrant les dépendances entre les paquets: Rtree-dot.png

Masse replace !

Frédéric Thouin

Il est parfois utile de faire des remplacements d'une occurrence dans un fichier ! là ça reste pas trop dur grace a vim :

:%s/occurrence/remplacement/g

Mais comment farie quand on veut modifier une occurrence qui est dans plusieurs fichiers par une autre ! Hé bien là, shell est mon ami :

grace a la commande sed :

( merci à tshirtman via google+ et son commentaire)

sed -i s/occurence/remplacement/g *

ou bien ( mais c'est pas top )

 for i in `grep -l occurrence *` ; do vim -c '%s/occurrence/remplacement/g' -c 'wq!' $i; done

Man Of Man @ HOME

Frédéric Thouin

Dans un ancien article je vous avais parler du super Man of Man. Et bien j'ai décidé de l'auto héberger.

Apres une petit configuration DNS en utilisant un CNAME home.penthium2.org vers mon enregistrement DynDNS, l'ouverture du port qui va bien sur ma livebox ( ARG ) voici donc : HOME MAN OF MAN

Bienvenue sur Dotclear ! - Slobberbone V4

Alexandre Frandemiche

Slobberbone V4

Ceci est votre premier billet. Quand vous serez prêt à bloguer, connectez-vous pour le modifier ou le supprimer.

Alors oui, j'étais déjà sous Dotclear avant ... mais ce message de bienvenue existe car j'ai enfin migrer mon blog qui était hébergé chez Free http://slobberbone.free.fr/ vers mon serveur dédié chez OVH et du coup installation de Dotclear tout fraiche !!!
Après avoir lancé Communauté-SLA.org en ayant installé la totalité des outils sur ce serveur dédié chez OVH, il était temps d'y mettre mon blog personnel ! Cela faisait 2 ans que Free n'avait pas écraser l'ensemble de ma base de données, il ne fallait donc pas trop attendre ...

J'espère que le thème vous plaira, moi c'est le cas et ça me donne un peu plus envie de bloguer ! :D

Allé pour la route, une petite procédure pour installer Dotclear !

Dotclear 2

Installation des prérequis

Sous CentOS/Fedora : yum install httpd mysql-server mysql php

Configuration de MySQL


/etc/init.d/mysqld start
/usr/bin/mysql_secure_installation

Préparation de MySQL


Ici l'option "-proot" où "root" est mon mot de passe pour l'utilisateur root ... il va sans dire que ce n'est qu'un exemple :-) et on part du principe que tout est en local
mysql -u root -proot

Résultats :

#Welcome to the MySQL monitor.  Commands end with ; or \g.
#Your MySQL connection id is 7
#Server version: 5.0.77 Source distribution
#
#Type 'help;' or '\h' for help. Type '\c' to clear the buffer

On crée la base de donnée du blog :
mysqlcreate database blog;

#Query OK, 1 row affected (0.01 sec)


Ici on va créer un utilisateur dotclear avec un mot de passe dotclear ( à changer bien évidemment !
mysqlgrant all on blog.* to 'dotclear'@'localhost' identified by 'dotclear';

#Query OK, 0 rows affected (0.00 sec)

On réinitialise les droits
mysqlflush privileges;

#Query OK, 0 rows affected (0.00 sec)

Et on quitte mysql !
mysqlquit

#Bye

Configuration d'Apache

Pour ajouter la configuration, il vous suffit d'ajouter dans /etc/httpd/conf.d un repertoire monpseudo

cd /etc/httpd/conf.d/
mkdir monpseudo
cd monpseudo touch blog.conf

Ensuit on édite blog.conf vi blog.conf et on réalise une configuration comme telle :

ServerName blog.mondnomdedomaine.net
<LocationMatch "^/monpseudo/dotclear/+$">
    Options -Indexes
    ErrorDocument 403 /error/noindex.html
</LocationMatch>

Ici on part du principe que Dotclear à été installé à la racine de mon répertoire monpseudo, par défaut présent dans /var/www/.
cd /var/www/
mkdir monpseudo
chown apache:apache monpseudo

On recharge la configuration d'apache :
service httpd reload
Maintenant, il ne reste plus qu'à préparer l'installation de Dotclear !

Installation de Dotclear

cd /var/www/monpseudo
wget http://download.dotclear.net/loader/dotclear2-loader.php
chown apache:apache dotclear2-loader.php
Et voilà ! Pour terminer l'installation allez sur l'url d'installation de Dotclear : http://monsite/monpseudo/dotclear2-loader.php ! Là vous sera demandé des identifiants de connexion à la base de données MySQL que l'on a crée plus haut !
A vous de bloguer !

@ très bientôt !

PackageDB-cli 1.1.0

Pierre-Yves Chibon

rpm.pngsource.png

Version 1.1.0 du client text pour pkgdb.

Release 1.1.0 of the command-line interface for pkgdb.

English version (no French)

I have pushed to testing few days ago a new version of packagedb-cli (aka pkgdb-cli).

With this new version:

  • You can adopt an orphaned package
  • The user name if not specified can be retrieved from the fedora_cert file (if presents)
  • If the package is orphaned, it is now highlighted
  • Approve all the request for someone but only the requested ACLs (not all ACLs)

There has also been some bugs fixed thanks to sochotni and ppisar who reported them on the trac.

Feel free to test and comment the updates:

Installation de Nagios sur CentOS sans RPM

Alexandre Frandemiche

Depuis le temps que j'en parlais ... voilà enfin ma procédure d'installation de Nagios 3.2 sous CentOS 5.CentOS
Alors tout d'abord, à l'époque il n'y avait pas de rpm (j'ai trouvé il y a peu un dépôt ... j'y reviendrais dans un autre billet). Donc compilation à la main !

Ensuite, les puristes crierons lorsqu'ils verront où j'installe Nagios ... le but était d'avoir quelque chose d'opérationnel assez rapidement. Faire mieux étant remis à plus tard. Si vous avez des modifications à apporter à cette procédure, je vous invite à laisser un commentaire ! Je la compléterai avec joie ! :)

Préparation de la machine

Avant toute chose, penser à bien configurer votre parefeu et SELinux. Pour un premier test, il faut désactiver le tout ! Pour le parefeu :
service iptables stop

Pour SELinux : vi /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted

Installation des pré-requis

Passage en root
su -

Installation prérequis
yum install gcc httpd mysql-server mysql-devel openssl

Téléchargement des sources Nagios
cd /usr/local/
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.14.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/nagios/ndoutils-1.4b9.tar.gz

Décompression de Nagios Core
tar xfvz nagios-3.2.1.tar.gz
cd nagios-3.2.1/

Création du groupe et utilisateur nagios
groupadd nagios
groupadd nagcmd
useradd nagios -g nagios,nagcmd

Installation de Nagios

Nagios

Compilation de Nagios Core
./configure --prefix=/usr/local/nagios --enable-mysql --disable-pgsql --with-ndo2db-user=nagios --with-ndo2db-group=nagios --with-command-group=nagcmd

Résultats :

#*** Configuration summary for nagios 3.2.1 03-09-2010 ***:
#
# General Options:
# -
# Nagios executable: nagios
# Nagios user/group: nagios,nagios
# Command user/group: nagios,nagcmd
# Embedded Perl: no
# Event Broker: yes
# Install ${prefix}: /usr/local/nagios/
# Lock file: ${prefix}/var/nagios.lock
# Check result directory: ${prefix}/var/spool/checkresults
# Init directory: /etc/rc.d/init.d
# Apache conf.d directory: /etc/httpd/conf.d
# Mail program: /bin/mail
# Host OS: linux-gnu
#
# Web Interface Options:
#
# HTML URL: http://localhost/nagios/
# CGI URL: http://localhost/nagios/cgi-bin/
# Traceroute (used by WAP): /bin/traceroute
#
#
#Review the options above for accuracy. If they look okay,
#type 'make all' to compile the main program and CGIs.

make all

Résultats :

#*** Compile finished ***
#
#If the main program and CGIs compiled without any errors, you
#can continue with installing Nagios as follows (type 'make'
#without any arguments for a list of all possible options):
#
# make install
# - This installs the main program, CGIs, and HTML files
#
# make install-init
# - This installs the init script in /etc/rc.d/init.d
#
# make install-commandmode
# - This installs and configures permissions on the
# directory for holding the external command file
#
# make install-config
# - This installs *SAMPLE* config files in /usr/local/nagios//etc
# You'll have to modify these sample files before you can
# use Nagios. Read the HTML documentation for more info
# on doing this. Pay particular attention to the docs on
# object configuration files, as they determine what/how
# things get monitored!
#
# make install-webconf
# - This installs the Apache config file for the Nagios
# web interface
#
#
#*** Support Notes *******************************************
#
#If you have questions about configuring or running Nagios,
#please make sure that you:
#
# - Look at the sample config files
# - Read the HTML documentation
# - Read the FAQs online at http://www.nagios.org/faqs
#
#before you post a question to one of the mailing lists.
#Also make sure to include pertinent information that could
#help others help you. This might include:
#
# - What version of Nagios you are using
# - What version of the plugins you are using
# - Relevant snippets from your config files
# - Relevant error messages from the Nagios log file
#
#For more information on obtaining support for Nagios, visit:
#
# http://www.nagios.org/support/
#
#*************************************************************

make install
make install-init
make install-commandmode
make install-config
make install-webconf

Démarrage à  vide de Nagios
/etc/init.d/nagios start

Résultat :

#Starting nagios: done.

Installation et Configuration de MySQL si non installée

yum install mysql-server mysql
/etc/init.d/mysqld start
/usr/bin/mysql_secure_installation

Préparation de MySQL

Ici l'option "-proot" où "root" est mon mot de passe pour l'utilisateur root ... il va sans dire que ce n'est qu'un exemple :-) mysql -u root -proot

Résultats :

#Welcome to the MySQL monitor. Commands end with ; or \g.
#Your MySQL connection id is 7
#Server version: 5.0.77 Source distribution
#
#Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database nagios;

#Query OK, 1 row affected (0.01 sec)

mysql> grant all on nagios.* to 'nagios'@'localhost' identified by 'nagios';

#Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

#Query OK, 0 rows affected (0.00 sec)

mysql> quit

#Bye

Installation du module base de données NDO
architecture_ndo.jpg

Décompression de NDO
cd /usr/local/
tar xvfz ndoutils-1.4b9.tar.gz
cd ndoutils-1.4b9

Compilation NDO
./configure

Résultats :

#*** Configuration summary for ndoutils 1.4b9 10-27-2009 ***:
#
# General Options:
# -
# NDO2DB user: nagios
# NDO2DB group: nagios
#
#
#Review the options above for accuracy. If they look okay,
#type 'make' to compile the NDO utilities.

make

Mise en place de la librairie NDO dans Nagios
cp src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o
cp src/ndo2db-3x /usr/local/nagios/bin/ndo2db

Création base Nagios
cd db
./installdb -u nagios -p nagios -h localhost -d nagios

Résultats :

#DBD::mysql::db do failed: Table 'nagios.nagios_dbversion' doesn't exist at ./installdb line 51.
#** Creating tables for version 1.4b9
# Using mysql.sql for installation...
#** Updating table nagios_dbversion
#Done!

cp /usr/local/ndoutils-1.4b9/config/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg
cp /usr/local/ndoutils-1.4b9/config/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg

Éditer les fichiers de configuration
cd /usr/local/nagios/etc/
vi ndo2db.cfg

Dans ce fichier vous renseignerez l'utilisateur de mysql :

# SOCKET TYPE
# This option determines what type of socket the daemon will create
# an accept connections from.
# Value:
# unix = Unix domain socket (default)
# tcp = TCP socket

#socket_type=unix
socket_type=tcp
...
# DATABASE USERNAME/PASSWORD
# This is the username/password that will be used to authenticate to the DB.
# The user needs at least SELECT, INSERT, UPDATE, and DELETE privileges on
# the database.

db_user=nagios
db_pass=nagios

vi ndomod.cfg
Modifier le type socket :

...
#output_type=file
output_type=tcpsocket
#output_type=unixsocket
...
#output=/usr/local/nagios/var/ndo.dat
output=127.0.0.1
#output=/usr/local/nagios/var/ndo.sock

vi nagios.cfg

Modifier le partie event_broker (/event_broker pour rechercher sous Vi)
-
# EVENT BROKER OPTIONS
# Accepte des datas de l'extérieur (dont NDO)
# Controls what (if any) data gets sent to the event broker.
# Values: 0 = Broker nothing
# -1 = Broker everything
# <other> = See documentation
event_broker_options=-1
broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg
-

Arrêt de Nagios
/etc/init.d/nagios stop

Démarrage du deamon NDO2DB
/usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg

Démarrage de Nagios
/etc/init.d/nagios start

Vérification du démarrage de Nagios
vi /usr/local/nagios/var/nagios.log
NB : Si Code 127 : Nagios Plugin non compilé

Installation des plugins Nagios

Décompression de Nagios Plugin
cd /usr/local
tar xvfz nagios-plugins-1.4.14.tar.gz

Compilation de Nagios Plugin
cd nagios-plugins-1.4.14
./configure

Résultats :

# --with-apt-get-command:
# --with-ping6-command: /bin/ping6 -n -U -w %d -c %d %s
# --with-ping-command: /bin/ping -n -U -w %d -c %d %s
# --with-ipv6: yes
# --with-mysql: /usr/bin/mysql_config
# --with-openssl: yes
# --with-gnutls: no
# --enable-extra-opts: no
# --with-perl: /usr/bin/perl
# --enable-perl-modules: no
# --with-cgiurl: /nagios/cgi-bin
# --with-trusted-path: /bin:/sbin:/usr/bin:/usr/sbin
# --enable-libtap: no

make
make install

Vérification des modules
ls /usr/local/nagios/libexec/
/etc/init.d/nagios restart

Changer authentification
vi /usr/local/nagios/etc/cgi.cfg
Exemple de configuration :

...
use_authentication=1
use_ssl_authentication=0
...

Pour le reste voici une brève explication :

  • authorized_for_system_information : indiquent quels sont les utilisateurs pouvant voir l'état des services
  • authorized_for_configuration_information : indiquent quels sont les utilisateurs pouvant voir la configuration de serveur Nagios
  • authorized_for_system_commands : indiquent quels sont les utilisateurs pouvant exécuter des commandes systèmes au travers de l'interface de Nagios
  • authorized_for_all_services : indiquent quels sont les utilisateurs pouvant voir l'état de tout les services (par défaut, on voit uniquement les services pour lesquels l'utilisateur est une personne de contact)
  • authorized_for_all_hosts : idem que ci-dessus mais pour les hôtes (les machines)
  • authorized_for_all_service_commands : indiquent quels sont les utilisateurs pouvant exécuter des commandes pour tous les services (par défaut, on peut exécuter des commandes uniquement sur les services pour lesquels l'utilisateur est une personne de contact)
  • authorized_for_all_host_commands : idem que ci-dessus mais pour les hôtes (les machines)

Je vous laisse le soin de compléter la configuration des personnes autorisées ou non à agir sur l'interface de Nagios !

Déclarer le user nagiosadmin
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

NB :Pour ajouter un utilisateur
htpasswd /usr/local/nagios/etc/htpasswd.users <username>

Changer le propriétaire du répertoire Nagios
chown -Rf nagios:nagios /usr/local/nagios/

Redemarrer le module NDO et Nagios
ps -e | grep ndo2db
kill PID
/usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg
/etc/init.d/nagios restart

Modification du script de démarrage de nagios pour prendre en compte ndo2db
vi /etc/init.d/nagios

-
...
start) echo -n "Starting nagios:"
$NagiosBin -v $NagiosCfgFile > /dev/null 2>&1;
if $? -eq 0; then
########################################################################
###############################A Ajouter################################
su - $NagiosUser -c "/usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg"
########################################################################
su - $NagiosUser -c "touch $NagiosVarDir/nagios.log $NagiosRetentionFile"
...
stop)
echo -n "Stopping nagios: "
pid_nagios
killproc_nagios nagios
########################################################################
###############################A Ajouter################################
su - $NagiosUser -c "skill ndo2db"
########################################################################
...
-

Installation du skin Vautour
J'utilise un skin très agréable nommé Vautour car il faut avouer que l'interface de base de Nagios est repoussante ... Comme tout projet il faut savoir le vendre et celà passe par l'esthétique !
wget http://www.be-root.com/downloads/nagios/vautour/vautour_style.zip
unzip vautour_style.zip -d /usr/local/nagios/share/

Merci à l'équipe de Be-Root !

Voici un exemple :
Vautour

Et voilà votre installation de Nagios doit être prête ! Il ne reste plus qu'à configurer notre nagios pour qu'il surveille nos serveurs ! Mais ça c'est dans un prochain billet ;) !

Rappel

Vérifier la configuration
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Faire des propositions d'optimisation (juste pour avoir la commande ;) )
/usr/local/nagios/bin/nagios -s /usr/local/nagios/etc/nagios.cfg

Cerveauuuuuu

Frédéric Thouin

Inutile donc indispensable !! faire son petit Zombi maison :D

Si vous êtes curieux et voulez voir comment ressemble à un zombie, vous pouvez créer un zombie avec ce programme c:

Source code:

#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>

int main ()
{
  pid_t child_pid;

  child_pid = fork ();
  if (child_pid > 0) {
    sleep (60);
  }
  else {
    exit (0);
  }
  return 0;
}

Enregistrez-le sous zombie.c, le compiler avec:

gcc zombie.c -o zombie

et exécutez-le avec:

./zombie

Maintenant, vérifier la sortie de cette commande (en 1 minute) dans une autre fenêtre:

ps -el | grep " Z "

Man of MAN !!!

Frédéric Thouin

Fait par l'un des meilleurs membres du forum fedora-fr.org
voila UNE référence à ne pas louper !!!! http://marionpatrick.free.fr/

configuration du clavier en AZERTY pour l'utilisation de VINO

Frédéric Thouin

Vino est un logiciel permetant la prise de controle à distance du bureau d'un utilisateur. Hors depuis Fedora 15 je rencontrais un petit problème de clavier !

Sur la machine physique le clavier était en AZERTY mais dans la fenêtre de controle à distance le clavier était en QWERTY.

Pour résoudre cela il va faloir créer un script qui sera lancer à l'ouverture de session utilisateur.

créer un script : vino.sh

setxkbmap fr

puis le rendre executable :

chmod u+x vino.sh

puis lancer la commande

gnome-session-properties

Et ajouter le script.

cela génère un fichier dans : ~/.config/autostart nommé vino.sh.desktop

[Desktop Entry]
Type=Application
Exec=/home/penthium/vino.sh
Hidden=false
X-GNOME-Autostart-enabled=true
Name[fr_FR]=vino.sh
Name=vino.sh
Comment[fr_FR]=reconfiguration du clavier pour vino
Comment=reconfiguration du clavier pour vino

Le tour est joué ! a chaque ouverture de session le clavier est remis en phase pour que les connexions vino soit en azerty \o/

PackageDB-cli 1.0.0

Pierre-Yves Chibon

rpm.pngsource.png

Version 1.0.0 du client text pour pkgdb.

Release 1.0.0 of the command-line interface for pkgdb.

English version (no French)

This morning has just been reviewed and approved the rpm for packagedb-cli (Thanks Elad!).

I am waiting for the SCM to be validated and I will upload and build this first release.


I am looking forward to hear your suggestions, comments and bug reports on the trac of the project



PS: If you rebuild the src.rpm from the review, I was pointed out that the USAGE in --help is not quite accurate, this is already fixed in git and will fixed at import.

Fin de vie pour la Fedora 13

Edouard Bourguignon

Un bref rappel pour ceux qui seraient encore en Fedora 13, celle-ci est arrivée au terme de son cycle de maintenance (End of Life). Les cycles des Fedora se terminent en général 1 mois après la sortie de la version N+2.

Depuis le 24 juin 2011, 1 mois après la sortie de la Fedora 15, la Fedora 13 ne reçoit donc plus aucune mise à jour, il est de ce fait très important de passer à une version plus récente et encore maintenue comme la Fedora 14, voire mieux, la Fedora 15.

Annonce officielle

Instructions de mise à niveau

Pour info, la Fedora 14 est sortie le 02/11/2010 et devrait voir sa fin de vie après l'arrivée de la Fedora 16, grosso modo pour la fin de cette année. Quant à la Fedora 15, sortie le 24/05/2011, elle a encore de beaux jours devant elle. La Fedora 17 ne devrait sortir que dans 1 an...

Calendrier de la Fedora 16

Si le cycle Fedora de 6 mois vous semble trop court, il y a la distribution RedHat (il faut payer une souscription) et ses clones (gratuits), comme la Scientific Linux 6. Là le cycle de vie est de 10 ans, comme expliqué ici.

Fin de vie pour la Fedora 13

Edouard Bourguignon

Un bref rappel pour ceux qui seraient encore en Fedora 13, celle-ci est arrivée au terme de son cycle de maintenance (End of Life). Les cycles des Fedora se terminent en général 1 mois après la sortie de la version N+2.

Depuis le 24 juin 2011, 1 mois après la sortie de la Fedora 15, la Fedora 13 ne reçoit donc plus aucune mise à jour, il est de ce fait très important de passer à une version plus récente et encore maintenue comme la Fedora 14, voire mieux, la Fedora 15.

Annonce officielle

Instructions de mise à niveau

Pour info, la Fedora 14 est sortie le 02/11/2010 et devrait voir sa fin de vie après l'arrivée de la Fedora 16, grosso modo pour la fin de cette année. Quant à la Fedora 15, sortie le 24/05/2011, elle a encore de beaux jours devant elle. La Fedora 17 ne devrait sortir que dans 1 an...

Calendrier de la Fedora 16

Si le cycle Fedora de 6 mois vous semble trop court, il y a la distribution RedHat (il faut payer une souscription) et ses clones (gratuits), comme la Scientific Linux 6. Là le cycle de vie est de 10 ans, comme expliqué ici.

Mise à jour de la carte Software Wars

Thomas Canniot Vous connaissez certainement la carte « Software Wars », par Steven Hilton et Andy Tai. Et bien comme cette dernière n’était plus à jour depuis des années, j’ai occupé mon week-end à la mettre à jour et la refaire en SVG.

Je vous en propose donc la consultation ci-dessous ou depuis la page prévue à cet effet.

software_wars_small.png




N’hésitez pas à laisser un petit commentaire, si j’ai fais une erreur quelque part, sait-on jamais !

guide du surffeur fou en init 3 (ou La méthode Casper)

Frédéric Thouin

Ha les joies de l'init 3 !

une mauvaise mise à jour ! PAF init 3

un soft qui explose gnome 3 ! PAF init 3

Mais alors ! comment faire pour surffer et chatter avec la communauté dans ces cas là ?

Cet article va décrire plusieurs petits softs vous permettant de survivre en milieu hostile ( ou pas ).

Cet article va aussi vous permettre par exemple d'utiliser une connection SSH pour accéder à vos outils de surf et chat quand vos voyager et que vous ne pouvez pas avoir vos soft de chat, mais que vous pouvez avoir une conexion SSH.

Voila donc 4 logiciels important :

1) SCREEN

Certainement le principal lors de l'utilisation de conexion SSH.

Un article est déja present sur ce site, donc je ne reviendrais pas trop dessus. (cf Article :Screen ).

Il permet surtout de garder les logiciels ouvert dans ses session, meme quand votre conexion SSH se coupe ou que vous la coupiez vous meme (dans ce cas la je vous conseil l'utilisation de la combinaison : "Ctrl+a x", elle permet de locker la session en cours).

2) ELINKS

elinks

Le navigateur WEB sous console. il existe d'autres navigateurs comme lynx, mais j'ai une préference pour elinks. Son installation est facile puisse qu'il est déjà intégré au depot fedora :

su -c "yum install elinks"

Le lancement est aussi simple :

elinks
ou 
elinks fedora-fr.org

L'utilisation n'est pas trop compliquer une fois qu'on a compris qu'il faut valider le champs qui nous interesse avec la touche ENTREE.

On poura se déplacer dans une page avec la touche ESPACE pour descendre et Ctrl-B pour monter. Mais la MOLETTE de la sourie marche très bien.

pour plus d'info : elink Keys

3) IRSSI

IRSSI

Irssi est un client IRC, je ne referais pas une documentation sur ce logiciel mais je vous invite plutot à aller voir le wiki fedora qui est très bien fait : wiki fedora Irssi

Je rajouterais juste l'explication de l'installation du script Nicklist.pl et la connection SSL vers un serveur qui l'autorise.

Nicklist.pl : ce script permetera d'avoir une "barre" sur le coté avec la liste des utilisateurs connecter au chan.

installation :
$ mkdir -pv $HOME/.irssi/scripts/autorun && cd $HOME/.irssi/scripts
$ wget http://www.irssi.org/scripts/scripts/nicklist.pl
$ cd autorun
$ ln -sv ../nicklist.pl
configuration et utilisation :

changer la largeur le la bare des speudo :

/set nicklist_width <number>

Faire que la bare de speudo soit lancer au démarage de Irssi:

/set nicklist_automode screen

Déplacement dans la bare de speudo :

/nicklist scroll <+|-number>

ex :

/nicklist scroll -10

Il est possible dassigner des raccourcis clavier :

/bind something command nicklist scroll -10 
/bind something-else command nicklist scroll +10
Conexion SSL :

Pour avoir une conection SSL qui fonction il faudra avant tout installer les références aux certificats racines :

su -c "yum install ca-certificates"

Puis dans le fichier de configuration de irssi, dans la section serveur on ajoute :

use_ssl = "yes";
ssl_verify = "yes";

soit par exemple pour le serveur freenode :

servers = (
  {
    address = "chat.freenode.net";
    chatnet = "freenode";
    port = "7000";
    term_type = "uth-8";
    use_ssl = "yes";
    ssl_verify = "yes";
    autoconnect = "yes";
  }
);

4) MCABBER

mcabber

mcabber est un client Jabber incluant les fonctionnalités suivantes : support de SSL, journalisation des discussions, complètement des commandes, déclenchement d'actions externes.

installation :
su -c "yum install mcabber"
configuration :

Vous pouvez lancer mcabber sans fichier de configuration, il faudra alors paramétrer les options manuellement. Pour créer un fichier de configuration rapidement, copiez et renommez le fichier exemple :

mkdir ~/.mcabber
chmod 0700 ~/.mcabber
cp /usr/share/doc/mcabber-0.10.1/mcabberrc.example ~/.mcabber/mcabberrc

Ensuite, éditez le fichier. Renseignez votre login et le serveur Jabber et ajouter l'option : set ssl_ignore_checks = 1

Exemple de fichier de conf :

set jid = foo@jabber.fr
set password = "foo"
set server = im.apinc.org
set ssl_ignore_checks = 1
set nickname = foobar
...

Il y a bien sur d'autre setting disponible comme les alias, mais pour cela je vous invite à aller sur le site de mcabber : wiki mcabber

utilisation :

La fenêtre mcabber est divisée en 4 zones. Le roster, alias buddylist (liste de contacts), se trouve à gauche, et la zone de discussion, ou chat buffer, à droite. La zone de commandes est au bas de la fenêtre, sous la zone d'informations. Deux barres d'état entourent la zone d'informations. La barre d'état inférieure est la "barre d'état principale" et reflète l'état général du logiciel (votre état, en somme). L'autre barre est la "barre d'état de la discusion" et affiche l'état du contact actuellement sélectionné.

Pour afficher l'historique des discussions, vous devrez rentrer en mode discussion (Chat Mode). Pour activer ce mode, appuyez sur la touche Entrée, pour en sortir appuyez sur la touche ESC. Envoyer un message permet aussi d'activer le mode discussion.

Utilisez les touches PageUp/PageDown pour vous déplacer dans le roster.

Je vous invite à lire le manuel ( en anglais ) pour prendre connaissance de toutes les fonctionnatlités : Manuel mcabber

Conclusion

Avec c'est 4 outils vous êtes près à pouvoir surffer, chatter, même quand votre interface graphique vous fait défaut, vous permettant ainsi de trouver une solution à votre problème ( en interrogeant par exemple la communauté Fedora sur irc ).

Cela peut aussi vous permettre de chatter surffer dans une connexion SSL sous putty...

Bref il est clair que ce ne sont pas des outils qu'on utilise tous les jours ( quoi que.....) mais les avoir présent sur son système et déjà paramétré pourra dans certain cas vous sauver la vie ( enfin celle de votre système)...

Je remercie Casper pour toutes les infos et aide sur la config et le partage et ses connaissances sur ces logiciels.

PackageDB-cli

Pierre-Yves Chibon

source.png

Un client text pour pkgdb.

A command-line interface for pkgdb.

English version (no French)

With the help and advices from abadger1999 I have recently been working on pkgdb-cli, a command line version of the famous tool pkgdb.

The idea behind this tool is to allow you to do everything you do on pkgdb without having to use the website. Using it, you can therefore:

  • request ACL for a package
  • approve/deny ACL to someone's ACL request
  • orphan a package
  • check the ACL for a package
  • list the package for a user
  • list all the package in pkgdb
  • and some more :-)

The code is now in a decent shape, nothing fancy but it should work and for now what it needs is testers.

So if you have to request/approve/deny acl, if you want to see the list of packages owned by someone, if you what to check the ACL for your packages and if you feel like, feel free to test it.

And of course, if you run into bugs please report them !

PS: Also Thanks to Haikel for his help