# uname -a

Switch

mercredi 10 juin 2015

Linux : déterminer la taille réelle d'un fichier creux

Pour référence, et parce que c’est parfois utile de connaître la taille réelle d’un fichier creux.

Pour afficher la taille déclarée :

$ ls -lh nomdufichier
-rw-r--r-- 1 root root 401G Jun 10 18:09 nomdufichier

Pour afficher la taille réelle :

$ du -h nomdufichier
60G    nomdufichier

Rappel : un fichier creux est un fichier dont la taille déclarée pour le système est différente de la taille effective sur le disque. C’est particulièrement utile pour créer des fichiers à écriture aléatoire (par exemple des fichiers téléchargés par P2P), ou des disques de machines virtuelles (qcow2, vmdk).

Un fichier creux s’obtient en déclarant un index de fin de fichier plus grand que la taille effectivement “remplie” par le fichier sur le disque.

mardi 9 juin 2015

Configurer un backup incrémental avec duplicity, rsync, et backupninja sous Debian

English version.

Introduction

Si vous savez ce qu'est un backup, vous devriez savoir qu'il y a plusieurs types de backups :

  • Un backup complet copie tous les fichiers, en espérant que votre disque de backup soit assez grand pour accueillir plus d'un backup.
  • Un backup incrémental commence par faire un backup complet, puis les fois suivantes n'enregistre que les "différences" sur les fichiers modifiés.

Évidemment, un backup complet est plus simple à restaurer, puisque ce sont les fichiers, et rien que les fichiers ; alors que le backup incrémental a un format de fichier spécial lui permettant de représenter les "diffs" à chaque sauvegarde. Mais considérant le gain d'un backup incrémental en bande passante, vitesse, et espace disque , votre solution pour un backup régulier devrait être le backup incrémental.

Les outils

Duplicity est un logiciel libre similaire à rdiff-backup. Duplicity permet de créer un backup incrémental. Duplicity peut également chiffrer les fichiers, pour pouvoir les envoyer en toute sécurité sur un service de stockage distant. Dans une configuration classique, Duplicity est utilisé conjointement avec rsyc pour optimiser les temps de transfert vers le stockage distant, mais vous pouvez très bien utiliser un disque de stockage local, un serveur FTP, ou un cloud Amazon E3 pour y envoyer vos sauvegardes. Comme le titre l'indique, dans cet exemple j'utiliserai rsync.

Et les bases de données ? Les bases de données ne peuvent pas être sauvegardées simplement en copiant les fichiers de données, car cela peut provoquer une corruptio  de données, et vous aurez des bases inutilisables dans vos sauvegardes. Il nous faudrait donc un script qui dump toutes les bases de données avant de sauvegarder ces fichiers de dump via notre méthode de sauvegarde préférée.

Bonne nouvelle : backupninja sait faire tout cela. Backupninja est une sorte de "backup-master" : il est capable de récupérer des données depuis différentes sources (fichiers, bases de données...) et les envoyer à différentes destinations (backup simple, duplicity...), il suffit juste d'écrire les fichiers de configuration correspondants !

Dans cet exemple, nous utiliserons donc backupninja pour récupérer nos fichiers et nos bases de données, et les envoyer pour un backup incrémental Duplicity, stocké sur un serveur SSH distant, en utilisant rsync.

C'est parti !

Lire la suite...

Ces touristes qui nous emmerdent pendant l'été

Aujourd’hui un billet d’humeur sur ce que vous êtes peut être : un touriste en vacances dans les basses-alpes.

Ça ressemble aux sept plaies d’égypte. Nous avons le tour de France qui a répandu ses tonnes de poubelles publicitaires dans nos belles campagnes, nous avons nos routes customisées avec les couleurs bariolée des citadins attirés par la Beauté du Sport TM, nous avons les caravanes conduites par des mères de famille habituées aux twingo électrique qui roulent à 5 kilomètres par heure (et en pein milieu) sur nos petites routes de campagne, nous avons les cyclistes du dimanche qui roulent en peloton large et décomplexé à partir de début avril jusqu’à mi octobre, et nous avons les touristes citadins qui viennent “prendre l’air” à la campagne pour les vacances.

On vous a vendu un séjour pour quatre personnes dans le Luberon, dans une charmante maison avec piscine, nature, lavandes, et soleil. Et puis vous vous dites « Tiens, si nous profitions de la chamante balade suggérée par le propriétaire débonnaire du camping ? ». Sauf que si vous “sortez des sentiers battus”, vous vous apprêtez à devenir un emmerdeur, la septième plaie d’égypte.

Les gens des villes, lorsqu’ils arrivent à la campagne, n’arrivent pas à faire la différence entre l’espace public et l’espace privé. En ville, tout l’espace de la rue est public, à partir du moment où il n’y a pas un portail ou une maison entre vous, vous pouvez passer, la rue appartient à tout le monde. À la campagne, tout est différent. Pas ou peu de barrières, des chemins privés qui s’ouvrent à vous sur la promesse de champignons, des arbres centenaires au bord de charmantes clairières. Sauf que ce sont des chemins privés.

La balade suggérée par votre gentil organisateur (qui ne vous accompagnera pas) est sans doute séduisante, mais elle va probablement vous emmener chez quelqu’un. Ce n’est peut être pas très grave, vous pouvez vous balader sur les chemins, prendre des angles de vue originaux pour vos photos de lavandes, vous pouvez pique-niquer tout en ramassant vos détritus, ça dérange qui ? Ça dérange que tout le monde n’a pas votre délicatesse.

  • Si vous enjambez une clôture, peut être que les vaches qui sont dans le parc ne verront pas d’un bon oeil cette intrusion dans leur espace. Et s’il y a un taureau mal luné, il se peut qu’il vous charge.

  • Si vous couchez des piquets de clôture lors de votre folle aventure sauvage, la nuit suivante des sangliers viendront détruire en une nuit le travail de toute une année.

  • Si vous ramassez des champignons ou des fruits, sur un arbre que vous pensez “libre”, vous êtes coupable de vol car cet arbre est peut être entretenu, soigné, et taillé aux frais du propriétaire.

  • Si vous cueillez du triticale, du tournesol, de la lavande, ou du colza, vous vous rendez coupable de vol, car ces plantes ont eu besoin d’eau, d’engrais, de désherbants, de travail de la terre. Ces plantes ne sont pas sauvages, vous volez une partie de la récolte. Pire : si chaque personne passant sur le chemin prend un brin en pensant que cela n’aura pas d’influence, ce sont de véritables “trous de termites” que l’on observe dans les cultures en fin de saison, allant jusqu’à amputer une grande part de la récolte. C’est particulièrement vrai sur les cultures “à touristes” (lavande, blés…) et c’est un manque à gagner considérable pour un pays où l’agriculture est difficile, et où il n’y a pas beaucoup de grandes exploitations (terres calcaires, climat chaud et sec, quantité d’eau limitée en été).

  • Si vous cueillez une plante sauvage, mais dont la cueillette est interdite, vous êtes même potentiellement redevable d’une forte amende, on ne plaisante pas avec les espèces protégées.

Le code civil indique précisément que les chemins privés, quels qu’ils soient (forestiers ou non) sont sous la responsabilité et la jouissance exclusive du propriétaire du terrain, qui a le droit de le clôturer pour en matérialiser l’interdiction d’accès.

Lorsque cela n’est indiqué nulle part, considérez que le bois ou la prairie que vous traversez est une propriété privée. Vous ne voulez pas que quelqu’un entre dans votre jardin ou sur votre balcon cueillir vos fleurs ? Alors ne rentrez pas dans les chemins agricoles pour “faire des balades”, il y a tellement de lieux ouverts, de forêts communales, et de sentiers aménagés dans lesquels on peut faire des balades avec l’accord du propriétaire, que vous n’avez pas besoin de venir nous emmerder.

Consultez les offices de tourisme, et ne jouez pas à la petite maison dans la prairie.

samedi 6 juin 2015

Nagios : quick and dirty patch to enable (force) SSL on check_mysql_health

Sometimes you don’t want to set up a VPN just to safely monitor your MySQL servers. Because SSL should be implemented in check_mysql_health, here is a quick and dirty patch for SSL connexion. I assume you already configured your MySQL server to use SSL if client wants to (or if user requires ssl).

File /usr/lib/nagios/plugins/check_mysql_health at line 1863, after the following block :

    } else {
      $self->{dsn} .= sprintf ";host=%s", $self->{hostname};
      $self->{dsn} .= sprintf ";port=%s", $self->{port}
          unless $self->{socket} || $self->{hostname} eq 'localhost';
      $self->{dsn} .= sprintf ";mysql_socket=%s", $self->{socket}
          if $self->{socket};

Add these lines :

    $self->{dsn} .= ";mysql_ssl=1";
    $self->{dsn} .= ";mysql_ssl_client_key=/etc/ssl/mysql/client.key";
    $self->{dsn} .= ";mysql_ssl_client_cert=/etc/ssl/mysql/client.crt";
    $self->{dsn} .= ";mysql_ssl_ca_file=/etc/ssl/mysql/ca.crt";

Where /etc/ssl/mysql/client.key is the path to client key, /etc/ssl/mysql/client.crt the path to client certificate, and /etc/ssl/mysql/ca.crt the path to the CA certificate.

It should work, while there is still no “SSL switch” on that plugin.

EDIT : actually there is an undocumented param named “—mycnf” which should allow you to enable SSL for client connection in a prettier way.

jeudi 4 juin 2015

Comment réussir une rencontre en ligne

English version

Aujourd’hui, un article qui contraste avec mes publications techniques du type “les-gens-normaux-s’en-tapent-complètement”.

Je vais vous parler de ma propre expérience dans les rencontres en ligne. Utilisés convenablement, les sites et aplications de rencontre peuvent vous amener à découvrir votre perle rare … ou vous plonger dans un océan de frustrations et de déceptions. D’accord, je sais que c’est un thème éculé. Tant pis.

En fait, tout a commencé quand j’ai regardé cette vidéo : Comment j’ai piraté les rencontres en ligne . C’était clair pour moi que l’approche par les données n’était pas le Graal qui me mènerait vers le compagnon parfait, mais que cela valait le coup d’essayer, puisque je venais de me faire plaquer. Et comme cela fait maintenant un an depuis le début de mes expérimentations, voici mes quelques conclusions et conseils de bon usage, à destination de ceux qui recherchent encore une relation sérieuse (oui ça existe).

Note : cet article est évidemment orienté, puisque mon expérience est exclusivement celle des rencontres gay (hé, c’est mon blog, c’est forcément des trucs de tapettes ;) ), mais ces quelques conseils devraient pour la plupart s’appliquer à n’importe quel homme/femme/garçon/fille/ado/poney qui commence son entrée dans le monde impitoyable des rencontres sur internet.

Lire la suite...

- page 9 de 32 -