Brebis: fully automated backup checker

You make backups? That’s great! But are they usable?

The very day you will need your backup to restore your infrastructure, are you sure this backup you make three months ago contains the only file you need to restart your production environment? Are you sure this backup is not corrupted? Are you sure you do not store irrelevant or empty files instead of the ones you will need one day?

Brebis is a fully automated backup checker.

Brebis is written in Python 3 (>=3.2) and comes under the GPLv3 license. The current version is 0.4 (direct download).

Some features (extensive list of features available here):

  • Support of tar files, compressed with gzip or bzip2 or not, zip files, gzip or bzip2 files and uncompressed trees of files.
  • Identify corrupted archives, unexpected size or type for an archive, associated wrong hash sums, Unix rights and owner users/groups of the archive thanks to a list you provide.
  • Inside the archive, identify missing files, unexpected ones, unexpected size of a file, wrong associated hash sums, unexpected mode, type or owner users/groups for a file thanks to a list you provide or generate from a given archive.

Brebis 0.4 : contrôle automatisé de vos sauvegardes

La version “Mobylette” 0.4 de Brebis a été publiée en début de semaine. Pour rappel Brebis est un logiciel libre (GPLv3) de contrôle automatisé de vos sauvegardes déjà présenté sur ce blog et développé dans le cadre du projet Brebis.

Il est par exemple capable de détecter une corruption d’archive sur différents formats. Il identifie également les modifications qui surviennent sur vos archives ou le contenu de vos archives et vous retournent un rapport détaillé des modifications identifiées, modifications pouvant avoir des causes diverses (problème matériel ou logiciel, erreur humaine, malveillance), pour être certain que vos sauvegardes sont exploitables le jour où vous en aurez besoin.

La principale nouveauté de cette version réside dans  la nouvelle option -g ou –gen-list qui permet de générer automatiquement une liste de tous les fichiers dans une archive, et pour chaque fichier tous ses paramètres (type, taille, uid/gid, mode, somme de hachage). Cette liste est ensuite exploitée par Brebis pour identifier précisément tout changement.

Un exemple vaut mieux qu’un long discours.

Installation à partir des sources

# wget http://brebisproject.org/attachments/download/5/brebis-0.4.tar.gz
# tar zxvf brebis-0.4.tar.gz && cd brebis-0.4
# python3.2 setup.py install --install-scripts=/usr/bin
# mkdir /etc/brebis

Prérequis au contrôle de l’archive

L’archive en question va être le fichier /backups/monthly-backup.tar.gz, nous allons commencer par établir une liste de tous les fichiers dans l’archive, avec tous leurs paramètres. Ceci se fait très simplement à l’aide de la commande suivante :

# brebis -g /backups/monthly-backup.tar.gz
# ls /backups/
monthly-backup.tar.gz monthly-backup.list

Tous les fichiers et répertoires dans votre archive et leurs paramètres ont été enregistrés dans le fichier .list. Libre à vous de l’épurer si vous souhaitez restreindre les contrôles ou même de l’écrire vous-même, son format étant très simple (Plus d’informations à ce sujet dans la documentation du projet Brebis)

Configurer Brebis

Nous sauvons maintenant le fichier monthly-backup.list dans /etc/brebis :

# mv /backups/monthly-backup.list /etc/brebis

Puis nous écrivons la configuration suivante pour notre archive dans le fichier  /etc/brebis/monthly-backup.conf :

[main]
name=monthly-backup
type=archive
path=/backups/monthly-backup.tar.gz
files_list=/etc/brebis/monthly-backup.list

Executer Brebis

Notre contrôle d’archive est maintenant en place. Pour l’effectuer, nous passons la commande suivante :

# brebis -c /etc/brebis/ -l /var/log/brebis.log

Tous les fichiers .conf dans /etc/brebis seront pris en compte. Le fichier /var/log/brebis.log est créé, vide si aucune différence n’est constatée entre l’état actuel de l’archive et l’état enregistré dans /etc/brebis/monthly-backup.list. La moindre différence rencontrée sera notifiée de manière explicite dans le journal de Brebis.

Si par exemple je modifie la somme de hachage d’un des fichiers présents dans /etc/brebis/monthly-backup.list, j’obtiens l’entrée suivante à la prochaine execution de Brebis dans le journal /var/log/brebis.log :

WARNING:root:1 file with unexpected hash while checking
/backups/monthly-backup.tar.gz:
WARNING:root:toto/titi hash is ce4f8cacd8fc702bdd03531b9447818b.
Should have been ce4f8cacd8fc702bdd03531b94478184.

Il ne vous reste qu’à insérer la commande précédente dans la crontab de votre système pour effectuer à intervalle régulier le contrôle de vos données. Vous pouvez aussi provoquer l’envoi d’un e-mail si le fichier brebis.log est non vide, ou toute forme d’alerte qui vous conviendra.

Le site officiel du projet : http://www.brebisproject.org
Liste de diffusion des utilisateurs : https://lists.sourceforge.net/lists/listinfo/brebis-users
Brebis sur Identi.ca : http://identi.ca/brebis and http://identi.ca/group/brebis



							

Debian Squeeze 6.0.3 et Lenny 5.0.9

Conformément à sa politique de mise à jour régulière tout au long du cycle de vie de la version stable, le projet Debian a publié samedi 8 octobre la troisième mise à jour de l’actuelle version stable “Squeeze”.

L’ajout de firmwares, la correction de plusieurs problèmes et de nombreux correctifs de sécurité sont à l’ordre du jour. Le détail est accessible sur la page dédiée à cette publication.

Les utilisateurs de la vieille Debian stable “Lenny” seront heureux d’apprendre que le projet Debian ne les oublie pas a publié le 1er octobre une nouvelle mise à jour numérotée 5.0.9. Quelques corrections de problèmes mais surtout de nombreux correctifs de sécurité à appliquer sur le prédecesseur de Squeeze.

Il est toutefois à noter que le support de la vieille stable est assez court, en raison de l’effort qu’il demande à la communauté Debian . Les utilisateurs de Lenny devront envisager une migration vers Squeeze à brève échéance s’ils souhaitent conserver une Debian mise à jour régulièrement.

Brebis : contrôle automatisé de vos sauvegardes

Vous faites régulièrement des sauvegardes ? Bravo, c’est une bonne pratique. Mais vous assurez-vous régulièrement qu’elles sont exploitables ?

Le jour où vous aurez besoin de votre sauvegarde pour restaurer votre infrastructure, êtes-vous bien sûr que cette sauvegarde réalisée il y a trois mois contient bien le seul et unique fichier indispensable pour relancer votre environnement de production ? Êtes-vous certain que votre sauvegarde n’est pas corrompue ? Vous êtes-vous assuré de ne pas sauver des fichiers inutiles ou des fichiers vides en lieu et place de ceux dont vous aurez besoin le lendemain d’un désastre majeur ?

Brebis permet le contrôle automatisé de vos sauvegardes.

Brebis est écrit en Python 3 (>=3.2) et vient sous licence GPLv3. Il s’agit pour l’instant d’une version alpha. Lien direct vers Brebis 0.3.

Quelques fonctionnalités (liste complète sur cette page) :

* support des archives Tar, compressés ou non avec gzip ou bzip2, des archives gzip et bzip2, des fichiers Zip et des arborescences de fichiers non compressés.
* détecte les archives corrompues, de taille inattendue, la somme de hachage associée à l’archive, les droits et utilisateurs de l’archive.
* dans l’archive elle-même, détecte les fichiers manquants, de taille inattendue, les sommes de hachage associées aux fichiers, les fichiers en trop, le type, mode et utilisateurs des fichiers.

Le site officiel du projet : http://www.brebisproject.org
Liste de diffusion des utilisateurs : https://lists.sourceforge.net/lists/listinfo/brebis-users
Brebis sur Identi.ca : http://identi.ca/brebis and http://identi.ca/group/brebis

Python 2.7 par défaut dans Debian Sid

Python 2.7 (précisément 2.7.2) est depuis quelques jours la version par défaut de Python intégrée à la version instable “Sid” de Debian, remplaçant à cette fonction Python 2.6.7.

Pour rappel, la branche Python 2 s’achève avec la version 2.7. Le cycle de maintenance de cette version sera particulièrement long mais aucune version majeure ne sera plus publiée dans cette branche.

Les nouveaux développements s’effectuent désormais dans la branche Python 3. La version actuelle Python 3.2 est particulièrement réussie, incorpore un grand nombre de nouveautés et est d’ors et déjà disponible dans Debian.

À lire par les “Python3-sceptiques” : Python 2 or Python 3 ? sur le wiki du site officiel du projet Python.

Short version: Python 2.x is the status quo, Python 3.x is the present and future of the language

 

Nouveau projet en cours de finalisation

Suivez-moi sur Identi.ca : http://identi.ca/carlchenet

Je suis assez silencieux ces derniers jours car je travaille à la finalisation d’un nouveau projet de programmation. Je ne souhaite pas en dire beaucoup plus pour l’instant. Mais je peux quand même annoncer à mes lecteurs qu’il s’agit d’un outil d’administration système.

Un indice quand même.

À bientôt pour la première version officielle.

Objectifs pour Debian Wheezy

Suivez-moi sur Identi.ca : http://identi.ca/carlchenet

Depuis le début du développement de Wheezy, la prochaine version stable du projet Debian, les objectifs sont peu à peu identifiés. Ce billet en évoque quelques-uns  sur lesquels travaillent les contributeurs au projet Debian que je trouve intéressant de présenter. Tout cela est bien sûr à prendre au conditionnel et à titre d’information, le travail est en cours et pourrait brusquement changer de direction selon les besoins rencontrés :

Domaine Public

Gel de la version en test à une date précise

L’idée d’un gel à date fixe des nouveautés devant arriver dans la future version stable de Debian a été soulevée  lors du cycle de préparation de Squeeze, l’actuelle version stable de Debian. L’idée étant maintenant mûre et soutenu par le meneur du projet Debian, Stefano Zacchiroli, l’équipe de publication a déterminé la date en question pour le gel de Wheezy. Cette date se situe en juin 2012. Il s’agit d’un objectif soumis aux aléas rencontrés pendant le développement de Wheezy, mais il a le mérite de poser clairement une référence pour tous.

Support des architectures multiples dans Debian

Le but est de supporter la coexistence de bibliothèques dans des architectures différentes sur le même système de fichiers, le cas d’exemple le plus commun est la coexistence des bibliothèques pour les architectures i386/amd64. Cette fonctionnalité est maintenant présente dans Debian Sid, et se caractérise très concrètement par l’existence d’un répertoire /lib/$arch dans lequel seront présents les bibliothèques partagées, les paquets contenant ces dernières devant être modifiés pour s’adapter. Le travail d’adaptation est en cours, 63 paquets source ont déjà été convertis. Il reste néanmoins beaucoup de travail, et en particulier au niveau de la gestion de l’architecture multiple pour apt et dpkg.

Python dans Wheezy

Ceux qui pensaient voir Python 3.x par défaut dans Wheezy seront déçus, mais il est pour l’instant peu probable que ce soit le cas, si on prend en compte l’existant en terme de programmes et de bibliothèques toujours en 2.x. Il semble donc plutôt que Python 2.7 sera la version par défaut. Rappelons que cette version est la dernière de la série 2.x  pour laquelle ne seront dorénavant publier que des versions mineures, corrigeant uniquement des problèmes de sécurité.

Perl dans Wheezy

L’équipe des responsables de Perl dans Debian a envoyé un e-mail d’informations donnant quelques pistes sur leurs actuels travaux. La version actuellement dans Wheezy est la 5.12 (5.10 dans Squeeze). Il reste à déterminer quelle sera la version par défaut dans Wheezy. La dernière version majeure Perl 5.14 a quant à elle été acceptée dans le dépôt expérimental fin mai pour une arrivée dans Sid dans le courant de cette année, si tout se passe bien.

 

Une information à propos des buts pour Wheezy que vous souhaitez voir figurer dans l’article ? N’hésitez pas à laisser un commentaire à ce sujet, je le rajouterai à l’article.

Debian : retour sur l’actualité

Suivez-moi sur Identi.ca : http://identi.ca/carlchenet

Debian connaît actuellement une actualité chargée. À tête reposée, revenons sur une sélection de points que je trouve pertinent d’analyser :

Mise à jour de Squeeze 6.0.2

J’en parlais récemment, la mise à jour de la Debian Stable “Squeeze” 6.0.2 a été publiée le 25 juin 2011. Au menu : intégration de nouveaux pilotes, corrections de bugs et mises à jour de sécurité. La liste complète des modifications sur la page de l’annonce officielle. Il s’agit de la deuxième mise à jour depuis la publication de Squeeze, gageons que continuer sur ce rythme les mises à jour assurera à Squeeze une qualité exemplaire.

Libreoffice disponible pour Squeeze

Libreoffice, le fork d’Openoffice consécutif au rachat de Sun par Oracle est maintenant disponible pour les trois versions de Debian (Squeeze, Wheezy et Sid), achevant ainsi la migration entreprise par le projet Debian. Pour installer Libreoffice sur votre Debian Squeeze, il est nécessaire de rajouter le dépôt des backports, comme je le décris dans ce billet. Vous pourrez ensuite installer Libreoffice via la commande suivante passée en tant qu’utilisateur root :

# apt-get update && apt-get -t squeeze-backports install libreoffice

Iceweasel (fork de Firefox) 5 dans Debian

Iceweasel 5 est arrivé dans le dépôt officiel expérimental. Il est aussi disponible dans le dépôt de l’équipe Mozilla de Debian avec la méthode décrite dans ce précédent billet. Vous pourrez ainsi installer proprement Iceweasel 5 sur votre système. Si vous l’utilisez sur une base régulière, n’hésitez pas à remonter les éventuels problèmes rencontrés.

UPDATE : Il est à noter que si le paquet de régionalisation dans votre langue préférée n’est pas encore disponible sous forme de paquet Debian, vous pouvez télécharger cette régionalisation sous la forme d’un composant Firefox à cette adresse (merci à DarthWound pour la remarque). Par exemple pour Iceweasel 5.0 en langue française :

Il est nécessaire de télécharger le fichier, puis de le sélectionner dans le menu open->file. L’installation débutera ensuite.

Installation de Debian GNU/kFreeBSD en mode graphique

Debian GNU/kFreeBSD, la version de Debian embarquant le noyau du système d’exploitation FreeBSD, continue son petit bonhomme de chemin dans le projet Debian en se dotant d’une installation graphique. N’hésitez pas à la tester en la téléchargeant à partir de ces liens :

Debian-Installer avec le noyau 2.6.38

Si pour des raisons matériels vous avez absolument besoin d’un Debian-Installer embarquant le noyau 2.6.38, le développeur Debian Kenshi Muto le met à disposition sur son site. Une ressource non-officielle qui embarque également les pilotes propriétaires écartés de la version officielle, mais toujours utile d’avoir sous le coude en cas de réel besoin.

Prochaine mise à jour de la Debian Squeeze

Suivez-moi sur Identi.ca : http://identi.ca/carlchenet

Après une première mise à jour ponctuelle (point release) numérotée 6.0.1 et publiée le 19 mars 2011, une nouvelle mise à jour de la Debian Stable “Squeeze” 6.0.2 est planifiée pour le 25 juin 2011. Nous en parlions sur ce billet, cette mise à jour apportera le support de plusieurs nouveaux périphériques et des corrections de bugs (liste complète sur cette page).

Visage de Squeeze

Visage de Squeeze

Avant la date fatidique du 25 juin, il vous est d’ors et déjà possible de tester cette nouvelle mise à jour. Il vous suffit pour cela de rajouter le dépôt suivant à votre fichier /etc/apt/souces.list :

deb http://ftp.fr.debian.org/debian/ stable-proposed-updates main contrib non-free

deb-src http://ftp.fr.debian.org/debian/ stable-proposed-updates main contrib non-free

puis de mettre à jour l’ensemble de votre système avec la commande suivante :

# apt-get update && apt-get upgrade

Si vous détectez un problème sur l’une des nouveautés induites par cette nouvelle mise à jour, n’hésitez pas à ouvrir un rapport de bug sur le paquet en question à l’aide de l’outil reportbug en mettant les gestionnaires de publications (debian-release@lists.debian.org) en copie de votre rapport. Si le problème est avéré c’est tous les utilisateurs de Debian qui bénéficieront de votre contribution :)

Avoir un navigateur web dernier cri avec Debian Wheezy

Suivez-moi sur Identi.ca : http://identi.ca/carlchenet

Les utilisateurs de Debian ont un choix important de navigateurs web présents dans Debian : Iceweasel (fork de Firefox), Chromium, Epiphany, Konqueror, Galeon mais aussi Uzbl, w3m, elinks ou surf. Sans surprise et parmi les plus utilisés : Iceweasel et Chromium. Il faut parfois ruser un peu pour obtenir des versions très récentes de ces deux logiciels mais ces derniers restent assez simplement accessibles, en tout cas si vous utilisez Wheezy (dite “Testing”) ou Sid (dite “Unstable”).

Iceweasel (fork de Firefox)

La version de Iceweasel dans Wheezy est la 3.5.19. Si vous êtes intéressé par voir tourner un Linux en javascript dans votre navigateur, il vous faudra accéder à Iceweasel 4. Pour cela vous pouvez installer le dépôt de la Debian Mozilla Team. La documentation complète se trouve sur cette page. Pour notre installation sous Wheezy, il suffit de rajouter le dépôt suivant dans votre fichier /etc/apt/sources.list :

deb http://mozilla.debian.net/ squeeze-backports iceweasel-4.0

Puis de taper les commandes suivantes pour installer Iceweasel 4 :

# apt-get update
# apt-get -t squeeze-backports install iceweasel

Autre possibilité, Iceweasel 4 est aussi accessible dans le dépôt expérimental. Pour l’installer vous devez ajouter les dépôts de Sid et Experimental à votre fichier /etc/apt/sources.list :

deb http://ftp.fr.debian.org/debian/ sid main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ sid main contrib non-free

deb http://ftp.fr.debian.org/debian/ experimental main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ experimental main contrib non-free

Puis il vous suffit de l’installer de la façon suivante :

# apt-get update
# apt-get -t experimental install iceweasel

Chromium

Si vous préférez utiliser Chromium, le paquet chromium-browser en version 6 est déjà dans Wheezy. Si vous souhaitez accéder à une version plus récente, la version 12 est présente dans le dépôt Sid. Pour installer ce dernier sur votre Wheezy, vous devrez avoir le dépôt Sid dans votre fichier /etc/apt/sources.list (comme vu plus haut). Passez ensuite la commande suivante :

#apt-get update
# apt-get -t sid install chromium-browser

Toutes ces manipulations consistent à ajouter à une version relativement stable (la version en test) des paquets en provenance de dépôts moins stables. Donc prudence. Vérifiez les différents paquets qui vous sont proposés à l’installation lorsque vous cherchez les dernières versions d’un logiciel dans un autre dépôt que celui de votre distribution courante. Si vous êtes appelé à utiliser ce type de manipulation régulièrement, il est peut-être intéressant pour vous de mettre en place l’Apt-pinning, vous permettant d’affecter des priorités aux différents dépôts que vous utilisez.

En passant par les dépôts officiels, vous bénéficiez du savoir-faire du mainteneur du paquet ainsi que de l’assurance de la parfaite intégration de votre navigateur dans votre environnement. Et bien sûr de la possibilité d’ouvrir des rapports de bugs à travers l’outil reportbug.

Page suivante »


À propos de l’auteur

Carl Chenet, architecte système et expert GNU/Linux indépendant. N'hésitez pas à faire appel à mes services.
>>> Mon offre de services

Suivez-moi aussi sur Identi.ca !

Catégories


Suivre

Get every new post delivered to your Inbox.