walk-hoary

Utiliser NFS dans openvz/proxmox

L’usage de NFS est possible dans openvz (je l’utilise avec proxmox 3.3 via wheezy). Je souhaite vous donner quelques prérequis à connaitre :

Monter un serveur NFS sous un conteneur VZ demande :

  • Avoir le module nfs chargé sur l’hyperviseur
  • Avoir la feature nfs activée dans le conteneur
  • Avoir partagé un répertoire NFS. exemple pour moi : /mnt/datas      10.9.1.0/24(ro,sync,no_subtree_check,no_root_squash)

Monter un partage NFS depuis un conteneur VZ demande :

  • Avoir le module nfs chargé sur l’hyperviseur
  • Avoir la feature nfs activée dans le conteneur
  • Monter le partage via le fichier mount de proxmox et non depuis le fstab du conteneur (si vous utilisez le fstab, votre VM ne demarrera pas, si vous faites un mount depuis le conteneur, vous aurez « mount.nfs: No such device »). Ci dessous un exemple de mon /etc/vz/conf/116.mount que j’ai crée (le point de montage doit exister sinon le conteneur ne démarre pas) :

#!/bin/bash
source /etc/vz/vz.conf
source ${VE_CONFFILE}
mount -t nfs 10.9.1.222:/mnt/datas ${VE_ROOT}/mnt/remote-datas

 

Reverse proxy et X-Real-IP

Pas mal d’articles en font déjà mention. Mais une partie n’apparait pas souvent, c’est le fait de journaliser l’ip originale et non celle du reverse !

Editez le nouveau fichier /etc/nginx/conf.d/proxy.conf et insérez (où 10.9.100.33 est mon reverse) :

set_real_ip_from   10.9.100.33;
real_ip_header     X-Real-IP;

Redémarrez nginx.

Si vous utilisez apache, alors installez et activez le module rpaf ! et ajoutez l’ip de vos reverse dans la configuration du nouveau module apache.

Raid logiciel visible sur Windows & Linux

Il est possible de créer un raid logiciel qui soit utilisable sous Microsoft Windows et GNU/Linux. J’utilise cela pour agréger 2 disques de 500Go en RAID0 pour avoir un espace de 1To plus réactif.

Depuis Windows dans un premier temps :

  • Convertir les disques en disques dynamiques
  • Créer votre volume raid logiciel depuis Windows (Sous windows le RAID0 ou stripping est appelé « aggrégat »)
  • Attribuez une lettre et placez y quelques données pour pouvoir vérifier plus plus tard

Depuis Linux enfin :

  • Installez les paquets libldm et mdadm qui serviront pour l’accès aux disques dynamique et au raid, il sera probablement nécessaire de rebooter sur le nouveau noyau (je n’ai pas bien vu)
  • Créez le volume avec la commande : mdadm –build /dev/md0 –chunk=64 –level=0 –raid-devices=2 /dev/sdd1 /dev/sde1
    • Adaptez à votre cas (level=0 pour raid0, –raid-devices pour le nombre de disques)
    • Utilisez bien la partition et non le disque
  • Et voilà, votre partition raid est accessible via le périphérique /dev/md0 que vous pouvez monter par mount /dev/md0 /mnt/raid
  • Vous pouvez l’ajouter à votre fstab :
    • UUID=5C24F8E224F8BFD6 /mnt/raidNTFS ntfs-3g defaults 0 0
    • Vous pouvez connaître les UUID de vos disques avec le répertoire /dev/disk/by-uuid/

 

Découper et rassembler un fichier en morceau

Parfois en déplacement, je dispose d’une connexion 1Mbps voir moins. Pour télécharger un fichier plus rapidement je me sers de plusieurs connexion internet pour aller plus vite. (mon téléphone, celui d’un amis…)

Exemple pour un fichier de 900Mo, je vais le découper en fichiers de 100Mo et télécharger 3 morceaux sur la connexion internet de mon hôte, 3 autres morceaux avec mon téléphone, et 3 autres morceaux avec un autre abonnement.

Pourquoi 3 par devices ? Car cela donne 100Mo ce qui permet de télécharger plus rapidement le ou les derniers morceaux sur la connexion la plus rapide.

Découper un fichier

split -b 100m monfichier.zip

Cela va générer plusieurs fichiers monfichier.xaa mofichier.xab …

Télécharger

Sur le device 1 :

wget -c http://qth.fr/monfichier.xaa http://qth.fr/monfichier.xab http://qth.fr/monfichier.xac

L’option -c permet de rédémarrer un téléchargement là où il en était, vous pouvez donc interrompre avec CTRL-C à votre guise. (ou suspendre/resume CTRL-Z … $fg)

 

Rassembler un fichier

Mettez tous vos fichiers ensembles

cat monfichier.*  > monfichier.zip

 

Et voilà !

Script bash mono-instance

Voici un petit script bash à inclure dans votre script si vous souhaitez qu’il ne soit lancé qu’une seule fois. Je l’ai fait à La Rache dans le but qu’un rsync ne se lance pas plusieurs fois.

Vous pouvez l’inclure par un simple :

. /usr/local/bin/run_once.sh

 

/usr/local/bin/run_once.sh

#!/bin/sh
SCRIPTNAME=`basename $0`
export LOCKSYNC="/var/run/$SCRIPTNAME.lock"
PID=$$
echo "["`date +"%Y/%m/%d %H:%M:%S"`"] Demarrage du script $0"
if [ -f "$LOCKSYNC" ]
then
echo "Fichier lock "$LOCKSYNC" present. Deja en cours ?"
PIDLOCK=`cat $LOCKSYNC`
if [ -f /proc/$PIDLOCK/exe ]
then
echo "Le process semble etre toujours en cours. Lancement de $SCRIPTNAME impossible."
exit
else
echo "Le process ne semble plus etre en cours, Lancement de $SCRIPTNAME"
rm $LOCKSYNC
fi
fi
echo "Creation du lock "$LOCKSYNC
echo $PID > $LOCKSYNC

Pour le fonctionnement, il va créer un fichier lock correspondant au nom du script qui indiquera si le programme est déjà lancé ou non. Si le lock est présent, le script va également vérifier que le processus est toujours actif.

Je m’en sers dans la machine proxy transparent qui sert de dépôt locaux lors de nos install party. Cela est particulièrement utile car nous sommes plusieurs admins sur la machine en question.

Et joyeuses fêtes !

À tous ces plateforme anti-spam à la con comme messagelabs.com

Aujourd’hui, je reçois un email d’un utilisateur qui n’arrive pas contacter un client par email. Effectivement, le serveur, ici messagelabs.com refuse de communiquer avec notre serveur d’envoi.

Soit ! Il arrive que des serveur soit blacklistés… Je consulte donc la page d’aide communiqué par le MTA distant. J’obtient un email et envoie les infos habituels. Et là c’est le drame ! On me dis simplement : Vous ne pouvons pas traiter votre demande car vous n’êtes pas client.

Okay… Alors on va demander au client de contacter lui même sa plateforme antispam… Réponse : Vous n’êtes pas le contact autorisés à nous demander quoi que ce soit.

Mais bordel, symantec ! Ca vous amuse de blacklister des serveurs sans explication ?? Oui oui symantec, car messagelabs.com est leur plateforme anti-spam.

Outre le fait que l’on ne peut pas joindre l’adresse email précisé dans le message d’erreur (pas de formulaire), ces derniers se foutent complément de la gueule du monde en ayant un support aussi mauvais.

Symantec, vous n’avez pas compris le principe d’internet, je n’achèterais jamais de produit chez vous !

Services – Non je ne suis pas mort

Petit coucou rapide… J’ai toujours fait en sorte que les quelques services sur ce site soit fonctionnel car je m’en sert souvent pour ne pas dire tous quotidiennement. Je vous les fait donc partager car il s’agit de logiciel libres.

Les logiciels que je mets à disposition

Partage de texte

http://paste.qth.fr

Il s’agit de zerobin, un pastebin dont le contenu coté serveur est chiffré par la clé contenue dans l’url. Il a des options interessante comme le fil de conversation ou la destruction après lecture.

Upload d’image

http://pix.qth.fr

Lui est très récent, il permet de mettre en ligne une image. j’utilisais toujours celui des TDCT ou toile-libre.org mais j’ai fini par créer le miens.

Rédaction collaborative

http://pad.qth.fr

Il s’agit d’un framapad pour écrire un texte avec plusieurs participant (en live) en donnant simplement l’URL du « pad ».

Agrégateur de RSS

http://rss.qth.fr

C’est mon lecteur RSS en ligne, il est basé sous tiny-tiny-rss. Il a un client sous Android très bien fait. Je l’utilise plusieurs fois par jour et le recommande si vous avez beaucoup de flux à surveiller. Si cela vous interesse, vous pouvez l’auto-héberger ou vous créer un compte sur le miens. (Places limitées)

Gestionnaire de bookmarks

http://links.qth.fr

Il s’agit là de mes bookmarks personnels que je rend public (ou non) en y indiquant une description. Ces bookmarks peuvent être surveillées par flux rss. Cela est basé sous shaarli, je l’utilise plusieurs fois par jour de n’importe où. (et la rivière de shaarlis ici)

Sondages

http://studs.qth.fr/

Pour créer des sondages en ligne. (de studs. Il en existe d’autres tel que papillon)

Redmine

http://labs.qth.fr

Pour gérer mes projets personnels. Il s’agit là de projets relativement fermés ou peu interessant pour le monde.

Statusnet

http://status.qth.fr/

Pourquoi je le garde ? Car il fonctionne bien ! Malheureusement peu utilisé.

Mindmap

http://mindmap.qth.fr/

Pour faire rapidement des mindmap (de mindmaps)

Dessins SVG en ligne

http://svg.qth.fr/

Pour dessiner vite fait… (de svg-edit)

Les autres services que j’utilise

Yourls pour créer des liens courts ou mémotechnique. Cela permet en autre de gérer la destination de vos liens ou visualiser les stats car il s’agit de redirection.

Subsonic pour écouter ma musique ou la partager. Un bonne application cliente sous android existe aussi.

Redmine pour la lecture de mes emails

owncloud pour la gestion de mes contacts et de mon agenda. Je l’utilise sur mon android afin de me libérer de google sur ces 2 aspects.

piwigo pour gérer mes statistiques à la façon google analytics.

Agenda et contacts android ? Ho oui avec Owncloud !

Retour d’utilisation Owncloud sur Android

Cet article va vous intéresser si vous souhaitez garder une certaine indépendance avec votre mobile android. J’utilisais depuis peu gmail pour synchroniser contact et calendrier car c’était complètement automatique, ouvert, accessible via un navigateur. Sauf que bon, autant j’apprécie google mais je préfère gérer mes données personnelles comme je le fait avec mes emails !

 

J’ai testé Owncloud, et je du coup il tourne depuis car il a été très simple à mettre en place chez moi. (Des simples scripts PHP). Il offre la synchronisation carddav et caldav que l’on attend, il permet de consulter/modifier son calendrier et ses contacts via l’interface web simplement. Mais j’ai bien aimé aussi qu’il puisse synchroniser des répertoires de mon pc un peu comme à la dropbox. En effet il existe plein de client pour avoir un backup ou un répertoire que vont considérez important et le synchroniser sur votre serveur (même sur android pour vos photos par exemples) . La copie de ce répertoire n’est pas chiffrée ; même si c’est votre serveur, j’aurais aimer y glisser un clé de chiffrement un peu comme Firefox le fait avec sa synchronisation de préférence. (Que vous pouvez aussi auto-héberger 😉 ).

 

Coté synchronisation Android, j’ai téléchargé Caldav et CardDav de Marten Gadja (+ les JBWorkaroud recommandés pour Androdi Jelly). Vous aurez alors des compte de synchronisation intégrés à votre android pour gérer calendrier et contacts. Ce sera à vous de faire le transfert de vos contact et calendrier en utilisant la fonction exporter sur gmail.com et le réporter via l’interface wbe de votre owncloud (cela se fait très facilement en format ics et card, formats ouverts et libre rappelons le !).

 

Voilà, j’ai testé Owncloud (quelques minutes pour l’installer) et comme ça marche très bien, je l’ai adopté. vous pouvez virer vos contacts et calendriers de chez votre ancien fournisseur mais il vous sera toujours utile pour accéder à google Play 😉

Encodage de caractère

Parfois, le serveur d’hébergement se trouve en UTF-8 mais malgré les avertissements aux développeurs, on se retrouve avec des fichiers ANSI comme la plupart des éditeur de texte sous Windows. (Je parle même pas des \r inutiles).

Connaître l’encodage du fichier

file --mime-encoding MONFICHIER.php

Sans cette option –mime-encoding, file vous dirai juste qu’il s’agit d’une code php…

 

Conversion du fichier

Exemple de l’ansi à l’UTF8

iconv -f WINDOWS-1252 -t UTF-8 MONFICHIER_ansi.php > MONFICHIER_utf8.php

Ou de l’UTF-8 à l’iso8859-15

iconv -f UTF-8 -t ISO_8859-15 MONFICHIER_utf8.php > MONFICHIER_iso.php

 

Encodages supportés

iconv -l vous donnera la liste des encodages supportés. Les plus importants à retenir sont :

  • WINDOWS-1252 (Parfois appelé CP-1252, ANSI ou latin-1, c’est un dérivé de ISO_8859-1 qui ressemble beaucoup ISO_8859-15)
  • UTF-8 (universel et compatible ASCII)
  • ISO_8859-1 (Ou latin-1 lui aussi, il lui manque les symbole euro qui est ¤)
  • ISO_8859-15 (Ou latin-9)
  • ASCII (lol)
  • Le code morse ne fait pas parti des encodages supportés

 

Mémo de compilation de kernel

Introduction

Il y a quelques années, il était assez fréquent de devoir recompiler son noyau linux pour pouvoir utiliser tel ou tel module… Aujourd’hui c’est très rare mais reste toujours instructif. Je vais donc détailler ici les étapes essentielles pour la compilation mais aussi l’installation d’un noyau compilé par vos petites main sous debian/ubuntu/linuxmint…

Pre-requis

Les sources

Les sources du noyau. On va prendre ceux de linuxmint, mais vous pouvez allez cherchez la version que vous voulez sur kernel.org. Ces deux moyens vont vous donner un fichier tar.gz que nous devons décompresser dans l’emplacement standard /usr/linux/src (Si vous prenez les sources depuis apt de votre distrib, il devrait se trouver dans /usr/src/). Vos sources sont à décompresser dans le répertoire universel /usr/src/linux/

Pour gérer les version, nous utilisons la méthode du lien symbolique en décompressant dans /usr/src/linux-source-3.0.2

sudo tar xvf MESSOURCES -C /usr/src/

Et Ferons un lien symbolique linux

sudo ln -s /usr/src/linux-source-3.0.2 /usr/src/linux

La configuration

Récupérer la configuration utilisé par le noyau de la distribution s’avère utile pour partir sur quelque chose qui marche. Ce n’est pas obligatoire si vous savez ce que vous faites. Vous trouverez ces config dans le répertoire /boot de votre système. (exemple /boot/config-3.2.0-30-generic)

sudo cp /boot/config-3.2.0-30-generic /usr/src/linux/.config

Outils

Pour compiler votre noyau, vous aurez besoin d’un compilateur, mais aussi d’un outil pour configurer et surement un autre pour packager car il est très utile d’en faire un .deb. Cela facilite la désinstallation par exemple ou sa distribution.

sudo aptitude install build-essential

Configurer

Rentrez dans le répertoire /usr/src/linux et lancez l’outil qui vous permettra de configurer votre kernel.

sudo make menuconfig ou sudo make xconfig si vous préférez une version graphique sous X

Oui faites pas comme moi, préférez compiler vos programme en tant qu’utilisateur ! 😉

Compilation et empacketage

sudo make-kpkg --initrd --revision=NumeroQueVousVoulez kernel_image kernel_headers modules_image

Cette commande va compiler et vous faire les 3 .deb qu’il vous faut pour installer votre kernel. Et c’est cette commande que j’oublie tout le temps 🙂 Vous connaissez sûrement la suite pour installer des .deb.



                      

Tags: , ,

Je n'aime pas les boîtes noires.