Archive for Linuxine

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é.

GeneralBonne année 2016 !

Nous sommes encore le 1er pour quelques heures, il n’est donc pas trop tard pour vous souhaiter une très bonne année 2016 ! En espérant qu’elle soit plus joyeuse que 2015 au niveau de l’actualité… Pour ce réveillon, j’ai également fait avec les moyens du bord, comme l’année dernière, je vous laisse trouver en quelle matière est réalisé ce magnifique centre de table ! 😉

2016

GeekUn service Git auto hébergé avec Gogs

logo gogsAprès avoir réalisé plusieurs modifications de mon GetGarfield, et avoir constaté que c’est plutôt fastidieux de versionner du code à la main sous Owncloud, je me suis décidée à le versionner sous git. Comme pour partager du code sous git, une interface web c’est plus sympa et accessible aux non initiés, j’ai d’abord considéré utiliser un service git web comme Github ; bien pratique, mais pas open source. Je me suis du coup tournée vers le Gitlab mis en place par Framasoft : c’était mieux (Gitlab est open source) mais il manquait quelque chose. Gitlab étant codé en ruby, ça avait l’air un peu galère à installer sur une Centos 6. Et puis j’ai découvert Gogs, qui avait l’air joli, léger, et se disait simple d’installation.

Alors oui, l’installation est simple, par contre, la configuration en tant que service, pas tant que ça, surtout que la doc est assez succincte : par exemple, il faut un utilisateur dédié (et plutôt appelé git) pour le lancer, et ça n’est pas vraiment bien documenté (comme si l’utilisateur git existait par défaut sur toutes les machines, bin non, les gars…). J’ai utilisé le rpm proposé, et je n’aurais peut être pas du : il met des fichiers de config un peu partout, et on ne sait pas bien lequel est utilisé pour lancer le produit en tant que service… Et puis c’est écrit en Go, donc c’est Google, donc il estime que mon certificat autosigné pour mes mails, il est tout pourri, et il ne veut pas en démordre (même si on lui dit de ne pas le vérifier, tétu, on vous dit).

Bref, après quelques galères, tadaa ! Mon propre git.linuxine.net. Avec mon GetGarfield comme premier projet, bien sûr 😉 gog Si vous voulez l’utiliser, j’ai désactivé les inscriptions par mesure de sécurité, mais je peux vous créer un compte sans souci. Je vous laisse juger, Gogs me parait assez bien fichu, c’est effectivement léger, joli et plutôt bien pensé. Mais maintenant qu’il est installé, j’hésite à le mettre à jour ! 😉

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à !

GeekSauvez les liens – bis

logoOn en est toujours au même point depuis mon dernier post sur le sujet : la commission Européenne examine un projet pour limiter les possibilités de partager des liens sur le net, que ça soit via de la censure dans les réseaux sociaux, ou carrément via une taxe sur certains liens… Oui, oui, vous avez bien lu, ils veulent attaquer le fondement même d’Internet.

OpenMedia organise une campagne pour faire entendre notre voix : ils ont même prévu un formulaire avec des questions traduites du langage “juridique-volontairement-inaccessible-au-commun-des-mortels” vers le notre.

Pour participer, rendez-vous sur ce formulaire, et répondez à une ou plusieurs des questions ! Et n’hésitez pas à partager, tant qu’on le peut encore…

GeekMiniflux, le lecteur de flux RSS minimaliste

Parmi les nombreuses applications installées sur mon serveur, je ne comptais pas encore de lecteur de flux RSS auto-hébergé. Il fallait donc remédier à ce manque ! J’ai opté pour Miniflux, un lecteur qui se veut minimaliste, car leurs arguments étaient irrésistibles, je cite :

I suppose you don’t like bloated software? Me too. There is no fancy technologies, we don’t care about the last hipster framework. Less is more! L’installation est on ne peut plus simple : on récupère l’archive sur leur page de download, puis on la dézippe dans le répertoire qui va bien, un petit fichier de configuration Apache, et le tour est joué ! Il n’y a même pas besoin de base, c’est du sqlite.

J’ai rajouté un petit thème un peu plus joli, récupéré sur github. Un petit screenshot pour donner une idée :

miniflux

Et voilà, un lecteur minimaliste mais qui fait bien le job, et assez joli je trouve. Et il y a même une application Android !

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

GeekUn GetGarfield en python

Il y a 7 ans déjà, je réalisais mon premier programme en Java : une application “GetGarfield” pour afficher et sauvegarder le comics Garfield du jour, à partir de son site officiel. Avec un petit sélecteur de date et la possibilité de naviguer avec des flèches entre les comics.

Hélas, l’adresse du site a changé récemment, et mon petit programme n’arrivait donc plus à récupérer les images. Comme c’était un jar, il me fallait les sources pour le modifier, mais je ne les avais plus… j’ai donc décidé de refaire une application dans un langage que je connais maintenant, le Python. J’ai choisi de faire un pyGTK, car cela permet de construire facilement des jolies fenêtres en Python. Et contrairement au programme d’origine, j’ai réussi (presque) toute seule à le réaliser en seulement quelques jours ! Presque, parce qu’il m’a fallu la patience de Taz et l’aide de mon collègue David – c’est pas facile, les variables globales en python!

Cet exercice m’a permis de me familiariser avec le traitement des dates, la persistance dans des fichiers json, et bien sûr dans la gestion des différents objets graphiques. Je ne suis pas mécontente du résultat, je pense que c’est même plus poussé que l’original !

Par contre, ça ne fonctionne facilement que sous Linux. Sous Windows, c’est un peu compliqué à lancer, il faut installer python et les lib pyGTK.

Vous pouvez télécharger les fichiers ici : au choix, prendre le zip, ou bien le fichier .py et le txt, à mettre dans le même dossier. Par défaut, cela enregistre les Garfield dans /tmp/, mais c’est paramétrable dans Edit > Preferences.

Pour donner une idée, voici un petit screenshot. La fenêtre est noire car j’ai un thème noir sur ma Debian, mais sinon, cela s’adapte au thème système. GetGarfield

J’attends vos remarques ! 😉

MusiqueFrog Leap Studios

Depuis que j’ai regardé la version Disney de “la Reine des Neiges”, j’ai facilement la chanson principale dans la tête, “Libérée, Délivrée”, où “Let It Go” en V.O. Et mes collègues ne se privent pas pour la fredonner, afin pour que j’en profite ensuite toute la journée !

Et voilà qu’au hasard d’une recherche Google, je tombe sur cette pépite : une reprise métal de Let It Go. Et une super bien faite, en plus ! C’est simple, on ne dirait pas la même chanson, celle là est carrément mieux ! En allant voir la chaine Youtube de celui qui l’a enregistrée, au nom de Frog Leap Studios, j’ai découvert qu’il avait fait pas mal d’autres reprises très réussies, sur des titres au style très divers, comme des chansons de Lady Gaga, du ABBAa, du Mickael Jackson… Bref, je suis fan ! J’hésite à acheter ses albums sur Amazon, même.

Allez, un petit coup de “Let It Go” pour la route ! En plus la mise en scène est rigolote. 😉

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