www.DigitalSpirit.org

Politique d'accessiblité | Aller au contenu | Aller au menu | Aller à la recherche

Gnu/Linux

Le côté obscur de la force...

Fil des billets - Fil des commentaires

Nouvelle version de Fool : 0.3

Voici une nouvelle version de File tOOLkit, un outils vous permettant de faciliter vos sauvegardes sur différent support.

Il à été conçu pour traiter de très grand nombre de fichiers d'assez grosse taille, notamment les photos, j'en dispose un assez grand nombre de photos (~120Go), cette taille m'empêche d'utiliser un outils de version comme Git ou Svn, c'est pour cela que j'ai créé ce script qui me permet de faire des synchronisations sur des disques dûrs, sur des serveurs distants ou encore de détecter les doublons, vérifier l'intégrité des données avec le calcul des sommes md5, etc…

Cette version apporte le support dans un environnement Cygwin (merci à bass000) et l'ajout des Hooks qui vous permettront de déclencher des actions à des moments précis de l'exécution du script.

Pour la documentation et le téléchargement, ça se passe sur le wiki à cette adresse : http://www.digitalspirit.org/wiki/projets/fool.

Fool : File tOOl, un outils pour ses sauvegardes

Comme je l'annonçais dans un précédent article, voici un script bash qui permet de copier à l'aide de rsync des grosses quantités de données, de surveiller l'intégrité des données, de trouver les doublons, etc...

Fool (File tOOLkit) est un script écrit en bash sous licence GNU General Public License permettant de s'assurer de la bonne santé, de l'intégrité, de créer des sauvegardes de grosse quantité de gros fichiers.

Il à été conçu pour traiter de très grand nombre de fichiers d'assez grosse taille, notamment les photos, j'en dispose un assez grand nombre de photos (~120Go), cette taille m'empêche d'utiliser un outils de version comme Git ou Svn, c'est pour cela que j'ai créé ce script qui me permet de faire des synchronisations sur des disques dûrs, sur des serveurs distants ou encore de détecter les doublons, vérifier l'intégrité des données avec le calcul des sommes md5, etc…

Fool est un outils vous donnant les moyens de garder longtemps vos données auxquelles vous tenez à l'aide d'actions simples, le contrôle d'intégrité qui peut être lancé après une copie, la synchronisation vous permettant de multiplier les copies de vos données, etc…

Voici une liste des actions qu'il est possible d'utiliser :

  • clean : Supprime tous les fichiers ou expressions définis dans le fichier clean.conf
  • md5 : Calcule la somme md5 de tous les fichiers de l.arborescence et stocke le tout
  • duplicate : Cherche les fichiers en double à partir des sommes md5 calculées précédemment
  • checkmd5 : Vérifie la somme md5 des fichiers avec celle stockée
  • diff : Affiche les différences entre les dernières sommes calculées.
  • size : Renvoie la taille de l'arborescence de fichiers
  • batch : Exécute les actions md5, duplicate, checkmd5
  • cbatch : Exécute les actions clean, md5, duplicate, checkmd5
  • sync : Lance une commande synchronisation rsync
  • info : Renvoie des informations sur la configuration de l'application

Exemples d'utilisations

Lance la commande clean et parcours l'arborescence dans le but de faire du ménage :

$ ./fool.sh clean
Clean '/mnt/raid/media/Photos' for '.DS_Store' [ok]
Clean '/mnt/raid/media/Photos' for '._.DS_Store' [ok]
[info]  Executed in 0 second(s)
$ 

Recherche les fichiers dupliqués :

$ ./fool.sh duplicate
Search duplicate [ok]
[warn]  There are 2 different duplicate files !

194577a7e20bdcc7afbb718f502c134c ./event/2009/07 Vacances/img_908.jpg
194577a7e20bdcc7afbb718f502c134c ./export/img_908.jpg

a63ddcc7004693b03b4c5a6ddede5556 ./tmp/standby/2010/2010-08-11/_MG_6107-2.CR2
a63ddcc7004693b03b4c5a6ddede5556 ./tmp/standby/2010/2010-08-11/_MG_6107.CR2

[info]  Executed in 199 second(s)
$ 

Liste la configuration de la synchronisation :

$ ./fool.sh sync list
desktop2serv
  url :        hugo@server:~/backup/remote
  local path : event/2003
diskusb200go
  url :        /media/USBDISK/backup
  local path :
$ 

Synchronise l'arborescence vers un disque usb préalablement déclaré :

$ ./fool.sh sync to diskusb200go
Sync '/mnt/raid/media/Photos' to '/media/USBDISK/backup' ? (yes/no)
...
$ 

Retrouvez toutes les commandes et la documentation complète sur le wiki : http://www.digitalspirit.org/wiki/projets/fool

Lien relatif :

Sauvegarder ses photos / données

La théorie

Cet article porte essentiellement sur la sauvegarde de photos mais s'applique bien entendu à tout type de données...

Un des avantages genial de la photo numerique, c'est le support, en effet, quoi de plus simple que de transporter avec soi toute sa collection de photos amassées pendant les vacances pour les montrer a mamie à son retour ?

Cet avantage énorme est aussi une très grosse faiblesse, réunir autant d'information dans un seul support comporte des risques... Faites chuter votre disque dûr et vous perdrez alors vos splendides photos.

Voici quelques règles à ne jamais oublier pour garder ses photos longtemps :

1. Ne jamais faire confiance au support, quel qu'il soit

Que le support soit physique

Quel que soit le support, il peut trépasser du jour au lendemain :

  • Qu'il soit informatique, votre disque dûr peut lâcher du jour au lendemain sans raison apparente et surtout sans prévenir, vous pouvez le faire tomber. Un CD, un DVD vieillit, rien ne garantie que vous pourrez lire vos données dans quelques années.
  • S'il est au format papier, les UV en viendront à bout au fûr et à mesure des années qui passent.

Ou quel le support soit logiciel

Êtes-vous sûr d'utiliser un format de fichiers qui garantisse la pérennité de vos données ? C'est bien beau de sauvegarder vos fichiers mais si vous êtes incapable de les lire dans quelques années car le format de votre partition n'est plus supporté, vous ne pourrez en faire grand chose...

Ne sourriez pas, avec les brevets logiciels, il est tout à fait probable que vous ne puissiez plus lire vos données sur votre partition NTFS depuis votre Linux, légalement, ce serait tout à fait possible.

Utilisez donc des formats ouverts.

2. Toujours faire des sauvegardes multiples

Le premier point à du vous mettre la puce à l'oreille, il faut augmenter ses chances de garder ses données en multipliant les supports pour prévenir un accident physique qui arrivera forcément un jour ou l'autre, la question est, votre support va vous lâcher tout à l'heure ou dans 10 ans ?.
Pensez donc à copier vos données auxquelles vous tenez sur différents supports.

Limitez les risques informatiques : La capacité des disques augmentant sans arrêt, on trouve maintenant des disques externes à 2To sur lesquel il est possible de stocker un nombre phénoménal de photos (plusieurs centaines de milliers de photos), bref, le contenu de plusieurs années de clichés, imaginez une seul seconde perdre tout cela d'un seul coup...
Voilà d'ailleurs une des choses qui me pousse à préférer 2 disques de 500Go que 1 seul de 1To, si vous avez le budget, pourquoi ne pas carrément envisager 2 disques de 1To...

3. Dégéolocaliser les sauvegardes

Maintenant que nous pensons à faire des sauvegardes multiples, il faut aussi penser à les mettre à l'abri, qu'arrivera-t-il en cas d'incendie, de vol, si les sauvegardes se trouvent toute chez vous au même endroit...

En pratique, pour les plus geeks d'entre nous, une sauvegarde distante avec le couple ssh / rsync sur un serveur fiable et sécurisé est un bon moyen de mettre ses données à l'abri mais on peut faire beaucoup plus simple, à moins d'être totalement narcicique, on est rarement seul sur les photos, pourquoi ne pas voyager avec son disque dûr chez ses amis et leur faire une copie des photos sur lesquelles ils sont, ils seront heureux de les voir, vous le serez d'avoir fait une copie de sauvegarde de plus, c'est simple et efficace, en échange, récupérez leurs photos, ainsi, tout le monde est à l'abri...

Vous pouvez aussi utiliser des services de sauvegarde de contenu en ligne comme Dropbox mais vous risquez d'être confronté à d'autre problèmes :

  • Le service est payant et plutôt chèr rapporté Giga
  • Vous donnez vos données à une société privé, que se passe-t-il si celle-ci se fait pirater, si elle décide d'augmenter ses prix démesuremment ou encore si la société ferme subitement...

Si vous utilisez ces services en ligne, évitez d'en faire un sauvegarde principale et cryptez avec un système fiable toutes vos données confidentielles.

Olivier Meunier, lui, sauvegarde ses données dans sa boite aux lettres.

4. S'assurer de l'intégrité des données a chaque copie, ne pas oublier le premier point

C'est bien beau de dupliquer ces données partout mais qui vous dit que les données sont correctement copiées ? Si une erreur logicielle à lieu durant la copie, vous serez sûrement averti mais si c'est une erreur physique, rien ne dit que vous le serez aussi.

La pratique

Supports physique

  • CD, DVD : préférez graver à une vitesse moindre pour vous assurer que les données sont parfaitement bien écrites et pérennes
  • Disque dûr : Surveillez vos disques avec des outils comme S.M.A.R.T (Self-Monitoring, Analysis, and Reporting Technology) qui permet de détecter des défaillances de ces derniers et ainsi anticiper vos sauvegardes
  • Investissez dans des prises parafoudres / onduleurs, ça vous évitera de mauvaises surprises

Support logiciel

  • Utilisez un système de fichiers libre ou garantissant un bon support (ext4 par exemple), évitez NTFS
  • Pensez aux formats de fichiers libres, pourquoi ne pas envisager de convertir vos clichés Raw en DNG

Trop tard

Malheuresement, des fois, la bataille se perd et les données avec ou presque, je vous invite dans ce cas à tester l'un de ces 2 excellents logiciels qui en ont sauvés plus d'un :

  • Testdisk est un logiciel performant de récupération de données! Il a été conçu à l'origine pour aider à la récupération des partitions perdues, la réparation des tables des partitions corrompues quand ces symptômes ont été causés par des logiciels défectueux, certains types de virus ou des erreurs humaines telles que l'effacement accidentel de la Table des Partitions. »
  • Photorec est un programme de récupération de données conçu pour récupérer des images perdues provenant de carte mémoire d'appareil photo ... Il peut aussi récupérer de nombreux fichiers perdus, tels que de la video, des documents et des archives stockés sur un disque dur ou sur un CD-ROM.

Quoiqu'il arrive, ne tentez pas n'importe quoi avec votre disque, vous pourriez compromettre une possible restauration...

Conclusion

Avec un peu de bon sens et un peu de pratique, vous serez bon pour emmener vos photos / données avec vous pour des années...

Dans un prochain article, je présenterai un script qui permet d'automatiser la sauvegarde sur plusieurs supports.

Liens

Le 24/11/2010 : Ajout des liens des articles de Lense

Onglets dans une seule instance de Gvim

Voici une mise à jour d'un script bash pour Gvim d'un précédent article permettant d'ouvrir tous les fichiers dans une seule instance de Gnome Vim, cette version vient corriger des problèmes d'ouverture de fichiers lorsque ces derniers inclus des espaces et permet d'ouvrir une instance par utilisateur.

Comme pour le précédent script, il s'agit de remplacer le binaire gvim par le script en question, donc, commencez par exécuter la commande suivante :

$ mv /usr/bin/gvim /usr/bin/gvim-bin

Puis, créez un fichier /usr/bin/gvim et copier le code suivant :

#!/bin/bash
# 2010-09-09, hugo
GVIM_PATH='/usr/bin/gvim-bin'
SERVERNAME=$UID

ARGS=''
IFS=$'\n'
for file in $*
do
    # Skip arg
    if [ "${file:0:1}" = '-' ]
    then
        ARGS="$ARGS ${file}"
        continue
    fi

    # Open file in new tab
    $GVIM_PATH --servername $SERVERNAME -p --remote-tab-silent $file

    # Stand by while server is creating
    while true; do
        $GVIM_PATH --serverlist | grep $SERVERNAME
        if [[ $? == 0 ]]; then
           break
        fi
    done
done

Notez que si votre distribution met à jour gvim, il vous faudra recommencer la manip.

Astuces Nokia N900 : Vider le dictionnaire, faire taire l'appareil photo

Vider le dictionnaire

Lorsque vous saisissez du texte, les mots sont enregistrés (selon votre configuration) dans des fichiers pour la complétion automatique, malheureusement, le système ne fait pas toujours la différence entre un mot commun sans importance et un mot de passe qui doit nullement être stocké...

Il est donc conseillé de désactiver la complétion des mots pour éviter ce genre de désagrément, sinon, il est tout à fait possible de vider la base des mots enregistrés.

Ils sont contenus dans le dossier /home/user/.osso/dictionaries

$ cd /home/user/.osso/dictionaries
$ ls -l
drwxr-xr-x    2 user     users        4.0k Feb  9 14:32 .
drwxr-xr-x    6 user     users        4.0k Feb 22 10:06 ..
-rw-r--r--    1 user     users       10.0k Feb 23 10:30 .personal.dictionary
-rw-r--r--    1 user     users        1.0k Feb 20 12:50 .used.dictionary

Il est possible de dévoiler le contenu du fichier .personal.dictionary avec la commande strings :

$ strings .personal.dictionary
toto
tata
[...]

Et voici pour supprimer les 2 fichiers :

$ rm .personal.dictionary .used.dictionary

Faire taire l'appareil photo

Ceci ne s'applique pas pour les téléphones européens ou avec une locales européennes, ces derniers, se taisent, en théorie quand on leur demande.

Prendre une photo discrètement avec le n900 n'est pas facile, en effet, même en mode muet, un son est émis, ce n'est pas un bug, c'est voulu pour de sombre raison de vie privée (http://en.wikipedia.org/wiki/Nokia_N82#Camera_privacy), bref, pour lui couper la chique définitivement, il suffit de l'empêcher de trouver ses fichiers sons :

$ cd /usr/share/sounds
$ mv camera_snd_title_1.wav camera_snd_title_1.wav.old
$ mv camera_snd_title_2.wav camera_snd_title_2.wav.old
$ mv camera_snd_title_3.wav camera_snd_title_3.wav.old
$ 

Astuce Nokia N900 : Ajouter des raccourcis au menu principal

Il est assez simple d'ajouter des éléments dans le menu principal et notamment des raccourcis vers des applications utiles, pour cela, il suffit d'éditer le fichier xml /etc/systemui/systemui.xml et d'y ajouter quelques lignes.

Par exemple, pour ajouter dans le menu, un raccourci vers htop et deux entrées permettant de rédémarrer la machine, il suffit d'ajouter dans le fichier xml le texte en vert suivant :

 [...]

<menuitem priority="20" name="Reboot">
<return>6</return>
<po>osso-powerup-shutdown</po>
</menuitem>
<menuitem priority="10" name="Soft poweroff">
<return>7</return>
<po>osso-powerup-shutdown</po>
</menuitem>
<menuitem priority="5" name="Htop in XTerm">
<callback service="com.nokia.xterm" path="/com/nokia/xterm" interface="com.nokia.xterm"
method="run_command" bus="session" autostart="true">
<argument type="string">/usr/bin/htop</argument>
</callback>
</menuitem>


</powerkeymenu>

Et voilà le résultat :

Ajouter des item au menu principel

Astuce Nokia N900 : Enlever les ombres des icones sur le bureau

Il est possible de retirer les ombres des icones du bureau simplement en supprimant les 2 fichiers suivants :

  • /usr/share/themes/NOM_DU_THEME/images/ApplicationShortcutAppletPressed.png
  • /usr/share/themes/NOM_DU_THEME/images/ApplicationShortcutApplet.png

Afin de pouvoir restaurer les ombres, je vous conseille de simplement modifier l'extension de ces fichiers en png.old, c'est assez simple, ouvrez un terminal et saisissez les commandes suivantes :

$ sudo gainroot
$ cd /usr/share/themes/NOM_DU_THEME/images/
$ mv ApplicationShortcutAppletPressed.png ApplicationShortcutAppletPressed.png.old
$ mv ApplicationShortcutApplet.png ApplicationShortcutApplet.png.old

Pour que le changement soit pris en compte, redémarrez la machine.

Voici le résultat, avant, après :

Bon, et pour ceux qui oseraient se demander comment on revient comme avant, on fait l'inverse : on renomme les .png.old en png.

Éviter l'extinction / le redémarrage accidentel d'un serveur : molly-guard

J'ai découvert par l'intermédiaire de Clochix un petit programme très pratique, voir indispensable, à installer, notamment, sur les serveurs auxquels vous avez l'habitude de gérer à distance par ssh.

Ce paquet permet, en s'intercalant entre vous et les commandes halt, shutdown ou reboot, de vous protéger d'un rédémarrage ou un arrêt intempestif, voir dramatique (oui,  dramatique), de votre serveur en vous demandant de saisir le nom du serveur (hostname) à qui s'adresse ladîte commande...

Une petite mise en situation :

root@prod:$ shutdown
W: molly-guard: SSH session detected!
Please type in hostname of the machine to shutdown: dev
Good thing I asked; I won't shutdown prod ...

Voilà une belle sueur froide d'évitée...

Le paquet se nomme molly-guard et est disponible sur toutes les bonnes distributions GNU/Linux...

Problème de link down / link up avec module r8169

Si vous disposez d'une carte réseau dont le module noyau est le r8169 (la mienne est une D-Link DGE-528T, lspci : Ethernet controller: D-Link System Inc DGE-528T Gigabit Ethernet Adapter (rev 10)), il vous arrive peut être de temps à autre de voir dans les logs ce genre de chose :

[...]
Aug 9 19:04:32 spirit kernel: [292747.171138] r8169: eth2: link up
Aug 9 19:04:32 spirit kernel: [292747.608155] r8169: eth2: link down
Aug 9 19:04:36 spirit kernel: [292751.539114] r8169: eth2: link up
Aug 9 19:23:38 spirit kernel: [293893.913305] r8169: eth2: link down
Aug 9 19:23:45 spirit kernel: [293900.808973] r8169: eth2: link up
Aug 9 19:23:46 spirit kernel: [293901.165367] r8169: eth2: link down
Aug 9 19:23:49 spirit kernel: [293904.289123] r8169: eth2: link up
Aug 9 19:26:32 spirit kernel: [294067.013599] r8169: eth2: link down
[...]

Cela entraine bien évidemment des coupures réseaux...

Au premier abord, j'ai pensé à un défaut de connectique, j'ai donc vérifié et en effet, les 2 plots de plastique de la prise RJ45 sur la carte réseau qui servent à retenir la prise mâle dans la femelle étaient tous les 2 cassés, du coup, la prise mâle n'était pas retenue, on aurait pu expliquer les incessants down/up par les vibrations...

J'ai donc fixé solidement le cable à la carte réseau, redémarré le serveur, surveillé les logs et rien...pendant 1 heure, et le cycle down/up recommence, il y a donc, apparemment un autre souci, quelques recherches m'orientent sur une solution qui consisterait à activer le "Wake-on-lan after shutdown" avec le pilote sur Window$, j'essaie, même problème au bout de quelques temps...

Je redémonte la carte réseau pour l'inspecter et constate alors que le chip est très très chaud, au point de se bruler le doigt, il est tout de même à près de 50°C...
Et là, tout s'explique, les premiers problèmes sont apparus au début du mois de juillet lorsqu'il a commencé à faire très chaud, la chaleur ambiante combinée à la chaleur rayonnée dans la tour devait déclencher une sécurité pour protéger la puce...
Lorsque je démarrais le PC, les problèmes mettaient environ une heure avant de revenir de plus belle, tout simplement, le temps que la température monte, la fréquence à laquelle les link down / up se succédaient était apparemment également fonction du traffic (apparemment car je n'ai pas fait de mesure précise).

La mise en place d'un dissipateur à définitivement résolu le problème même en ce jour ou il fait particulièrement chaud, vu le nombre de personne qui se plaignent de se problème sur internet, cet article devrait servir à plus d'un...

Des USE flags à jour pour votre Gentoo

Utilisateur de Gentoo, il m'arrive fréquemment d'ajouter des USE flags afin de profiter de fonctionnalités supplémentaires pour tel ou tel programme, or, j'installe en général les mêmes applications sur mes machines (pro ou perso), du coup, je me retrouve à installer les mêmes USE flags un peu partout.

Afin d'éviter les erreurs de copie de USE flags et d'être synchro entre mes machines, j'ai créé un outils tout simple permettant de fusionner les USE flags, ce dernier est utilisable en ligne à l'adresse suivante : http://www.digitalspirit.org/lab/misc/merge-use-flags.php

L'utilisation est, me semble-t-il, assez claire, copiez dans les champs les contenus de "USE flag" de vos machines, validez, un nouveau champs apparait alors avec un USE flag correspondant à la fusion des 2 précédents.

Cependant, certain USE flags reste spécifique à certaine architecture, prenez garde de ne pas les mélanger, pour ma part, je procède simplement en séparant d'une ligne vide les USE flags génériques (en vert) de ceux spécifiques au matériel (en rouge) :

USE="
alsa automount avahi
bash-completion bluetooh bzip2
cairo cdaudio cdr code
dbus directfb doc dvb dvd dvdr
exif
fat ffmpeg firefox
gif gimp glitz gnome gstreamer gtk
ipod
jpeg jpeg2k
lame libcaca
matroska mng mp3 mpeg mysql
ogg opengl
pdf png php
quicktime
raw
samba sqlite subversion svg
theora tiff truetype type1
unicode usb
v4l v4l2 vnc vorbis
win32codecs
X
x264 xcb xine xinerama xml xulrunner xvid

mmx sse smp
"

Ce script permet aussi de trier les USE flags et éventuellement des les grouper par critères de tri, pratique pour s'y retrouver facilement dans son make.conf ...

- page 1 de 3