Blog personnel d'Alex Sbille sur les technologies, et autres de mes centres d’intérêts.

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

jeudi 18 décembre 2014

Imprimer via terminal

Avec cups d'installé. Pour lister les imprimantes :

cat /etc/cups/printers.conf
lpstat -p -d

Puis, très pratique pour imprimer de gros volume sans cliquer dans tous les sens:

lpr -h -PRICOH-Aficio-MP-C3300 /tmp/impayees/PDF-FA1*

Partage

vendredi 5 décembre 2014

Scanner via le terminal

Avec le paquet imagemagick d'installé, il est possible de scanner en tiff puis convertir à la volée en jpeg vers un document pdf à l'aide de la commande suivante:

#For list scanners:
scanimage -L

scanimage -d pixma:04A91747_B05FC8 --format=tiff --resolution 150 | convert tiff:- -compress jpeg myfile.pdf

Partage

vendredi 19 septembre 2014

Mosh

Si comme moi vous avez une ligne adsl qui se met a sauter a chaque flash de foudre ou que vous devez parfois vous connecter en ssh à l'aide d'une connexion cellulaire, je vous conseille vivement d'utiliser cet outil: Mosh

Mosh est un outil permettant de se connecter sur un terminal malgré une connexion facheuse sans que votre prompt se gèle lorsque le ping part en vrille.

apt-get install mosh

Lire le manuel : Utilisation de Mosh

Petite contrainte toutes fois, il faut l'installer à distance aussi, il faut donc avoir la main sur le client et le serveur.

Partage

jeudi 8 mai 2014

Potager au 06 mai 2014

Après avoir récolté choux fleurs/brocolis et poireaux, évolution des parcelles pour préparer l'été.

IMAG0001.jpg Ciboulette en fleur, 4 ème année avec renouvellement naturel.

IMAG0002.jpg Artichauts, plantés en août 2013, bientôt prêts à la consommation.

IMAG0004.jpg Patates de 3/4 semaines, fenouil, vigne.

IMAG0005.jpg J'ai laissé quelques poireaux fleurir pour pouvoir re-semer.

IMAG0006.jpg Fenouil en train de monter en fleurs.

IMAG0007.jpg Les tomates qui sont bien parties, malgré une vilaine météo, pas de maladies.

IMAG0008.jpg Fleur de poireau.

Partage

Transferts de fichiers avec MTP, andoid 3+, Jessie, KDE

Par défaut, dans une Debian avec KDE et Jessy en testing tout du moins, un périphérique Android est reconnu mais en tant que caméra. Pour pouvoir écrire sur le périphérique et se connecter en transfert de fichiers, il est nécessaire d'installer KDE MTP KIO Slave et d'éditer un fichier de configuration de KDE

apt-get update && apt-get upgrade && apt-get install kio-mtp
nano /usr/share/kde4/apps/solid/actions/solid_mtp.desktop

In nano: Replace Exec=kioclient exec mtp:udi=%i/ By Exec=dolphin "mtp:/" Ctrl + o for write the file Ctrl + x for quit

Si le périphérique n'est pas en veille ou que le mode veille ne requiert pas de mot de passe pour en sortir, alors ré-branchez le périphérique. Il est maintenant possible de monter le média directement avec l'interface graphique dans KDE en mode "Mémoire de stockage interne" et d'y écrire dessus.

Partage

MTP, andoid 3+, Jessie KDE file transfer

By default, in a Debian Jessie (testing) with KDE, any MTP device is connected as a camera device. So for write support on the media, it's required to install KDE MTP KIO Slave and edit a file.

apt-get update && apt-get upgrade && apt-get install kio-mtp
nano /usr/share/kde4/apps/solid/actions/solid_mtp.desktop

In nano: Replace Exec=kioclient exec mtp:udi=%i/ By Exec=dolphin "mtp:/" Ctrl + o for write the file Ctrl + x for quit

Just verify the device isn't in sleep mode or protected by password, re-plug. It's now possible to mount the media for any KDE application would be able read/write files on the device.

Partage

jeudi 10 avril 2014

Chiffrer ses données avec TCPlay, fork de Truecrypt

La license de truecrypt étant parfois critiquée, je préfère me tourner vers un équivalent libre : TCPlay

L'installation sous debian :

apt-get install tcplay
whereis tcplay
tcplay: /usr/sbin/tcplay /usr/share/man/man8/tcplay.8.gz

Il faut ensuite trouver le premier périphérique de boucle disponible:

losetup -f
/dev/loop0

Puis là ou bon vous semble avec un conteneur de 20 Mo :

dd if=/dev/zero of=foo.tc bs=1 count=0 seek=20M
losetup /dev/loop0 foo.tc
tcplay -c -d /dev/loop0 -a whirlpool -b AES-256-XTS

La clé est demandée deux fois puis tcplay va remplir de volume de données aléatoires.

Il est ensuite nécessaire de relier le volume avec le loop et créer un système de fichiers dedans avant de le monter pour la première fois.

tcplay -m foo.tc -d /dev/loop0
mkfs.ext4 /dev/mapper/foo.tc
mount /dev/mapper/foo.tc /mnt/truecrypt/

Puis pour démonter;

umount /mnt/truecrypt 
dmsetup remove foo.tc 
losetup -d /dev/loop0

Enfin, pour remonter à nouveau:

losetup /dev/loop0 foo.tc 
tcplay -m foo.tc -d /dev/loop0
mount /dev/mapper/foo.tc /mnt/truecrypt/

Partage

lundi 7 avril 2014

Get java oracle working with chromium in debian jessy distro

I use openjdk-7-jre 90% of time but somes applications requires more, so:

echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee -a /etc/apt/sources.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee -a /etc/apt/sources.list
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
apt-get update
apt-get install oracle-java7-installer

For choice management:
update-alternatives --config java
Il existe 3 choix pour l'alternative java (qui fournit /usr/bin/java).

  Sélection   Chemin                                          Priorité  État
------------------------------------------------------------
* 0            /usr/lib/jvm/java-7-oracle/jre/bin/java          1072      mode automatique
  1            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      mode manuel
  2            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      mode manuel
  3            /usr/lib/jvm/java-7-oracle/jre/bin/java          1072      mode manuel

Appuyez sur <Entrée> pour conserver la valeur par défaut[*] ou choisissez le numéro sélectionné :
ln -s /usr/lib/jvm/java-7-oracle/jre/lib/amd64/libnpjp2.so  /usr/lib/chromium/plugins

Partage

vendredi 4 avril 2014

Mettre le tmpdir de Mysql / Mariadb dans la ram / tmpfs

Sur les disque dur mécaniques, les écritures de mysql sont parfois vraiement mauvaises, même en améiorant sensiblement le my.cnf, j'avais besoin d'aller plus loin.

Alors j'ai mis en place un disque tmpfs réservé au sockage du tmpdir:

Préparation de la config de mysql avec seulement une ligne à changer pour modifier la valeur de tmpdir:

nano /etc/mysql/my.cnf

Ajouter ou remplacer la ligne suivante avec le nouveau chemin:

tmpdir          = /var/lib/mysqltmp

Récupérer les privilèges de mysql qu'il puisse exploiter le tmpfs :

id mysql
uid=110(mysql) gid=113(mysql) groupes=113(mysql)

Ajout de la ligne dans le /etc/fstab

nano /etc/fstab

For 500 MB space:

tmpfs   /var/lib/mysqltmp   tmpfs   rw,gid=113,uid=110,size=500m,mode=0750,noatime   0 0

Pas besoin de rebooter, juste:

mount -a && service mysql restart
[ ok ] Stopping MariaDB database server: mysqld.
[ ok ] Starting MariaDB database server: mysqld . ..
[info] Checking for corrupt, not cleanly closed and upgrade needing tables..
df -h
tmpfs                                                    500M     0  500M   0% /var/lib/mysqltmp

Partage

Mysql / Mariadb tmpdir on tmpfs

On spinning disks, write is dramatically slow for some applications, after tweaking my.cnf, I needed more.

So I'm setting up a tmpfs disk an put mysql tmpdir in it:

Prepare mysql config with only replace the tmpdir value with the future path:

nano /etc/mysql/my.cnf

Add or replace tmpdir value with

tmpdir          = /var/lib/mysqltmp

Create the tmpfs with privileges:

Get uid and gid of mysql / mariadb

id mysql
uid=110(mysql) gid=113(mysql) groupes=113(mysql)

Add a line in the /etc/fstab

nano /etc/fstab

For 500 MB space:

tmpfs   /var/lib/mysqltmp   tmpfs   rw,gid=113,uid=110,size=500m,mode=0750,noatime   0 0

No need to restart, just

mount -a && service mysql restart
[ ok ] Stopping MariaDB database server: mysqld.
[ ok ] Starting MariaDB database server: mysqld . ..
[info] Checking for corrupt, not cleanly closed and upgrade needing tables..
df -h
tmpfs                                                    500M     0  500M   0% /var/lib/mysqltmp

Partage

lundi 24 mars 2014

Loggin ip adress of visitors with Varnish3 and Apache2 as a backend

It is natural to find varnish public ip in apache logs but not very secure in my context, so I'll need to configure Varnish 3 using req.http.X-Forwarded-For and apache2 with mod_rpaf

With a debian like:

On the backend server

apt-get install libapache2-mod-rpaf
nano /etc/apache2/mods-enabled/rpaf.conf
<IfModule rpaf_module>
    RPAFenable On

    # When enabled, take the incoming X-Host header and
    # update the virtualhost settings accordingly:
    RPAFsethostname On

    # Define which IP's are your frontend proxies that sends
    # the correct X-Forwarded-For headers:
    RPAFproxy_ips 5.39.38.60 127.0.0.1 ::1

    # Change the header name to parse from the default
    # X-Forwarded-For to something of your choice:
    RPAFheader X-Forwarded-For

</IfModule>
service apache2 reload

On the reverse proxy / varnish server:

Insert after the start of sub vcl_recv :

if (req.restarts == 0) {
  if (req.http.X-Forwarded-For) {
    set req.http.X-Forwarded-For = req.http.X-Forwarded-For + ", " + client.ip;
  } else {
    set req.http.X-Forwarded-For = client.ip;
  }
}

Then reload the configuration and verify a2 logs.

Partage

Log de l'adresse ip du visiteur dans apache2 derrière un reverse proxy varnish3

Varnish, comme tout reverse proxy laissera naturellement son adresse ip dans les logs du backend, ici apache. Dans mon cas, dans un contexte de sécurité, il est nécessaire que le reverse proxy utilise req.http.X-Forwarded-For pour annoncer au backend l'adresse ip du client.

Avec une debian like:

Sur le serveur de backend

apt-get install libapache2-mod-rpaf
nano /etc/apache2/mods-enabled/rpaf.conf
<IfModule rpaf_module>
    RPAFenable On

    # When enabled, take the incoming X-Host header and
    # update the virtualhost settings accordingly:
    RPAFsethostname On

    # Define which IP's are your frontend proxies that sends
    # the correct X-Forwarded-For headers:
    RPAFproxy_ips 5.39.38.60 127.0.0.1 ::1

    # Change the header name to parse from the default
    # X-Forwarded-For to something of your choice:
    RPAFheader X-Forwarded-For

</IfModule>
service apache2 reload

Sur le reverse proxy / varnish:

Insérer après le début de sub vcl_recv :

if (req.restarts == 0) {
  if (req.http.X-Forwarded-For) {
    set req.http.X-Forwarded-For = req.http.X-Forwarded-For + ", " + client.ip;
  } else {
    set req.http.X-Forwarded-For = client.ip;
  }
}

Suivi d'un reload de la configuration.

Partage

dimanche 2 mars 2014

Mass extention rename with linux bash

for f in *.JPG; do mv $f `basename $f .JPG`.jpeg; done;

Partage

Renommage à la chaîne d'extensions sous linux

for f in *.JPG; do mv $f `basename $f .JPG`.jpeg; done;

Partage

vendredi 28 février 2014

Récolte et préparation de choux fleur bien fournis.

Les semis (tous) que j'ai planté dans des pots "biodégradables" ne se sont jamais correctement développés, je suppose à cause du perçage des fibres trop difficile avec mes types de plants (choux-fleur, choux brocolis, salades, fenouils). Cependant, après un simple bêchage, les plants que j'ai achetés chez ***-land ont bien résisté aux grattages de poules (malgré les racines à nus et pied flanchant), chenilles (assez vite maîtrisées avec du savon noir), et mollusques très agressifs dans un premier temps (puis inexistants sur la fin grâce aux poules). J'ai planté les pieds courant août et récoltés mis février, premier test de choux fleur et j'en suis ravis! En dehors du savon noir appliqué deux fois contre les chenilles, quelques arrosages les deux premières semaines sèches et les rondes de nuit anti-mollusques, je n'ai effectué que la récolte et je trouve que le rapport maintenance / récolte de ces choux robuste est très bonne. Au total, 6 choux sur 8 ont été consommés.

Ci dessous, les photos du plus gros (un peu mature certes mais il fait son poids).

Je le cuisine par la suite en purée permettant de nourrir mon fils Léo avec des petits pots en rajoutant des navets du jardin, patates et un peu d’oignons et ail, et la même en salée et poivrée pour Marina et moi. La purée est ainsi mise en petits pots pour conservation au congélateur. Avec deux pieds, j'ai réussi à préparer un quinzaine de pots de 190g + 3/4 portions pour adultes.

IMG_20140216_191756.jpgIMG_20140216_191844.jpg

Partage

- page 1 de 2