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


Mot-clé - planet-libre

Fil des billets - Fil des commentaires

jeudi 10 avril 2014

Bug OpenSSL - CVE-2014-0160

Heartbleed Bug

Je pense que beaucoup d'entre vous ont vu passer l'info, je me contenterai donc de donner quelques liens permettant de sécuriser son routeur sous OpenWRT et son NAS ReadyNAS !

Bug OpenSSL en question : https://heartbleed.com/

Pour tester son site/url : http://filippo.io/Heartbleed/

Mise à Jour OpenWRT

Rendez-vous dans l'interface d'administration luci dans System -> Software et filtrer sur openssl, on constate la version incriminée, passer sur l'onglet "Available packages (openssl) et installer les 2 mises à jour de openssl-util et libopenssl et le tour est joué !

openwrt-opensslMise à Jour ReadyNAS OS 6

Le plus simple est de se rendre sur ce post et de suivre les instructions : http://www.readynas.com/forum/viewtopic.php?f=65&t=75947&start=15#p423049
En gros, cela revient à éxécuter en root les commandes suivantes : 

Pour vérifier la version actuelle :

dpkg -l | grep openssl

Mettre à jour openssl :
wget http://security.debian.org/debian-security/pool/updates/main/o/openssl/openssl_1.0.1e-2+deb7u5_amd64.deb
dpkg -i openssl_1.0.1e-2+deb7u5_amd64.deb
service apache2 restart
service ssh restart

Vérifier la version à nouveau :

dpkg -l | grep openssl

Ensuite, vous pouvez vous rendre sur l'interface d'administration de votre NAS, dans System -> Settings -> Services, cliquer sur HTTPS , changer le nom et regénérer le certificat !

Par la suite, vous pouvez aussi surpprimer vos clé SSH présent sur votre serveur :

rm /etc/ssh/ssh_host_*.pub
rm /etc/ssh/ssh_host_*
rm /root/.ssh/id_rsa.pub
rm /root/.ssh/id_rsa

Voilà ! Vous êtes tranquille ! ;) ... jusqu'à la prochaine faille :D!

jeudi 28 novembre 2013

Quand mon utilisateur n'a pas de droits sur un disque USB formaté en extend 2/3/4

Ceci est plus uns note qu'un article mais bon ... ça peut servir à plus d'un !

J'ai eu besoin de monter un disque dur externe formaté en ext2/3/4 avec les droits pour mon utilisateur sous Fedora, voici la procédure à suivre :

  • connecter son disque dur USB
  • ouvrir un terminal et passer en root (ou sudo) :
  • # su -
  • # setfacl -m d:u::rwx,d:g::rwx,d:m:rwx,d:o:rwx /run/media/utilisateur/uuid
  • # setfacl -m u::rwx,g::rwx,m:rwx,o:rwx /run/media/utilisateur/uuid
Et voilà, votre utilisateur à tous les droits sur le disque USB formaté en ext2/3/4 !

À lire également :

vendredi 17 mai 2013

Quand l'espace de stockage interne de son périphérique mobile sous CyanogenMod n'est pas suffisant

Ceci est juste une note qui peut en intéresser quelques-uns. J'ai eu sur le Galaxy S2 (i9100P) de ma femme et sur le mien (i9000) qui sont sous CyanogenMod 10.1, des problèmes d'espace de stockage interne, sans pour autant avoir sur mes 2 Go la totalité prise par les applications ou leur données.

En utilisant une application telle que DiskUsage (https://play.google.com/store/apps/details?id=com.google.android.diskusage&hl=fr) on se rend compte qu'effectivement il n'y a plus de place, mais ce qu'il y a d'étonnant c'est que j'avais 2 Go de rempli en ayant que 400 Mo en tout d'utiliser d'après les indications de stockage fournies par CyanogenMod.

Ce qu'il faut savoir c'est qu'en fin de compte dans le répertoire qui contient les applications : /data/ , il y a un répertoire log qui empiète sur cet espace interne et peut, s'il se remplit aboutir au problème précédemment cité.

L'astuce consiste donc à vider le contenu de ce répertoire /data/log/ soit en ligne de commande via le terminal

# rm -Rf /data/log/*

Soit via une selection de ces mêmes fichiers par ES Explorer en mode root, puis les supprimer !

Il paraitrait que la non purge de ces logs via CyanogenMod soit un bug. En attendant, ça permet de garder son appareil fonctionnel, car avec ce soucis, les appareils n'étaient pas très stable.

lundi 13 mai 2013

Installation d'une sonde Nagios pour ESXi

Contexte

Pour des besoins concernant l’hébergement que propose ma société, j'ai été amené à gérer un serveur ESXi, du coup, il n'y a pas de raison de ne pas le surveiller, je dirai même que c'est encore plus nécessaire ! On a vite tendance à tomber dans les pièges de la virtualisation qui consistent à charger le serveur avec beaucoup VM s'imaginant que celui-ci augmente ces performances au fur et à mesure de la charge ... :D

Prérequis

Installation des paquets nécessaires

# yum install openssl-devel binutils perl perl-Nagios-Plugin perl-Class-MethodMaker mod_perl libuuid uuid-perl perl-XML-LibXML perl-XML-LibXML-Common

Installation du vSphere SDK Perl

Vous téléchargez le tar.gz : VMware-vSphere-Perl-SDK-5.1.0-780721.x86_64.tar.gz

$ tar xvfz VMware-vSphere-Perl-SDK-5.1.0-780721.x86_64.tar.gz

$ cd vmware-vsphere-cli-distrib

Il y a 2 variables à changer afin de permettre sans encombre l'installation du SDK :

my $httpproxy =0;
my $ftpproxy =0;
par :
my $httpproxy =1;
my $ftpproxy =1;

# ./vmware-install.pl

Problème UUID

Si vous avez encore un soucis d'une dépendance non résolue avec UUID, alors effectuez ceci :

# yum install gcc

$ wget http://search.cpan.org/CPAN/authors/id/C/CF/CFABER/UUID-0.03.tar.gz

$ tar xvfz UUID-0.03.tar.gz

$ cd UUID-0.03

# perl Makefile.PL

# make

# make install

Puis relancez ./vmware-install.pl

Installation du plugin Nagios

Télécharger le plugin ici :http://www.op5.org/community/plugin-inventory/op5-projects/check-esx-plugin

$ cd /usr/local/nagios/libexec/

$ wget http://git.op5.org/git/?p=nagios/op5plugins.git;a=blob_plain;f=check_vmware_api.pl;hb=HEAD

# chown nagios:nagios check_vmware_api.pl

# chmod 755 check_vmware_api.pl

Lançons la commande une première fois et nous obtenons ceci :

$ ./check_vmware_api.pl --help

check_vmware_api.pl 0.7.0

This nagios plugin is free software, and comes with ABSOLUTELY NO WARRANTY.
It may be used, redistributed and/or modified under the terms of the GNU
General Public Licence (see http://www.fsf.org/licensing/licenses/gpl.txt).

VMWare Infrastructure plugin

Usage: check_vmware_api.pl -D <data_center> | -H <host_name> [ -C <cluster_name> ] [ -N <vm_name> ]
    -u <user> -p <pass> | -f <authfile>
    -l <command> [ -s <subcommand> ] [ -T <timeshift> ] [ -i <interval> ]
    [ -x <black_list> ] [ -o <additional_options> ]
    [ -t <timeout> ] [ -w <warn_range> ] [ -c <crit_range> ]
    [ -V ] [ -h ]

 -?, --usage
   Print usage information
 -h, --help
   Print detailed help screen
 -V, --version
   Print version information
 --extra-opts=[section][@file]
   Read options from an ini file. See http://nagiosplugins.org/extra-opts
   for usage and examples.
 -H, --host=<hostname>
   ESX or ESXi hostname.
 -C, --cluster=<clustername>
   ESX or ESXi clustername.
 -D, --datacenter=<DCname>
   Datacenter hostname.
 -N, --name=<vmname>
   Virtual machine name.
 -u, --username=<username>
   Username to connect with.
 -p, --password=<password>
   Password to use with the username.
 -f, --authfile=<path>
   Authentication file with login and password. File syntax :
   username=<login>
   password=<password>
 -w, --warning=THRESHOLD
   Warning threshold. See
   http://nagiosplug.sourceforge.net/developer-guidelines.html#THRESHOLDFORMAT
   for the threshold format.
 -c, --critical=THRESHOLD
   Critical threshold. See
   http://nagiosplug.sourceforge.net/developer-guidelines.html#THRESHOLDFORMAT
   for the threshold format.
 -l, --command=COMMAND
   Specify command type (CPU, MEM, NET, IO, VMFS, RUNTIME, ...)
 -s, --subcommand=SUBCOMMAND
   Specify subcommand
 -S, --sessionfile=SESSIONFILE
   Specify a filename to store sessions for faster authentication
 -x, --exclude=<black_list>
   Specify black list
 -o, --options=<additional_options>
   Specify additional command options (quickstats, ...)
 -T, --timestamp=<timeshift>
   Timeshift in seconds that could fix issues with "Unknown error". Use values like 5, 10, 20, etc
 -i, --interval=<sampling period>
   Sampling Period in seconds. Basic historic intervals: 300, 1800, 7200 or 86400. See config for any changes.
   Supports literval values to autonegotiate interval value: r - realtime interval, h<number> - historical interval specified by position.
   Default value is 20 (realtime). Since cluster does not have realtime stats interval other than 20(default realtime) is mandatory.
 -M, --maxsamples=<max sample count>
   Maximum number of samples to retrieve. Max sample number is ignored for historic intervals.
   Default value is 1 (latest available sample).
 --trace=<level>
   Set verbosity level of vSphere API request/respond trace
 -t, --timeout=INTEGER
   Seconds before plugin times out (default: 30)
 -v, --verbose
   Show details for command-line debugging (can repeat up to 3 times)
Supported commands(^ - blank or not specified parameter, o - options, T - timeshift value, b - blacklist) :
    VM specific :
        * cpu - shows cpu info
            + usage - CPU usage in percentage
            + usagemhz - CPU usage in MHz
            + wait - CPU wait time in ms
            + ready - CPU ready time in ms
            ^ all cpu info(no thresholds)
        * mem - shows mem info
            + usage - mem usage in percentage
            + usagemb - mem usage in MB
            + swap - swap mem usage in MB
            + swapin - swapin mem usage in MB
            + swapout - swapout mem usage in MB
            + overhead - additional mem used by VM Server in MB
            + overall - overall mem used by VM Server in MB
            + active - active mem usage in MB
            + memctl - mem used by VM memory control driver(vmmemctl) that controls ballooning
            ^ all mem info(except overall and no thresholds)
        * net - shows net info
            + usage - overall network usage in KBps(Kilobytes per Second)
            + receive - receive in KBps(Kilobytes per Second)
            + send - send in KBps(Kilobytes per Second)
            ^ all net info(except usage and no thresholds)
        * io - shows disk I/O info
            + usage - overall disk usage in MB/s
            + read - read latency in ms (totalReadLatency.average)
            + write - write latency in ms (totalWriteLatency.average)
            ^ all disk io info(no thresholds)
        * runtime - shows runtime info
            + con - connection state
            + cpu - allocated CPU in MHz
            + mem - allocated mem in MB
            + state - virtual machine state (UP, DOWN, SUSPENDED)
            + status - overall object status (gray/green/red/yellow)
            + consoleconnections - console connections to VM
            + guest - guest OS status, needs VMware Tools
            + tools - VMWare Tools status
            + issues - all issues for the host
            ^ all runtime info(except con and no thresholds)
    Host specific :
        * cpu - shows cpu info
            + usage - CPU usage in percentage
                o quickstats - switch for query either PerfCounter values or Runtime info
            + usagemhz - CPU usage in MHz
                o quickstats - switch for query either PerfCounter values or Runtime info
            ^ all cpu info
                o quickstats - switch for query either PerfCounter values or Runtime info
        * mem - shows mem info
            + usage - mem usage in percentage
                o quickstats - switch for query either PerfCounter values or Runtime info
            + usagemb - mem usage in MB
                o quickstats - switch for query either PerfCounter values or Runtime info
            + swap - swap mem usage in MB
                o listvm - turn on/off output list of swapping VM's
            + overhead - additional mem used by VM Server in MB
            + overall - overall mem used by VM Server in MB
            + memctl - mem used by VM memory control driver(vmmemctl) that controls ballooning
                o listvm - turn on/off output list of ballooning VM's
            ^ all mem info(except overall and no thresholds)
        * net - shows net info
            + usage - overall network usage in KBps(Kilobytes per Second)
            + receive - receive in KBps(Kilobytes per Second)
            + send - send in KBps(Kilobytes per Second)
            + nic - makes sure all active NICs are plugged in
            ^ all net info(except usage and no thresholds)
        * io - shows disk io info
            + aborted - aborted commands count
            + resets - bus resets count
            + read - read latency in ms (totalReadLatency.average)
            + write - write latency in ms (totalWriteLatency.average)
            + kernel - kernel latency in ms
            + device - device latency in ms
            + queue - queue latency in ms
            ^ all disk io info
        * vmfs - shows Datastore info
            + (name) - free space info for datastore with name (name)
                o used - output used space instead of free
                o breif - list only alerting volumes
                o regexp - whether to treat name as regexp
                o blacklistregexp - whether to treat blacklist as regexp
                b - blacklist VMFS's
                T (value) - timeshift to detemine if we need to refresh
            ^ all datastore info
                o used - output used space instead of free
                o breif - list only alerting volumes
                o blacklistregexp - whether to treat blacklist as regexp
                b - blacklist VMFS's
                T (value) - timeshift to detemine if we need to refresh
        * runtime - shows runtime info
            + con - connection state
            + health - checks cpu/storage/memory/sensor status
                o listitems - list all available sensors(use for listing purpose only)
                o blackregexpflag - whether to treat blacklist as regexp
                b - blacklist status objects
            + storagehealth - storage status check
                o blackregexpflag - whether to treat blacklist as regexp
                b - blacklist status objects
            + temperature - temperature sensors
                o blackregexpflag - whether to treat blacklist as regexp
                b - blacklist status objects
            + sensor - threshold specified sensor
            + maintenance - shows whether host is in maintenance mode
            + list(vm) - list of VMWare machines and their statuses
            + status - overall object status (gray/green/red/yellow)
            + issues - all issues for the host
                b - blacklist issues
            ^ all runtime info(health, storagehealth, temperature and sensor are represented as one value and no thresholds)
        * service - shows Host service info
            + (names) - check the state of one or several services specified by (names), syntax for (names):<service1>,<service2>,...,<serviceN>
            ^ show all services
        * storage - shows Host storage info
            + adapter - list bus adapters
                b - blacklist adapters
            + lun - list SCSI logical units
                b - blacklist LUN's
            + path - list logical unit paths
                b - blacklist paths
            ^ show all storage info
        * uptime - shows Host uptime
                o quickstats - switch for query either PerfCounter values or Runtime info
        * device - shows Host specific device info
            + cd/dvd - list vm's with attached cd/dvd drives
                o listall - list all available devices(use for listing purpose only)
    DC specific :
        * cpu - shows cpu info
            + usage - CPU usage in percentage
                o quickstats - switch for query either PerfCounter values or Runtime info
            + usagemhz - CPU usage in MHz
                o quickstats - switch for query either PerfCounter values or Runtime info
            ^ all cpu info
                o quickstats - switch for query either PerfCounter values or Runtime info
        * mem - shows mem info
            + usage - mem usage in percentage
                o quickstats - switch for query either PerfCounter values or Runtime info
            + usagemb - mem usage in MB
                o quickstats - switch for query either PerfCounter values or Runtime info
            + swap - swap mem usage in MB
            + overhead - additional mem used by VM Server in MB
            + overall - overall mem used by VM Server in MB
            + memctl - mem used by VM memory control driver(vmmemctl) that controls ballooning
            ^ all mem info(except overall and no thresholds)
        * net - shows net info
            + usage - overall network usage in KBps(Kilobytes per Second)
            + receive - receive in KBps(Kilobytes per Second)
            + send - send in KBps(Kilobytes per Second)
            ^ all net info(except usage and no thresholds)
        * io - shows disk io info
            + aborted - aborted commands count
            + resets - bus resets count
            + read - read latency in ms (totalReadLatency.average)
            + write - write latency in ms (totalWriteLatency.average)
            + kernel - kernel latency in ms
            + device - device latency in ms
            + queue - queue latency in ms
            ^ all disk io info
        * vmfs - shows Datastore info
            + (name) - free space info for datastore with name (name)
                o used - output used space instead of free
                o breif - list only alerting volumes
                o regexp - whether to treat name as regexp
                o blacklistregexp - whether to treat blacklist as regexp
                b - blacklist VMFS's
                T (value) - timeshift to detemine if we need to refresh
            ^ all datastore info
                o used - output used space instead of free
                o breif - list only alerting volumes
                o blacklistregexp - whether to treat blacklist as regexp
                b - blacklist VMFS's
                T (value) - timeshift to detemine if we need to refresh
        * runtime - shows runtime info
            + list(vm) - list of VMWare machines and their statuses
            + listhost - list of VMWare esx host servers and their statuses
            + listcluster - list of VMWare clusters and their statuses
            + tools - VMWare Tools status
                b - blacklist VM's
            + status - overall object status (gray/green/red/yellow)
            + issues - all issues for the host
                b - blacklist issues
            ^ all runtime info(except cluster and tools and no thresholds)
        * recommendations - shows recommendations for cluster
            + (name) - recommendations for cluster with name (name)
            ^ all clusters recommendations
    Cluster specific :
        * cpu - shows cpu info
            + usage - CPU usage in percentage
            + usagemhz - CPU usage in MHz
            ^ all cpu info
        * mem - shows mem info
            + usage - mem usage in percentage
            + usagemb - mem usage in MB
            + swap - swap mem usage in MB
                o listvm - turn on/off output list of swapping VM's
            + memctl - mem used by VM memory control driver(vmmemctl) that controls ballooning
                o listvm - turn on/off output list of ballooning VM's
            ^ all mem info(plus overhead and no thresholds)
        * cluster - shows cluster services info
            + effectivecpu - total available cpu resources of all hosts within cluster
            + effectivemem - total amount of machine memory of all hosts in the cluster
            + failover - VMWare HA number of failures that can be tolerated
            + cpufainess - fairness of distributed cpu resource allocation
            + memfainess - fairness of distributed mem resource allocation
            ^ only effectivecpu and effectivemem values for cluster services
        * runtime - shows runtime info
            + list(vm) - list of VMWare machines in cluster and their statuses
            + listhost - list of VMWare esx host servers in cluster and their statuses
            + status - overall cluster status (gray/green/red/yellow)
            + issues - all issues for the cluster
                b - blacklist issues
            ^ all cluster runtime info
        * vmfs - shows Datastore info
            + (name) - free space info for datastore with name (name)
                o used - output used space instead of free
                o breif - list only alerting volumes
                o regexp - whether to treat name as regexp
                o blacklistregexp - whether to treat blacklist as regexp
                b - blacklist VMFS's
                T (value) - timeshift to detemine if we need to refresh
            ^ all datastore info
                o used - output used space instead of free
                o breif - list only alerting volumes
                o blacklistregexp - whether to treat blacklist as regexp
                b - blacklist VMFS's
                T (value) - timeshift to detemine if we need to refresh


Copyright (c) 2008 op5


Après un test rapide, nous obtenons une erreur de ce type :
CHECK_VMWARE_API.PL CRITICAL - Server version unavailable at ...
La vérification du certificat pose problème, si vous ne voulez pas le passer en paramètre, utiliser cette option :
--no-certificate-checking
ou rajoutez ceci au début du script perl :
$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;

Configuration de Nagios

Nous allons stocker les identifiants de connexions de l'ESXi dans le fichiers etc/resource.cfg qui ne doit pas être accessible via les CGI

$USER09$=username
$USER10$=password

Ensuite reste à configurer les commandes :

# 'check_esx_cpu' command definition

define command{
        command_name check_esx_cpu
        command_line $USER1$/check_vmware_api.pl -H $HOSTADDRESS$ -u $USER09$ -p $USER10$ -l cpu -s usage -w $ARG1$ -c $ARG2$
        }
 
# 'check_esx_mem' command definition
define command{
        command_name check_esx_mem
        command_line $USER1$/check_vmware_api.pl -H $HOSTADDRESS$ -u $USER09$ -p $USER10$ -l mem -s usage -w $ARG1$ -c $ARG2$
        }
 
# 'check_esx_net' command definition
define command{
        command_name check_esx_net
        command_line $USER1$/check_vmware_api.pl -H $HOSTADDRESS$ -u $USER09$ -p $USER10$ -l net -s usage -w $ARG1$ -c $ARG2$
        }
 
# 'check_esx_runtime' command definition
define command{
        command_name check_esx_runtime
        command_line $USER1$/check_vmware_api.pl -H $HOSTADDRESS$ -u $USER09$ -p $USER10$ -l runtime -s status
        }
 
# 'check_esx_ioread' command definition
define command{
        command_name check_esx_ioread
        command_line $USER1$/check_vmware_api.pl -H $HOSTADDRESS$ -u $USER09$ -p $USER10$ -l io -s read -w $ARG1$ -c $ARG2$
        }
 
# 'check_esx_iowrite' command definition
define command{
        command_name check_esx_iowrite
        command_line $USER1$/check_vmware_api.pl -H $HOSTADDRESS$ -u $USER09$ -p $USER10$ -l io -s write -w $ARG1$ -c $ARG2$
        }

Puis la traditionnelle configuration :

define host{

    use              generic-host
    host_name    myesx1
    alias             myesx1
    address        XXX.XXX.XXX.XXX
}

Et la définition des services :
 


define service{
        use                                  generic-service
        host_name                        myesx1
        service_description            ESXi CPU Load
        check_command                check_esx_cpu!80!90
        }
 
define service{
        use                                  generic-service
        host_name                        myesx1
        service_description            ESXi Memory usage
        check_command                check_esx_mem!80!90
        }
 
define service{
        use                                  generic-service
        host_name                        myesx1
        service_description            ESXi Network usage
        check_command                check_esx_net!102400!204800
        }
 
define service{
        use                                  generic-service
        host_name                        myesx1
        service_description            ESXi Runtime status
        check_command                check_esx_runtime
        }
 
define service{
        use                                 generic-service
        host_name                       myesx1
        service_description           ESXi IO read
        check_command               check_esx_ioread!40!90
        }
 
define service{
        use                                 generic-service
        host_name                       myesx1
        service_description           ESXi IO write
        check_command               check_esx_iowrite!40!90
        }

Conclusion

Voilà, le tour est joué, vous avez un début de supervision de votre serveur ESX ! Pour avoir un monitoring plus fin, je vous invite à parcourir cette documentation : http://www.op5.com/how-to/monitoring-vmware-esx-3-x-esxi-vsphere-4-and-vcenter-server

À lire également :

samedi 13 avril 2013

Urban Lightscape : Un logiciel de retouche de photo dédié au traitement de la lumière

Présentation

Parfois on tombe sur des outils très simples certes, mais aussi très efficaces ! C'est le cas d'Urban Lightscape ! Issu de mon Shaarli : http://www.slobberbone.net/shaarli/?searchtags=editor

Urban Lightscape

Son travail jouer sur les effets de lumière. Point bar ! Si vous voulez faire d'autres choses, il faut aller voir du coté de pinta, gimp ou encore photofiltre lx.

Je vous propose de l'installer sous Fedora avec intégration dans GNOME !

Prérequis

# yum install wxGTK-devel boost-devel

Téléchargement : 

Se rendre ici : http://www.indii.org/software/urbanlightscape/download ou

$ wget http://www.indii.org/files/urbanlightscape/releases/urbanlightscape-latest.tar.gz

Compilation

$ tar xvfz urbanlightscape-1.2.3.tar.gz

$ cd urbanlightscape-1.2.3/

$ ./configure --disable-assert CXXFLAGS="-O3 -g3"

$ make

$ cd ..

$ mv urbanlightscape-1.2.3/ /opt/

# chown -Rf user:user /opt/urbanlightscape*

Votre logiciel est compilé et placé dans /opt/ un répertoire pour ces logiciels n'ayant pas de rpm pour les installé là où il faut :) !

Intégration Gnome Shell

Nous allons créer le fichier urbanlightscape.desktop dans /usr/share/appplications/ et y copier ce qui suit.

# vi /usr/share/applications/urbanlightscape.desktop

[Desktop Entry]
Version=1.2.3
Type=Application
Name=Urban Lightscape
GenericName=Image Light Editor
Comment=For photographers who love light
Exec=/opt/urbanlightscape-1.2.3/urbanlightscape
Icon=urbanlightscape
Terminal=false
Categories=Graphics;2DGraphics;RasterGraphics;GTK;
StartupNotify=false
MimeType=image/bmp;image/g3fax;image/gif;image/x-fits;image/x-pcx;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/tiff;image/jpeg;image/x-psp;image/png;image/x-icon;image/x-xpixmap;image/x-wmf;image/jp2;image/jpeg2000;image/jpx;image/x-xcursor;

Une fois fais, il reste à placer une icône issue du site :

# cd /usr/share/icons/

# wget http://www.indii.org/images/urbanlightscape_48.png

# mv urbanlightscape_48.png urbanlightscape.png

Et voilà, le tour est joué !

À lire également :

mardi 26 mars 2013

Quand VMware Workstation boude le kernel 3.8 ...

Comme de coutume, à chaque mise à jour du kernel, VMware part en vrille, jusqu'à maintenant, je n'avais pas trop à me plaindre, je n'avais que le problème de liens vers les sources du kernel.

vmware workstation 9

Là plus gênant, Le module vmci ne compile plus avec la dernière version 3.8 du kernel Linux.

C'est parti pour l'application du patch qui va bien :

Vous pouvez télécharger le patch ici : vmware9.k3.8rc4.patch

Ou bien directement exécuter les lignes suivantes :

$ wget http://communities.vmware.com/servlet/JiveServlet/download/2182440-102649/vmware9.k3.8rc4.patch

# cd /usr/lib/vmware/modules/source/

# tar -xf vmci.tar

# cd vmci-only/

# patch -p1 < 'chemin/vmware9.k3.8rc4.patch'

# cd ..

# tar -cf vmci.tar vmci-only/

Il ne vous reste qu'à relancer VMware Workstation ou Player afin de terminer la compilation des modules et le tour est joué !

À lire également :

Quand VMware Workstation cherche les sources du kernel ...

Votre VMware Workstation se lance et vous demande le chemin des source de votre kernel, et à chaque mise à jour du noyau, ça sera le cas !

Que faire pour qu'il retrouve ces petits ? soit utiliser une des nombreuses alternatives libres (^^), soit à chaque fois exécuter ce qui suit :

# cp /usr/include/linux/version.h /lib/modules/maversiondemondernierkernel.fc17.x86_64/build/include/linux/

vmware kernel sourceVoilà, mémo à 2 balles, mais j'en avais ras le bol de rechercher dans l'historique de mon terminal !

À lire également :

mercredi 20 mars 2013

Monter un partage NFS sous CentOS/Fedora

Aujourd'hui, une petite note permettant de monter un partage NFS. Ca sert toujours de garder ça dans un coin ;) !

Prérequis

Installation du client nfs :

# yum install nfs-utils nfs-utils-lib

Démarrage des services :

# service rpcbind start
# service nfs start

On s'assure de les lancer au démarrage de notre machine :

# chkconfig rpcbind on

# chkconfig nfs on

Vérifions le bon démarrage des services avec :

# netstat -nlp

Configuration

Ajouter dans /etc/fstab :

ip_du_serveur:/data/mon_rep_nfs  /mnt/mon_rep_nfs   nfs      rw,sync,hard,nointr,_netdev  0     0

Voici quelques explication (Merci à penthium2 ;) ) :

  • L’option rw indique que le système de fichier à monter est accessible en lecture et écriture
  • L’option sync indique que le système de fichier à monter est synchrone
  • L’option hard indique que le s'il y a un problème d'accès au partage NFS, alors la requête est ré-exécutée en boucle
  • L’option nointr indique qu'in signal peut interrompre les opérations sur le montage (si hard, éviter intr qui pourrait entrainer une corruption des données
  • L’option _netdev indique que le système de fichier à monter est un système de fichiers distant et doit donc être monté une fois que le réseau est actif
  • En savoir plus : http://linux.die.net/man/5/nfs

Ensuite on recharge le fichier de montage :

# mount -a

Nous voilà avec notre client configuré !

À lire également :

lundi 18 mars 2013

check_file_content : Plugin Nagios tout terrain pour consulter le contenu d'un fichier

Présentation

Ce projet est un projet sous licence GPL v2. Cette commande est un plugin pour Nagios 3.x, développé en PERL et oui, on prend les mêmes et on recommence ;) )

Son objectif est de permettre de consulter un fichier local ou sur le réseau et de retourner des alertes selon la présence ou non d'une suite de mots passés en paramètre. Dans un premier temps, le plugin ne prend en compte que le protocol samba, mais ça ne devrait pas être compliqué d'en intégrer d'autres.

Ce plugin permet de :

  • Retourner le nombre d'occurrences d'un mot ou d'une expression contenue dans un fichiers local ou distant.Des alertes peuvent être levées si le nombre d'occurrences est inclue un minimum de fois ou à l'inverse s'il est exclu du fichier (ou présent au maximum n fois). Les limites étant définies par les seuils critique et warning passés en paramètres

Pour le reste, je vous laisse parcourir le fichier, tout doit être dedans ;)  et assez explicite ! Sinon, vous savez où me trouver ;)

Installation

Vous l'aurez compris, pour l'utiliser, il suffit d'un serveur Nagios (Installer Nagios sur CentOS sans RPM) sur lequel vous aurez installé les packages suivant :

# yum install perl perl-Filesys-SmbClient

Une fois fais, il ne vous reste qu'à placer check_file_content.pl dans le répertoire libexec de votre arborescence Nagios :

# chmod +x check_file_content.pl

Et voilà, le tour est joué !

$ perl check_file_content.pl --help

Check_file_content for Nagios, version 1.0
GPL licence, (c)2013 Slobberbone

Site http://www.slobberbone.net

Usage: check_file_content.pl -f <file> -P <protocol> [-u <user> -p <password> -d <domain>] -s <"search_expression"> -t <check_type> [-w <warn_level> -c <crit_level>] -V
-h, --help
print this help message
-f, --filepath=PATHTOFILENAME
full path to file to analyze
-P, --protocol=PROTOCOL
protocol used to acess file :
LOCAL for local file (default),
SMB for CIFS file
-u, --user=USER
user to login
-p, --password=PASSWORD
password
-d, --domain=DOMAIN
domain name
-s, --search="EXPRESSION", if empty looks for lines present in the file
expression to search in the specified file
-t, --check_type=TYPE
Type of search :
INCLUDE for include at least the critical option, then the warning option
EXCLUDE for exclude with a maximum of founded expression smaller than critical option
-w, --warn=INTEGER
number that will cause a warning
-c, --critical=INTEGER
number that will cause an error (Default: 1)
-V, --version
prints version number
Note :
The script will return
* With warn and critical options:
OK if we are able to found expression and the count result respect <warn_level> and depending check_type,
WARNING if we are able to found expression and the count result unrespect <warn_level> and depending check_type,
CRITICAL if we are able to found expression and the count result unrespect <crit_level> and depending check_type,
UNKNOWN if we aren't able to read the file

Configuration

Pour que ce plugin soit opérationnel avec notre serveur de supervision Nagios (ou Shinken), il faut ajouter dans le fichier commands.cfg :

# 'check_file_content' command definition
define command{
    command_name    check_file_content
    command_line    $USER1$/check_file_content.pl -f $ARG1$ -P $ARG2$ -u $ARG3$ -p $ARG4$ -d $ARG5$ -t $ARG6$ -s $ARG7$ -w $ARG8$ -c $ARG9$
    }

Puis, il ne vous reste plus qu'à l'appeler de la manière suivante :

define service{
    use            generic-service
    host_name        my_file_server
    service_description    Include at least 4 instances of "Provider : OK" in mytest.log
    check_command        check_file_content!smb://server/dir/file.log!SMB!user!password!domain!INCLUDE!"Provider : OK"!5!3
    normal_check_interval    10
}

Et voilà, il ne reste plus qu'à modifier ce projet pour vos propres besoins ! Pour ça, direction SourceForge.net !

Si vous avez des questions, les commentaires sont ouverts !

À lire également :

mercredi 13 mars 2013

Authentification SSH par agent sur CentOS/Fedora

Contexte

Lorsque l'on manipule des serveurs sous GNU/Linux, on utilise de manière quasiment exclusive nos si chères et si pratiques/efficaces/magiques commandes en utilisant très souvent le Secure Shell aussi appelé : SSH !

J'ai un serveur qui héberge ce blog entre autre et un NAS chez moi afin d'y entreposer ces indispensables sauvegardes ! Quoi de mieux que de passer par un script pour effectuer les différentes opérations ! Voilà que notre script peut très rapidement avoir besoin de copier un certains nombre de fichiers vers ce NAS via la commande scp par exemple. Tout ceci est parfait mais comment ne pas devoir entrer son mot de passe ou le stocker en clair à l'aide d'une quelconque bidouille ou commande bizarres ? Utiliser un système d'authentification proposé par ce formidable outil !

Prérequis

Tout d'abord vérifions coté serveur que nous disposons bien des paquets nécéssaires et l'autorisation d'authentification par clé RSA :

# yum install openssh-server openssh-client openssh

$ grep RSA /etc/sshd_config RSAAuthentication yes

Que notre serveur SSH est lancé et se lance au démarrage du serveur ( ;) ):

# /etc/init.d/sshd status ou # service sshd status

# chkconfig sshd on

S'il n'est pas démarré, un simple # service sshd start doit suffire !

Fonctionnement

Un schéma vaut mieux qu'une explication :
cle-rsa.pngSource : http://geekfault.org - license Creative Commons

Génération d'une clé RSA ou DSA

Une fois ce qu'il faut d'activé et de configuré côté serveur, nous nous rendons sur le client. C'est sur cette machine que nous ne voulons plus rentrer ce mot de passe si long et compliqué :)

Rendez vous dans votre home de l'utilisateur qui voudra se connecter au serveur SSH sans donner de mot de passe mais en utilisant ce système d'authentification.

$ cd

$ ssh-keygen -t rsa

Generating public/private dsa key pair. Enter file in which to save the key (/home/monuser/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/monuser/.ssh/id_rsa. Your public key has been saved in /home/monuser/.ssh/id_rsa.pub. The key fingerprint is: 8f:80:d8:c5:3d:9s:0b:10:66:42:9c:84:45:a1:d0:14 monuser@monserveur

Nos clés se trouvent en théorie dans /home/monuser/.ssh/ avec comme nom id_rsa et id_rsa.pub.

Retenez bien la passphrase renseignée car elle nous servira encore ! Elle sert de base à l’algorithme de génération de la clé privée, donc plus elle est compliquée en combinant des chiffres/lettres/ponctuations majuscules/minuscules, mieux c'est !

Sécurisation de la clé privée

Nous allons mettre la clé privée en lecture seule pour le propriétaire de la clé et aucun droit pour les autres utilisateurs :

$ chmod 400 ~/.ssh/id_rsa

Modifier la passphrase

$ chmod u+w ~/.ssh/id_rsa
$ ssh-keygen -p -f ~/.ssh/id_rsa
$ chmod u-w ~/.ssh/id_rsa

Exporter la clé publique

Comme vu ci-dessus, 2 clés ont été générées ; une privée que l'on ne communique pas et une publique que l'on va transférer sur le serveur SSH :

$ cat .ssh/id_rsa.pub | ssh monuser@monserveur \ "cat - >>~/.ssh/authorized_keys"

Votre mot de passe est demandée, normal, vous effectuez l'opération et ensuite on teste en listant le contenu du répertoire home de monuser :

$ ssh monuser@monserveur ls

Là il nous demande la passphrase et affiche le résultat de la commande ls ! Plus de mot de passe ! ... mais une passphrase ... :(

Automatiser le stockage de la clé privée (passphrase)

Démarrer l'agent

Pour cela nous allons utiliser un agent SSH, c'est lui qui va s'occuper de stocker en mémoire la clé privée :

Pour cela nous allons lancer l'agent, puis un shell supplémentaire avec les variables d'environnement qui l'identifient :

$ ssh-agent /bin/bash

Ajouter une clé

Nous fournissons notre clé privée à l'agent via un simple :

$ ssh-add

Qui nous demande une dernière fois la passphrase et le tour est joué !

Vérifions :

$ ssh monuser@monserveur ls

Nous obtenons le résultat de la commande ls sans avoir rentré quoique ce soit !

Supprimer une clé

$ ssh-add -d ~/.ssh/id_rsa

À lire également :

vendredi 1 mars 2013

check_bdd_request : Plugin Nagios tout terrain pour requêter des bases de données

Bonjour à tous, j'ai eu un besoin particulier concernant le monitoring en place au sein d'Opti-Time. du coup, ni une, ni deux après une brève recherche, je n'ai pas trouvé mon bonheur, alors hier soir , j'ai pris mes 2 mains et hop au boulot ! Ce fût rapide et vous le verrez il n'y a rien d'extraordinaire ! Mais voilà que ça a donnée naissance à un projet de plus : http://www.slobberbone.net/dotclear/index.php?pages/check_bdd_request

Je vous recopie la page ici même pour en faire profiter un maximum ;) !

Présentation

Ce projet est un projet sous licence GPL v2. Cette commande est un plugin pour Nagios 3.x, développé en PERL.

Son objectif est de permettre d’exécuter n'importe quelle requête à un serveur de base de données. Dans un premier temps, cela ne fonctionne qu'avec un serveur MySQL, mais ça ne doit aps être compliqué de faire ce qu'il faut pour PostgreSQL, Oracle, etc ...

Ce plugin permet 2 choses pour le moment :

  • Retourner une information dans Nagios sans qu'elle est un impact en terme d'alerte (check_type=TEXT). Le but est de remonter par exemple la version d'un logiciel stockée en base, ou tout autre indicateur quelconque qu'il soit un chiffre ou du texte.
  • Retourner un compteur de résultat de la requête SQL exécutée (check_type=NUMERIC). D'autres plugin Nagios font déjà ce travail, hors j'ai un premier besoin qui est de pouvoir lever une alerte alors que nous passons les seuils fixés, ou à l'inverse, lorsque la valeur n'atteint pas le seuil voulu. Parcourant le résultat, cette commande pourra très facilement être adaptée pour traiter des résultats plus complexes (prochaines versions).

Pour le reste, je vous laisse parcourir le fichier, tout doit être dedans ;)  et assez explicite ! Sinon, vous savez où me trouver ;)

Installation

Vous l'aurez compris, pour l'utiliser, il suffit d'un serveur Nagios (Installer Nagios sur CentOS sans RPM) sur lequel vous aurez installé les packages suivant :

# yum install perl perl-DBD-MySQL perl-DBI

Une fois fais, il ne vous reste qu'à placer check_bdd_request.pl dans le répertoire libexec de votre arborescence Nagios :

# chmod +x check_bdd_request.pl

Et voilà, le tour est joué !

$ perl check_bdd_request.pl --help

Check_MySQL_request for Nagios, version 1.0
GPL licence, (c)2013 Slobberbone

Site http://www.slobberbone.net

Usage: ./check_bdd_request.pl -H <host> -u <user> -p <password> -d <database> -P <port> -q request -t check_type -o <operator> [-w <warn_level> -c <crit_level> -T <timeout>] -V
-h, --help
print this help message
-H, --hostname=HOST
name or IP address of MySQL server
-u, --user=USER
mysql user to login
-p, --password=PASSWORD
mysql password
-d, --database=DATABASE
mysql database name
-P, --port=PORT
Http port
-q, --request="REQUEST"
Request to execute on the server
-t, --check_type=TYPE
Type of return :
NUMERIC,
TEXT
-o, --operator=OPERATOR
Operator :
EQ for =,
LT for <,
GT for >,
LE for <=,
GE for >=,
DIF for !=
-w, --warn=INTEGER
number that will cause a warning completed by the OPERATOR
-1 for no warning
-c, --critical=INTEGER
number that will cause an error completed by the OPERATOR
-T, --timeout=INTEGER
timeout in seconds (Default: 15)
-V, --version
prints version number
Note :
The script will return
* With warn and critical options:
OK if we are able to connect to the MySQL server and #request count result respect <warn_level>,
WARNING if we are able to connect to the MySQL server and #request count result unrespect <warn_level>,
CRITICAL if we are able to connect to the MySQL server and #request count result unrespect <crit_level>,
UNKNOWN if we aren't able to connect to the MySQL server

Configuration

Pour que ce plugin soit opérationnel avec notre serveur de supervision Nagios (ou Shinken), il faut ajouter dans le fichier commands.cfg :

# 'check_bdd_request_numeric' command definition
define command{
    command_name    check_bdd_request_numeric
    command_line    $USER1$/check_bdd_request.pl -H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -d $ARG3$ -P $ARG4$ -q $ARG5$ -t $ARG6$ -o $ARG7$ -w $ARG8$ -c $ARG9$
    }

# 'check_bdd_request_text' command definition
define command{
    command_name    check_bdd_request_text
    command_line    $USER1$/check_bdd_request.pl -H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -d $ARG3$ -P $ARG4$ -q $ARG5$ -t $ARG6$
    }

Puis, il ne vous reste plus qu'à l'appeler de la manière suivante :

define service{
    use            generic-service
    host_name        my_bdd_server
    service_description    A text value for display information like a version for example
    check_command        check_bdd_request_text!user!password!database!3307!"Select column_name from my table where row_text='value'"!TEXT
    normal_check_interval    60
}

define service{
    use            generic-service
    host_name        my_bdd_server
    service_description    A numeric value for display information and compare with operator to the Warning or Critical values
    check_command        check_bdd_request_text!user!password!database!3307!"Select column_name from my table where row_text='value'"!NUMERIC!LT!2!5
    normal_check_interval    60
}

Et voilà, il ne reste plus qu'à modifier ce projet pour vos propres besoins ! Pour ça, direction SourceForge.net !
Pour le reste, les commentaires sont ouverts sur la page du projet !

À lire également :

lundi 25 février 2013

Shaarli - Comment bien gérer ses liens Internet ?

Contexte

Voilà quelque jours que j'ai mis en place un outil génial : Shaarli ! (Je ne vais pas vous faire l'affront de vous expliquer ici ce qu'il faut faire pour l'installer ... tout est sur le site du projet et c'est extrêmement simple !)

Shaarli, c'est exactement l'outil qu'il me manquait pour organiser/partager différents liens que je glane par-ci par-là sur la toile.

En ce qui me concerne, je trouve qu'un lien n'est pas suffisant pour alimenter un billet et pourtant, parfois plusieurs liens sur une thématique peuvent l'être !

Seulement, cela fait souvent du travail en plus pour les mettre en forme et puis c'est doubler les actions : stocker dans ces favoris/oufichiertxtàlarrache puis les coller dans un billet ... c'est bien connu l'informaticien est faignant ... du coup j'avais opté pour Google+ ... C'est à mis chemin entre créer un billet avec tout et un descriptif pour chaque lien et juste mettre une ligne en plus dans monfichiertctàlarrache. Là c'est cool, on colle le lien, le reste est fait tout seul ... Bon, c'est bien, mais ça reste sur et via Google ... et puis lorsqu'il s'agit de rechercher un lien ca devient vite la galère !

C'est la que Shaarli m'est apparu, j'avais déjà dû le voir passer depuis sa création ... mais j'avais pas pris le temps de regarder de plus près !

Présentation

Comme c'est simple, je ne vais pas m'attarder longtemps, juste donner 2-3 petits trucs sur ce que fait cet outils !

Tools

Une fois connecté et authentifié, vous avez accès au menu Tools, c'est via celui-ci que le minimum de configuration peut être fais. C'est aussi en bas de cet écran que vous pourrez glissez dans vos bookmarks/favoris/raccourcis un bouton permettant d'ajouter rapidement et simplement les liens que vous désirez inclure dans votre Shaarli !

Shaarli_-_Tools.pngShaarli_-_Add_link.png

Vues

Une fois vos liens répertoriés, vous avez plusieurs manières de les visionner et de les partager : flux RSS, nuage de Tags, pages de liens ou encore à la façon d'un journal quotidien !

Shaarli_-_Slobberbone_s_Link.pngShaarli_-_Tags.pngShaarli_-_Daily_Links.png

Une démonstration vaut mieux qu'un long discours, voici mon Shaarli accessible depuis ce même blog via le menu en haut : http://www.slobberbone.net/shaarli/

À lire également :

vendredi 8 février 2013

Cubox - Mise à jour du U-boot et installation d'une distribution GNU/Linux

Prérequis

Téléchargements et préparation de la clé USB

Tout d'abord il faut télécharger ces 2 fichiers (disponibles ici : http://download.solid-run.com/pub/solidrun/cubox/installer/ ) : 

cubox-installer-0_1.zip

cubox-installer-0_2.zip

Dézipper cubox-installer-0_2.zip sur une clé USB formaté en fat32 ou ext2, sur laquelle on obtient :

/boot

Ouvrir le cubox-installer-0_1.zip et dézipper u-boot.bin dans /boot de la clé USB.

Installation des prérequis

# yum install minicom

# minicom -s

  • Choose 'Serial port setup'
  • Click A, and fill in serial device - for example /dev/ttyUSB0
  • Click E, and choose 115200 8N1 by click E,Q, then enter
  • Click F to disable Hardware Flow Control
  • If needed, click G to disable Software Flow Control, then enter
  • Now select 'Save setup as dfl'. Next time you run minicom without the '-s' flag, the saved parameters will be used
  • Press exit, leaving configuration and enter console

Une fois fait, plus besoin de le reconfigurer, on peut le lancer directement :
# minicom

Afin de connaitre le ttyUSB à utiliser, il suffit de faire appel à dmesg :

# dmesg | grep ttyUSB

Mise à jour de U-boot

Préparation et lancement

  • Vérifier que minicom est lancé
  • Brancher en microUSB le Cubox avec accès internet + hdmi + cléUSB avec les fichiers téléchargés plus tôt
  • Brancher le Cubox et appuyer sur une flèche ou autre touche du clavier aussitôt. Nous obtenons ceci :B
minicom-uboot
Il y a un  bug concernant mon u-boot, il m'affiche être en 5.4.4 NQ alors que 
CuBox>>version
me retourne 5.4.4_SR1 ... où j'ai loupé un truc (probable).
Bref, du coup on force le "burning boot" ;) :

Clé USB en ext2

CuBox>>if ext2load usb 0:0 0x00200000 /boot/u-boot.bin;
>then run pre_burn;
>sf write 0x00200000 0 0x00080000;
>run post_burn; fi
Si cela ne donne rien :
CuBox>>if ext2load usb 0:1 0x00200000 /boot/u-boot.bin;
>then run pre_burn;
>sf write 0x00200000 0 0x00080000;
>run post_burn; fi

Clé USB en fat32

CuBox>>if fatload usb 0:0 0x00200000 /boot/u-boot.bin;
>then run pre_burn;
>sf write 0x00200000 0 0x00080000;
>run post_burn; fi
Si cela ne donne rien :
CuBox>>if fatload usb 0:1 0x00200000 /boot/u-boot.bin;
>then run pre_burn;
>sf write 0x00200000 0 0x00080000;
>run post_burn; fi
Selon la clé et le port, ca se met à démarrer sur le bon u-boot et force la mise à jour.

Installation de la distribution via Cubox_Installer

Ensuite il ne reste qu'à lancer l'installer et on se laisse porter par la vague ;) Si vous avez peur d'être perdu, il suffit de suivre ceci : http://www.solid-run.com/mw/index.php/CuBox_Installer mais c'est tout de même assez clair et explicite :) !Le plus dur a été fait avant ;) !
Voilà le résultat : 
GeekBox - cuboxEt au niveau écran HDMI : 
GeekBox_XBMC.jpg

À lire également :

jeudi 10 janvier 2013

OwnCloud Client - Client portable Windows

Certains l'auront compris, je me suis mis à OwnCloud, Si ce n'est pas le cas, je vous invite à lire ou relire les billets suivants :

Ma femme souhaitant s'en servir à son travail, rencontre un soucis, Le poste est sous Windows, jusque là, c'est ok vu qu'il y a un client pour chaque OS : http://owncloud.org/sync-clients/, mais il réponds à certaines règles de sécurité qui n'autorise pas l'installation de logiciel et du coup impossible d'installer ce client.

Qu'a cela ne tienne ! J'ai installé le client Windows en version 1.1.4 via Wine sur ma Fedora. Une fois l'installation réalisée, j'ai extrait le répertoire d'installation de l'arborescence construite par Wine ! Et voilà le travail, il ne reste plus qu'à copier le dossier sur le client Windows et lancer le fichier owncloud.exe, le reste relève de la configuration, la même que lors de l'utilisation standard !

owncloud_windows_portable

Pour ceux que ça intéresse, voici l'archive de cette version 1.1.4 : owncloud.zip

À lire également :

mercredi 9 janvier 2013

Quand rrdtool fait des siennes ... sur CentOS

En souhaitant terminer une installation de Cacti et le coupler à Nagios à l'aide de n2rrd, j'ai dû me préoccuper d'installer des prérequis que sont rrdtool et rrdtool-perl.

Seulement, voilà Un petit yum install rrdtool perl-rrdtool me génère cette erreur :

Loaded plugins: dellsysid, fastestmirror

Loading mirror speeds from cached hostfile

 * base: centos.crazyfrogs.org

 * epel: mir01.syntis.net

 * extras: centos.crazyfrogs.org

 * jpackage-generic: mirror.ibcp.fr

 * jpackage-generic-updates: mirror.ibcp.fr

 * updates: centos.crazyfrogs.org

Setting up Install Process

Resolving Dependencies

--> Running transaction check

---> Package rrdtool-perl.x86_64 0:1.2.27-3.el5 set to be updated

--> Processing Dependency: rrdtool = 1.2.27-3.el5 for package: rrdtool-perl

--> Processing Dependency: librrd.so.2()(64bit) for package: rrdtool-perl

--> Running transaction check

---> Package rrdtool.i386 0:1.2.27-3.el5 set to be updated

---> Package rrdtool-perl.x86_64 0:1.2.27-3.el5 set to be updated

--> Processing Dependency: librrd.so.2()(64bit) for package: rrdtool-perl

--> Finished Dependency Resolution

rrdtool-perl-1.2.27-3.el5.x86_64 from epel has depsolving problems

  --> Missing Dependency: librrd.so.2()(64bit) is needed by package rrdtool-perl-1.2.27-3.el5.x86_64 (epel)

Error: Missing Dependency: librrd.so.2()(64bit) is needed by package rrdtool-perl-1.2.27-3.el5.x86_64 (epel)

Visiblement, déjà installé, il y atout de même un problème ...
En réalité, je mélange ici, le dépôt RPMForge et EPL (pas bien !!!), du coup on désinstalle la version de RPMForge et on installe ceux d'EPEL !
yum remove rrdtool
Puis on relance notre yum install :
yum install rrdtool perl-rrdtool
Et voilà, il y a plus qu'à continuer !

À lire également :

lundi 29 octobre 2012

gSharkDown - un client GTK du site de musique en ligne GrooveShark

Petit tour d'horizon des plateformes de musique en streaming

Depuis un moment je n'utilisais plus Spotify, tout simplement parce qu'il faut obligatoirement un compte Facebook ... no comment. Deezer, il faut du flash alors évidemment, ça n'attire pas !

J'avais découvert Myousic.me, il y a  des applications pour smartphones et l'interface est en HTML. Jusque là tout va bien. Cependant, évidemment on veut toujours plus et une application pour GNU/Linux-Fedora ou une interface plus complète manque (à mon goût).

myousicme

J'ai redécouvert Grooveshark interface sympa, j'ai trouvé les quelques morceaux que je cherchais, impeccable.

grooveshark

Cependant, ne demandez pas pourquoi, j'avais envie d'avoir une application cliente plutôt que le navigateur. En cherchant rapidement je suis tombé sur gSharkDown !

En plus de gérer ses playlist, tout comme on peut le faire en ligne sur le site, ce logiciel permet le téléchargement des pistes au format mp3. Peut mieux faire pour le format de stockage, j'en conviens, mais je n'ai qu'à acheter le CD et l'extraire en FLAC !

gSharkDown-download

Bref un logiciel sympa, qui vaut le coup de connaitre !

Installation sous Fedora

# yum install python-configobj

# wget https://bitbucket.org/vkolev/gsharkdown/downloads/gsharkdown-0.7.0-2.noarch.rpm

# yum localinstall gsharkdown-0.7.0-2.noarch.rpm

Le tour est joué !

gSharkDownLe petit plus, gSharkDown se met dans la barre de notification, très pratique pour gérer vos lectures :) !

À lire également :

vendredi 26 octobre 2012

Mise à jour d'ownCloud depuis mon ReadyNas Ultra 4

Version française

Note avant toute migration d'ownCloud

Je ne saurai vous conseiller de faire des sauvegardes à la fois régulièrement mais aussi avant chaque mise à jour ! De plus, il est conseillé de monter de version dans le dernier patch d'ownCloud avant d'upgrader à la version majeur ou mineur du dessus !

Vous l'aurez deviné, j'ai donc migré en 2 étapes, 2 fois la même manipulation d'affilé vu que le plugin ReadyNas que je cite dans ce billet : OwnCloud - Partage de fichiers est en version 4.0.4.

Migration d'ownCloud pour ReadyNas basé sur l'add-on de ReadyNasXtras

Connectez-vous en SSH à votre ReadyNas, si besoin vous pouvez utiliser ce plugin : Enable SSH

Téléchargement et installation

#!/bin/bash

cd /tmp
rm -Rf owncloud*.*
#wget http://mirrors.owncloud.org/releases/owncloud-latest.tar.bz2
wget http://mirrors.owncloud.org/releases/owncloud-4.5.5.tar.bz2
#rm -Rf /usr/share/owncloud_*
mv /usr/share/owncloud/ /usr/share/owncloud_save
#tar -xjf owncloud-latest.tar.bz2
tar -xjf owncloud*.bz2
mv owncloud /usr/share/
chown -R admin:admin /usr/share/owncloud/
cd /usr/share/owncloud/
ln -s /c/.owncloud/data/ data
cp -R ../owncloud_save/config/ ./
cp -R ../owncloud_save/.htaccess ./
cp -Rn ../owncloud_save/apps/ ./
chown -R admin:admin /usr/share/owncloud/
cd /etc/frontview/
apache-ssl -f /etc/frontview/apache/httpd.conf -k restart

Explication

Bon, je vous dois qd même une petite explication, une fois le fichier téléchargé, on sauvegarde l'ancienne instance d'ownCloud afin d'un de sécuriser l'opération et surtout parce qu’il y a des fichiers de configuration que l'on souhaite récupérer :

3 répertoires et 1 fichier:

  • config
  • data (qui se trouve être un lien symbolique vers /c/.owncloud/data, car me demandez pas pourquoi, mais /c/ est un autre point de montage ayant le plus d'espace ! pourquoi un /c/ et non /home ... ??? merci Netgear !!!)
  • .htaccess
  • apps (contient les plugins éventuellement ajoutés)

Sans ça, vous retrouveriez pas vos petits et surtout, sans le dernier, La planète aurait accès à vos fichiers :D !

Votre nouvelle version est maintenant déployée ! Il ne vous reste plus qu'à vous rendre sur https://mon_ip_ou_mon_dns/owncloud/ et vous connecter !

Migration du client ownCloud en 1.1.1 pour Fedora

Tout d'abord, il faut penser à désactiver ou enlever le dépôt utilisé précédemment :

# vi /etc/yum.repo.d/isv\:ownCloud\:community.repo

...
enabled=1
...

...
enable=0
...

Personnellement, j'ai dû désinstaller owncloud-client et mirall :

# yum remove owncloud-client mirall

Ensuite, même combat que pour la version 1.0.5 du client :

# cd /etc/yum.repos.d/
# wget http://download.opensuse.org/repositories/isv:ownCloud:devel/Fedora_16/isv:ownCloud:devel.repo
# yum install owncloud-client

On se retrouve avec un nouveau dépôt dédié à ce nouveau client ownCloud ... l'histoire ne dit pas comment le repository va évoluer, quid de la prochaine version ?

Pour le client mobile android, une reconfiguration peut être nécessaire après le passage à la 4.5.1 d'ownCloud.

Bilan 4.5.1 d'ownCloud

J'avoue être réellement conquis ! Avec cette mise à jour, les quelques bugs comme la déconnexion qui ne fonctionnait pas sur l’interface web, ou une synchronisation via cette même interface qui était limite. Là on à vraiment l'impression d'un outil plus abouti et toujours si prometteur ! Seule ombre au tableau, l'"Instant Upload" qui fonctionnait bien avant à l'air de vouloir faire des siennes ... à vérifié car le client Android m'indique bien que le fichier à été téléversé ! :) !

Je pense attaquer le reste maintenant que l'installation et la mise à jour sont fiables :) ! J'ai commencé d'ailleurs à utiliser les modules d'édition de fichier texte ou LibreOffice :) C'est très très sympa !

English Version

Notes before ownCloud update

At first, make backup !!!! Daily or weekly, and before update ! On the ownCloud website, it advice to update all patches before upgrade to the new version.

So, has you supppose, I updates in 2 steps with the same way because ReadyNas add-on that I use in this article : OwnCloud - Partage de fichiers is in 4.0.4 version.

OwnCloud update on ReadyNas based on ReadyNasXtras's add-on

Connect with SSH to your ReadyNas, for that you need this plugin : Enable SSH

Download and installation

#!/bin/bash

cd /tmp
rm -Rf owncloud*.*
#wget http://mirrors.owncloud.org/releases/owncloud-latest.tar.bz2
wget http://mirrors.owncloud.org/releases/owncloud-4.5.5.tar.bz2
#rm -Rf /usr/share/owncloud_*
mv /usr/share/owncloud/ /usr/share/owncloud_save
#tar -xjf owncloud-latest.tar.bz2
tar -xjf owncloud*.bz2
mv owncloud /usr/share/
chown -R admin:admin /usr/share/owncloud/
cd /usr/share/owncloud/
ln -s /c/.owncloud/data/ data
cp -R ../owncloud_save/config/ ./
cp -R ../owncloud_save/.htaccess ./
cp -Rn ../owncloud_save/apps/ ./
chown -R admin:admin /usr/share/owncloud/
cd /etc/frontview/
apache-ssl -f /etc/frontview/apache/httpd.conf -k restart

Explanation

So, I give you some explanation, after the download of the last version (maybe, the link is not good and you have to update to link to the version you want, each time), we save the old ownCloud instance to secure our operation ;) and also because there are some configuration files which we want to keep :

3 folders and 1 file :

  • config
  • data (which is a symbolic link to /c/.owncloud/data,I don't know why, but /c/ is an other mounted point with more space (all HDD added in the nas)! Why a /c/ and not an /home directory like under linux... ??? thanks Netgear !!!)
  • .htaccess (for secure access)
  • apps (contains owncloud add-on)

Less that, you lose all you specific configuration ... it would be bad :/

so your new ownCloud version is up to date ! Go to https://my_ip_or_my_dns/owncloud/ and connect you !

Update sync client ownCloud in the 1.1.1 version on Fedora

So you have to disable or remove the old repository :

# vi /etc/yum.repo.d/isv\:ownCloud\:community.repo

...
enabled=1
...

...
enable=0
...

In my case, I have to remove owncloud-client and mirall :

# yum remove owncloud-client mirall

then, same way for install version 1.0.5 of sync-client :

# cd /etc/yum.repos.d/
# wget http://download.opensuse.org/repositories/isv:ownCloud:devel/Fedora_16/isv:ownCloud:devel.repo
# yum install owncloud-client

It works, you have only one last thing : configure it ;) !

for the android client cell, just a new configuration may be necessary when you'll be in 4.5.1 of ownCloud server.

Resume ownCloud 4.5.1

I'm very exited about this program ! And after this last update, many bugs are fix, like this one about the logout on the website ! It seems really a good job and on all sync-client too (InstantUpload works fine on my Android, etc ...)

Have fun !

À lire également :

Note : Installation VMware-Converter Fedora x86_64

Une note très rapide sur l'installation de VMware-Convertor sur Fedora 17, Penser à exécuter les commandes suivantes une fois l'installation effectuée :

mkdir -p /etc/vmware-converter/ssl

touch /etc/vmware-converter/ssl/rui.crt

touch /etc/vmware-converter/ssl/rui.key

C'est tout :) !

À lire également :

jeudi 25 octobre 2012

OwnCloud - Partage de fichiers

Et si ... et si enfin je quittais (un peu) Google ???

Cela fait longtemps que je rêve de disposer du tout synchronisé ! Google l'a fait !

Au départ, je ne voulais pas réellement y mettre le doigt, mais avec un Samsung Galaxy S2 sous Android, puis CyanogenMod 10 maintenant, il faut avouer que c'est très tentant, et j'ai craqué ! C'est trop facile ...

Pourtant à la lecture de l'article de Dada, je me suis dis, mince, ça doit maintenant pouvoir se faire ! Surtout que j'ai un ReadyNas Ultra 4 chez moi !

J'avais tenté il y a quelque temps Tonido, mais le client Android est une horreur et je n'ai jamais eu le temps d'aller voir plus loin ... Là j'ai gouté à ownCloud ! Attention, c'est très prometteur !!!!

Installation sur ReadyNas Ultra 4

Je me suis simplifié la vie en achetant la module ownCloud fournis par un membre de la communauté Netgear ReadyNas. Facile, rapide, on participe en finançant à hauteur de 2€, on va pas chipoter !

Et voilà, c'est partie, ownCloud tourne sur mon serveur :

owncloud_readynasIl faut préciser que ownCloud nécessite une version récente de php, du coup j'ai aussi acheté le module PHP que fournit ReadyNasXtra. Il reste à cliquer sur

Access your ownCloud

Et nous voilà sur l'interface de connexion d'ownCloud puis voici le vif du sujet :

owncloud_start

Installation du client pour ma Fedora

Étant en version 4.0.X et non 4.5 à l'heure actuelle, il faut le client ownCloud en version 1.0.5 et non la toute dernière 1.1.1 (plus d'informations sur le site)

Pour Fedora, dans la version 4.0 d'ownCloud, nous disposons d'un dépôt !

# cd /etc/yum.repos.d/
# wget http://download.opensuse.org/repositories/isv:ownCloud:community/Fedora_16/isv:ownCloud:community.repo
# yum install owncloud-client

Il ne reste qu'à le lancer manuellement ou au démarrage de la session :

$ gnome-session-properties

Vous ajoutez votre entrée en précisant owncloud comme commande et le tour est joué !

Je ne vous ferez pas l'affront de vous expliquer comment remplir les différents (3) paramètres que sont l'url, le nom d'utilisateur et le mot de passe :) ! Surtout que le menu administration en bas à gauche dans l'interface web d'ownCloud donne tout ce qu'il faut !

Installation du client pour ma CyanogenMod

Une fois de plus, c'est extrêmement simple, Vous recherchez owncloud sur le market et je vous laisse deviner la suite ! Même combat que pour le client PC !

Vous pouvez configurer le compte dans les paramètres de CyanogenMod/Android dans la partie compte, ownCloud est proposé ! Je rajoute un fichier sur mon PC dans le répertoire partagé ownCloud et voici le résultat
:

owncloud_android

Ce fichier (ma tronche) est bien sur ma Fedora, ou l'inverse ... :D owncloud_fedora

Rapide bilan

C'est beau n'est-ce pas ? Bon il reste encore à faire avec les calendriers, les contacts, etc ... J'ai testé l'"Instant Upload" qui permet d'automatiquement uploader téléverser vos photos fraichement prises avec votre téléphone, ça fonctionne très bien !

Génial pour les sauvegardes ! Par contre, je ne vois pas mes répertoire dans l'interface web ... c'est bizarre. J'ai fais joujou rapidement, donc je ne peux pas encore faire un vrai retour, il faut que je creuse, mais une chose est sûre, ça donne clairement envie d’approfondir le sujet et c'est très prometteur ! J'ai hâte de me pencher sur la mise à jour 4.5.1, et voir comment faire avec le module ReadyNas ... les derniers clients apporteront surement plus de possibilités également !

Bref, je suis très agréablement surpris ! Tellement que ça me donne une idée d'article pour Muffin !

À lire également :

mardi 23 octobre 2012

Rotation de vidéo avec Mencoder

Ceci est une note afin de ne pas oublier comment faire la prochaine fois que j'utiliserai ma caméra embarquée pour une rando VTT comme un manche :) !

En effet, j'ai eu la bonne idée de filmer ce que je faisais avec une caméra Oregon. Super, sauf qu'évidemment, je l'ai tourné un quart de trop ! Donc soit je tourne mon écran si je veux regarder le résultat, soit je fais un fichier vidéo retouché pour ne plus avoir à faire fonctionner mon muscle stérno-cléido-mastoïdien, car admettons-le tourner son écran de 90° n'est pas toujours simple ... du coup on préfère tourner la tête !

Après tout ce blabla, et un # yum install mencoder lame lame-libs

Il ne me reste plus qu'à utiliser la commande suivante :

mencoder -ffourcc XVID -oac mp3lame -lavcopts acodec=mp3:abitrate=128 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=800 -vf rotate=2 mon_fichier.avi -o mon_nouveau_fichier.avi

Ici, la "seule" option qui m'interesse se trouve être rotate qui peut prendre 4 valeurs :

0 Rotation de 90 degres sens horaire et flip (par defaut).  
1 Rotation de 90 degres sens horaire   
2 Rotation de 90 degres sens anti horaire   
3 Rotation de 90 degres sens  anti-horaire et flip. 

Et voilà le travail, rien d'extraordinaire, mais ça me permettra de l'avoir sous la main pour la prochaine bourde :) !

À lire également :

- page 1 de 2