Archive for IT

General ITLes (vraies) statistiques de ponctualité de ma ligne SNCF

L’année dernière, en ayant un peu marre que la SNCF annonce entre 95 et 98% de trains à l’heure sur ma ligne, alors que ce n’était clairement pas mon ressenti, j’ai décidé, dans la mesure du possible, de noter le nombre d’incidents que je subissais au quotidien, afin de pouvoir établir mes statistiques de ponctualité maison.
Passez la souris sur le graphique ci-dessous pour avoir le détail, ou cliquez ici pour voir la version taille réelle.

J’ai donc noté :
Lire la suite

ITUn petit wiki

Ça faisait longtemps que je l’envisageais, mais j’étais un peu découragée par la complexité d’installation d’un Mediawiki : je vous présente le wiki de Linuxine ! J’ai opté pour un petit Tiki Wiki, qui est très facile à installer et configurer. L’idée est d’y regrouper les trucs et astuces que je notais dans la catégorie “IT” mais qui ne touchaient pas forcément tous les lecteurs du blog.
wiki
J’y ai regroupé les astuces de ce blog ,plus quelques autres, en espérant l’étoffer au fil du temps !

ITAlternatives system to switch Firefox

Pour mes tests Selenium, j’ai besoin de pouvoir utiliser une version de Firefox qui ne soit pas la dernière. J’ai donc été confrontée au problème suivant : il y a-t-il une commande simple comme alternatives pour passer d’une installation de Firefox à une autre, comme c’est par exemple possible pour java ? La réponse est oui !

Tout d’abord, on télécharge la version de Firefox qui nous intéresse :

# mkdir -p /opt/firefox
 # wget https://ftp.mozilla.org/pub/firefox/releases/46.0.1/firefox-46.0.1.linux-x86_64.sdk.tar.bz2
 # tar -xvf firefox-46.0.1.linux-x86_64.sdk.tar.bz2
 # mv firefox-sdk/ firefox-46.0.1

Ensuite, on configure la version par défaut et la version custom dans alternatives :


# alternatives --install /usr/local/bin/firefox firefox /usr/bin/firefox 10
# alternatives --install /usr/local/bin/firefox firefox /opt/firefox/firefox-46.0.1/bin/firefox 20
# alternatives --config firefox

There are 2 programs which provide 'firefox'.

Selection Command
-----------------------------------------------
1 /usr/bin/firefox
*+ 2 /opt/firefox/firefox-46.0.1/bin/firefox

Enter to keep the current selection[+], or type selection number:

Si pour une raison quelconque, on veut retourner à l’état antérieur, il suffira de supprimer les installations de alternatives :

# /usr/sbin/alternatives --remove firefox /opt/firefox/firefox
 # /usr/sbin/alternatives --remove firefox /usr/bin/firefox

Source : https://www.g-loaded.eu/2008/06/18/use-the-alternatives-system-to-switch-to-a-custom-firefox-release/

ITOctoGerrit : un thème clean pour Gerrit

Dans ma boîte, on utilise Gerrit comme outil de revue de code. Gerrit est un outil assez bien pensé et pratique, mais il a un gros défaut : l’interface web est vraiment, vraiment très laide, et pas ergonomique pour un sou !

J’ai donc été ravie de découvrir que je ne suis pas la seule à penser cela en découvrant le projet OctoGerrit : “A modern, clean, and usable theme for Gerrit”.

Comme le projet un peu jeune, nous n’avons pas vraiment pu déployer le thème en production. Par contre, il est (relativement) facile de l’appliquer en local, via un plugin comme Stylish, qui permet de changer dynamiquement le style d’un site.

Pour ceux qui ne connaissent pas, la tableau de bord Gerrit, c’est un tableau en pleine page, qui ça ressemble à ça :
dashboard_o

Avec OctoGerrit, ça devient ça :
dashboard

Lorsqu’on veut voir un commit, ça ressemblait à ça :
user-review-ui-change-screen

Avec OctoGerrit, c’est tout de même plus clair :
review-a

Enfin, l’ancienne page de diff, c’était un peu chargé, et un peu web des années 2000 :
user-review-ui-side-by-side-diff-screen

Avec OctoGerrit, on passe sur un diff style github, bien plus efficace :
diff-sbs-comments

Bref, ça change tout ! Cela va me rendre l’utilisation de Gerrit bien plus agréable, et vu le temps que j’y passe au quotidien, c’est très appréciable !

ITRendre logwatch moins verbeux

Logwatch est un outil facile à mettre en place et efficace pour surveiller les logs système.
Par contre, par défaut il envoie des emails tous les jours, et est assez verbeux.
Pour être moins spammée, j’avais déjà paramétré dans dans /etc/logwatch/conf/logwatch.conf un envoi hebdo, et désactivé la surveillance des logs NTPD :


Service = "-XNTPD"
Range ="between -7 days and -1 days"

Mais je recevais tout de même chaque semaine des mails de plus de 500 lignes, plein d’erreurs http, avec la liste des pages en erreur 404, par exemple. Et également la liste de toutes les IP ayant tenté de se connecter en ssh.

Afin de le rendre moins verbeux, on peut déjà demander à n’avoir qu’un résumé des erreurs http. On a alors un total, par exemple :


Requests with error response codes
    400 Bad Request SUMMARY - 8 URLs, total: 28 Time(s)

Pour cela, il faut créer le fichier /etc/logwatch/conf/services/http.conf, avec le contenu :


# Always show only summary for reply codes
# Bad Request
$http_rc_detail_rep-400 = 20
# Unauthorized
$http_rc_detail_rep-401 = 20
# Forbidden
$http_rc_detail_rep-403 = 20
# Not Found
$http_rc_detail_rep-404 = 20
# Method Not Allowed
$http_rc_detail_rep-405 = 20
# Internal Server Error
$http_rc_detail_rep-500 = 20
# Service Unavailable
$http_rc_detail_rep-503 = 20

Pour la section ssh, c’est moins facile, il n’existe pas de variable prédéfinie, il faut passer par des regexp. Je n’ai pas supprimé toutes les lignes contenant des IP afin de ne pas vider complètement la section “Users logging in through sshd”, mais j’ai réduit les sections contenant toutes les erreurs ssh et PAM en ajoutant dans /etc/logwatch/conf/ignore.conf :


###### REGULAR EXPRESSIONS IN THIS FILE WILL BE TRIMMED FROM REPORT OUTPUT #####
# remove the lines like "5.39.218.148: 3 times" from the sshd section
\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\s\d+\stime
# remove the lines like "unknown (p1.plasa.com): 136 Time(s)" from the ssh authentication failures
\(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\):\s\d+\sTime
# remove the PAM lines
PAM
reverse mapping

Je passe ainsi pour le logwatch de la même semaine de 465 lignes à 253, ce qui augmente beaucoup la lisibilité.

ITUpdate Centos 6.5 from PHP 5.4 to 5.5 via Yum shell

When trying to update directly from PHP 5.4 to 5.5, we get a conflict about php-common :

Error: php55w-common conflicts with php54w-common-5.4.45-2.w6.x86_64

Trying to remove php54w-common via yum will not help, since Roundcube is listed as a dependancy of this package, and would be removed to.

So we have to proceed via yum shell. According to his manpage,

yum includes an interactive shell for conducting multiple commands or sets of commands during a single execution of yum.

This way, we can proceed to the removal of php5.4 and the install of 5.5 in a single action ; the dependancies will be evaluated only at the end of the action (and so, roundcube will not be removed by the uninstall of php54w-common.

First, we list the php54 packages to remove :

$  rpm -qa | grep php54w

The, we proceed via yum shell :

sudo yum shell 
> remove php54w-process php54w-gd php54w-common php54w php54w-mysql php54w-xml php54w-mbstring php54w-tidy php54w-pear php54w-cli php54w-mcrypt php54w-pdo
> install php55w-process php55w-gd php55w-common php55w php55w-mysql php55w-xml php55w-mbstring php55w-tidy php55w-pear php55w-cli php55w-mcrypt php55w-pdo
> run

Et voilà !

ITChange the chat window color in Pidgin

To display the chat window with white text on black background, add a file ~/.purple/gtkrc-2.0 with the following content :

# Create a style called "inverted" where the text and base 
 # (the base color behind the widget) are the reverse of typical.
 style "inverted"
 {
    text[NORMAL] = "#FFFFFF"
    base[NORMAL] = "#000000"
 }

 # Apply "inverted" to conversation entry box--where you type.
 widget "*pidgin_conv_entry" style "inverted"

 # Apply "inverted" to conversation history pane--where you read the conversation.
 widget "*pidgin_conv_imhtml" style "inverted"

Restart Pidgin and enjoy ! Source : https://developer.pidgin.im/wiki/Using%20Pidgin#HowdoIchangethefontPidginusesThebackgroundcolor

ITMémo vim

Une petite liste de commandes bien pratiques, au fur et à mesure que je les apprends !

  • mode visual : V
  • mode visual block : ctrl+v
  • aller à la fin d’une colonne/block : G
  • % : next bracket

Pour wraper les lignes à la taille de 80 :

  • visual : v
  • sélectionner les lignes, puis gq pour wrapper (prend le paramètre défini comme textwidth dans le vimrc, pour le définir à la volée, faire : set textwidth=80 par exemple.

Pour splitter la fenêtre en deux et pouvoir comparer deux fichiers :

  • split : vs
  • naviguer entre les vues : ctrl+w ou ctrl+arrow
  • changer de fichier (ouvre l’arborescence) : E
  • historique des fichiers ouverts : F3

Substitution de chaine :

  • %s/foo/bar/g remplace tous les foo par bar

ITSuivi des mises à jour avec yum-cron

Si, comme moi, vous aimez maintenir votre CentOS à jour, vous serez content de découvrir yum-cron !

Ce petit utilitaire bien pratique permet de créer une tâche cron pour vérifier les updates disponibles. On peut paramétrer s’il doit juste vérifier les update de sécurité, par exemple, et s’il doit les installer ou bien juste en vérifier la présence. Il s’installe facilement… via yum.

# yum install yum-cron

Puis, se configure très facilement via son fichier de configuration. J’ai choisi de ne faire que vérifier la présence de mise à jour, de sécurité uniquement, tous les dimanches, et de recevoir un mail de notification.

# vim /etc/sysconfig/yum-cron

 YUM_PARAMETER="--security"

 CHECK_ONLY=yes 
 CHECK_FIRST=yes 
 DOWNLOAD_ONLY=yes 
 MAILTO=xxx
 DAYS_OF_WEEK="0"

Puis lancer le service :

# service yum-cron start
 # chkconfig yum-cron on

Pour en tester le fonctionnement, vous pouvez exécuter le script 0yum.cron qui a été automatiquement ajouté dans /etc/cron.daily. Pensez à modifier au préalable le paramètre RANDOMWAIT du fichier de configuration cité précédemment, sinon vous devrez attendre 60 minutes avant que le script ne s’exécute !

ITMise à jour de Owncloud 8.0 à 8.1

La mise à jour s’est bien passée (mv de l’ancien dossier, dézip du nouveau, récupéreration du config.php et du répertoire data). Mais dans l’interface admin, une erreur étrange “This server has no working Internet connection. “

Cette erreur, qui bloque entre autre l’intégration de Roundcube dans Owncloud – puisqu’il croit qu’il ne peut pas accéder au net !- est due au fait que, pour savoir s’il est connecté à internet, Owncloud tente de faire un curl vers le site Owncloud.org. Déjà, pas top, si leur site est down, donc, le mien va croire que je n’ai plus le net, chouette. Ensuite, je n’ai pas suivi le détail, mais il y avait une histoire de bug dans nss intégré dans le curl utilisé par ma CentOS. Problème : le correctif existe, mais pas dans les version packagées pour ma CentOS. Après avoir farfouillé, j’ai donc pu mettre à jour mon curl avec les commandes suivantes :

# rpm -Uvh http://www.city-fan.org/ftp/contrib/yum-repo/city-fan.org-release-1-13.rhel6.noarch.rpm
 # yum update curl
 # yum update libcurl

Puis, parce que je ne tiens pas spécialement à garder ce repo dans ma liste de repo yum, on l’enlève :

# yum remove city-fan.org-release.noarch

Et voilà ! Un Owncloud 8.1 tout neuf !