samedi 4 mars 2017

Installer le paquet xlsx pour R sous Debian Stretch

Sous R, le paquet 'xlsx' peut être utilisé pour importer des jeux de données stockées dans des fichiers de la suite Microsoft Office. Mais sous Debian Stretch (instable), l'installation du paquet 'xlsx' est un peu compliquée au moment d'écrire ces lignes.

configure: error: Cannot compile a simple JNI program. See config.log for details.
Make sure you have Java Development Kit installed and correctly registered in R.
If in doubt, re-run "R CMD javareconf" as root.

Et si l'on exécute R CMD javareconf :

conftest.c:1:17: fatal error: jni.h: No such file or directory
 #include <jni.h>

Il semble que cela vienne à la fois d'un mauvais paramétrage de R pour utiliser Java et de l'usage d'une version de Java qui a priori n'est pas compatible avec rJava (incompatibilité rapportée ici).

Utiliser OpenJDK 8 et non 9

Commençons par installer OpenJDK 8 sur l'ordinateur en root ou avec la commande sudo :

apt install openjdk-8-jre openjdk-8-jdk

Puis, toujours en root, faisons pointer JAVA_HOME vers le bon répertoire :

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

javareconf dans R

Et ré-exécutons alors R CMD javareconf. Cette fois, tout doit fonctionner et s'achever par :

Updating Java configuration in /usr/lib/R
Done.

En utilisateur non root, il est alors possible de re-démarrer R et d'exécuter l'installation de rJava :

> install.packages("rJava")

install.packages("xlsx")

Plus rien ne s'oppose à l'installation du paquet xlsx désormais :

> install.packages("xlsx")

dimanche 19 février 2017

Réduire l'empreinte mémoire de GitLab en contrôlant le nombre de processus Sidekiq

Par défaut, GitLab démarre 25 processus Sidekiq pour gérer les travaux de tâche de fond de GitLab. Si ce nombre est justifié sur une instance à fort traffic, il y a fort à parier qu'un bien plus petit nombre de processus suffit pour gérer une instance de GitLab de petit volume.

Le nombre de processus Sidekiq se règle aisément dans le fichier /path/to/gitlab/config/sidekiq_queues.yml par ajout de la ligne suivante :

:concurrency: 2

où l'on remplacera "2" par le nombre de processus souhaités. 2 semble suffisant pour ma petite installation GitLab personnelle et ses quelques utilisateurs et dizaines de projets.

Voilà de quoi optimiser l'empreinte mémoire et processeur de GitLab !

Adjust number of Sidekiq processes for GitLab

By default, GitLab starts 25 processes of Sidekiq. If this certainly makes sense on systems with high load, this could be overkill for simple instances of GitLab with only a handful of users and active projects. To reduce memory usage, it is possible to reduce the number of concurrent processes for Sidekiq by adding the following line to the /path/to/gitlab/config/sidekiq_queues.yml file:

:concurrency: 2

Install NodeJS v7.x on Debian Jessie

It is rather easy to deploy NodeJS v7.0 on Debian Jessie. First, it is necessary to add the deb repository for nodejs in /etc/apt/sources.list.d/nodesource.list:

deb https://deb.nodesource.com/node_7.x jessie main
deb-src https://deb.nodesource.com/node_7.x jessie main

Then, let's add a package preference in /etc/apt/preferences.d/node:

Package: nodejs
Pin: release o=Node Source
Pin-Priority: 1200

or

Package: *
Pin: release o=Node Source
Pin-Priority: 1200

I am rather reluctant to use the second option (with the wildcard) as it would imply that the nodesource.com deb repository could replace any package. Without the wildcard, there is a risk to see some dependences not deployed as expected... at the time of writing, it seems that limiting the priority to "nodejs" is sufficient ti have version 7.5.0 installed.

Enjoy!

mercredi 15 février 2017

Installer john (theripper) avec support de multiples coeurs sous Debian Stretch

Par défaut sous Debian Stretch, john (theripper), ami de l'adminsys testeur de la solidité des mots de passe, fonctionne en utilisant un seul coeur/processeur.

Il est nécessaire de recompiler john pour faire usage de multiples processeurs. Pas de panique, cela se fait très aisément.

Il faut d'abord install gcc et make pour permettre la compilation :

apt install gcc make

Ensuite, on télécharge la dernière version de john sur le site d'Openwall :

wget http://www.openwall.com/john/j/john-1.8.0.tar.xz

On décompresse l'archive :

tar xvf john-1.8.0.tar.xz

(si tar ne reconnaît pas tar.xz, c'est qu'il faut installer le paquet xz-utils)

On rentre dans le dossier source de john

cd john-1.8.0/src/

et on modifie le fichier Makefile pour décommenter les lignes OMPFLAGS. Ainsi :

#OMPFLAGS = -fopenmp
#OMPFLAGS = -fopenmp -msse2

devient

OMPFLAGS = -fopenmp
OMPFLAGS = -fopenmp -msse2

On lance alors la compilation par la commande

make linux-x86-64-avx

(attention, la cible peut être différente selon votre processeur et votre système... make vous proposera tous les choix possible si vous l'appelez sans paramètre)

Une fois la compilation terminée, vous pouvez lancer john :

cd ../run/
./john --test

et modifier lors de l'exécution le nombre de coeurs à utiliser si vous le souhaitez :

OMP_NUM_THREADS=1 ./john --test

mardi 14 février 2017

Activate logging and find logs for {Rainloop in Nextcloud}

You can activate Rainloop logging by toggling the enable parameter to On (from Off) in the logs section in the file /path/to/nextcloud/data/rainloop-storage/_data_/_default_/configs/application.ini

[logs]
enable = On

Then logs are then available in /path/to/nextcloud/data/rainloop-storage/_data_/_default_/logs/.

- page 1 de 13