Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

docs:hard_hack:synclef [2012/10/21 22:48]
adlp PAGE VALIDE
docs:hard_hack:synclef [2018/01/07 16:27] (version actuelle)
Ligne 1: Ligne 1:
- +Merci d'aller voire pour le moment [[docs:hard_hack:synclef_old|Objectifs & Etat des lieux]]
- +
-TODO : réécrire cet HowTo _APRES_ la mini conf du 11 oct 2012 (on verra en combien de temps j'aurais reecris cela...) +
- +
- +
-====== Objectifs & Etat des lieux ====== +
-  * Les clefs USB ca crame facilement (notamment là ou officie madame mon épouse, il semblerait qu'une machine, soit une tueuse de clef USB, et moi même j'en ai tué d'autres) +
-  * On oublie fréquemment de vider correctement la carte SD de l'APN familiale, et donc la veille des mariage.... +
-  * Mon [[http://www.amazon.com/Seagate-FreeAgent-DockStar-Network-STDSA10G-RK/dp/B002MRRU6G|Seagate Dockstar]] a quelque peu rendu l'âme (NAND cramée je crois bien) +
-  * J'ai un petit [[http://www.raspberrypi.org/|RaspBerry Pi]] qui a besoin d'une fonction utile +
-  * J'ai un joli serveur de sauvegarde (merci BackupPC) +
-  * Les machines sont à la cave, le matériel dans la maison _doit_ être silencieux +
-  * Sauvegarder c'est rigolo, être fainenant c'est encore mieux +
- +
- +
-====== Méthodes possibles ====== +
- +
-  - Rallonge USB :  +
-    * simple pas de travail trop intellectuel, enfin si passer le câble, et la ca deviens vite moins souple +
-    * certaines rallonge ne tiennent pas la longeur +
-  - Modifier mon <del>[[http://www.amazon.com/Seagate-FreeAgent-DockStar-Network-STDSA10G-RK/dp/B002MRRU6G|Seagate Dockstar]]</del> pour qu'il exporte un rsync de la clef +
-  - Utiliser simplement le paquet UsbIP (permet de faire passer de l'USB over IP) <= over kill +
-  - Utiliser une vrai machine (le RaspBerry PI, et étudier la chose...) +
- +
-===== Quid de la technicité des choix ? ===== +
- +
-==== NSLU2 ==== +
-  - autofs pour montage de la clef dans un rep avec le numéro de série comme point de montage +
-  - synchro sur un disque local +
-  - des que le serveur de synchro passe, il y a les données +
-  - Être bien attentif a gérer l'arrachage a chaud de la clef +
-    * Montage en RO +
-    * Faire clignoter une Led ? +
-==== UsbIp ==== +
-  - Dés insertion d'un perif USB : auto-export de celui ci +
-  - Le "ping" de Backuppc est modifier pour chercher la présence du périphérique a backuper sur le Nslu2 +
-    * Si le perif a été démonté volontairement mais pas débranché, en tenir compte +
-  - Être bien attentif a gérer l'arrachage a chaud de la clef +
-    * Montage en RO +
-    * Faire clignoter une Led ? +
-  * [[http://www.nslu2-linux.org/wiki/HowTo/UseUsbIpOnTheNSLU2|Comment faire sur NSLU2]] mais j'aime pas : cross-compil +
--> Et si je faisait ca plutôt sur mon "cadavre" d'eepc (un eepc 701 acheté pas cher car clavier HS) +
- +
-===== Pourquoi choisir UsbIP ? ===== +
- +
-  - Plus le temps va passer plus il sera difficile de trouver les binaires pour piloter mes modules USB que je vais brancher dépasseront mon NSLU2 (déjà que...) +
-  - Une Rallonge USB c'est incompatible avec la virtualisation, enfin généralement (y un hack pour Xen ;) ) +
-  - Je veux faire marcher mon pingouin magique, comme il est USB, ca serait sympa d'avoir un "standard" de l'USB a la maison ! +
-    * Pour le TuxDroid s'appuyer sur la superbe Doc http://tux.serviceinformatique06.com/ +
-  - J'aime les trucs complétement portables (oui y a le client pour windows :)))))) ) +
-  - J'aime les trucs qui sortent de l'ordinaire +
-  - J'aime l'ouverture que ca propose (oui, je ne suis plus limité a du FileSysteme, cf le TuxDroid, mais aussi la pleine synchro du GSM, en BT !!!) +
- +
-====== Ce qui fonctionne ====== +
-  A ete mis en place pour le moment +
-  * Un Eepc d'occasion le relais, sans clavier (donc pas cher, et potentiellement en wifi, donc mettable partout :) ) +
-  * Un serveur BackupPC (deja existant) avec des hostes au parametrage specifique +
-===== Manipulation faites sur le relais ===== +
-==== Creation d'un script php ==== +
-pour permettre au serveur **BackupPC** de: +
-  - //pinger// la clef USB +
-  - Lancer un dump avant le backuppc +
- +
-FIXME: a terme ce dump permettras aussi, idealement bkp table de partition mbr +
- +
-<xtermrtf> +
-<? +
- +
-# Rappelons nous les 3 etats de la mati^WClef +
-# ? Inséré   : renvoyer un errcode http +
-# ! Prete    : permet de lancer a terme un dump du mbr, etc ... +
-# ! Demounte : permet de demonter le device (coté secu c'est funcky, mais bon, j'aime le risque) +
- +
-# Les params seront +
-#   Key      : Label de la clef +
-#   Ordre    : dump/umount (si vide, alors c'est une demande si inséré ou pas +
- +
- +
-$label=basename($_GET["label"]); +
-if(file_exists("/media/".$label)) { +
-        if($_GET["go"]=="dump") { +
-                } +
-        elseif($_GET["go"]=="umount") { +
-                echo "Demande arret"; +
-                system("/usr/bin/sudo /usr/sbin/umount.hal /media/$label"); +
-                } +
-        else { +
-                echo "OK"; +
-                } +
-        } +
-else { +
-        header("HTTP/1.0 404 Not Found"); +
-        ###header("HTTP/1.0 404 Not Found",false,404); +
-        } +
-?> +
-</xtermrtf> +
- +
-==== Configuration de sudo ==== +
-Permettre a www-data de démonter la clef en fin de backup +
-<xtermrtf> +
-# /etc/sudoers +
-+
-# This file MUST be edited with the 'visudo' command as root. +
-+
-# See the man page for details on how to write a sudoers file. +
-+
-Defaults        env_reset +
- +
-# Host alias specification +
-# User alias specification +
-# Cmnd alias specification +
-Cmnd_Alias      UMOUC = /usr/sbin/umount.hal +
- +
-# User privilege specification +
-root    ALL=(ALL) ALL +
- +
-Runas_Alias     UMOUU = root +
- +
- +
-# Allow members of group sudo to execute any command after they have +
-# provided their password +
-# (Note that later entries override this, so you might need to move +
-# it further down) +
-%sudo ALL=(ALL) ALL +
-+
-#includedir /etc/sudoers.d +
- +
-# Members of the admin group may gain root privileges +
-%admin ALL=(ALL) ALL +
-www-data   ALL =(UMOUU) NOPASSWD: UMOUC +
-</xtermrtf> +
-==== Configuration de l'automount ==== +
-  - apt-get install halevt +
-=== Configurations d'halevt === +
-dans le fichier /etc/halevt/halevt.xml, modifier le bon (hihihi) paragraphe +
-<xtermrtf> +
-<halevt:Device match="hal.block.device &amp; hal.block.is_volume = true &amp; hal.volume.mount_point"> +
-   <halevt:Property name="hal.volume.is_mounted"> +
-      <halevt:Action value="true" exec="halevt-mount -s;/usr/local/sbin/call_bkppc true $hal.udi$ $hal.volume.mount_point$"/> +
-   </halevt:Property> +
-</halevt:Device> +
-</xtermrtf> +
-A ete rajouté //;/usr/local/sbin/call_bkppc true $hal.udi$ $hal.volume.mount_point$// cela lancera le script +
- +
-FIXME: dans le meme paragraphe dont //Action value="false"// nous pourrons l'employer pour faire changer la led de l'arduino +
- +
-Execution du script qui demande le backup (**/usr/local/sbin/call_bkppc**) +
-<xtermrtf> +
-#!/bin/bash +
- +
-# true /org/freedesktop/Hal/devices/volume_uuid_F03F_F5A8 /media/CLEFRBS00 +
-mntype=$1 +
-uidclef=$2 +
-nomclef=`echo $3 | sed -s "s=^/media/==g" | tr "[:upper:]" "[:lower:]"` +
-sleep 5 +
-wget -qO /dev/null "http://backuppc:AUTH@adlp.org/backuppc/index.cgi?host=$nomclef&hostIP=$HOSTNAME&amp;doit=1&action=Start_Incr_Backup" +
- +
-</xtermrtf> +
-     +
-FIXME: ici il faudra changer la couleur de la Led +
- +
-==== Configuration du rsync ==== +
-  - ajout d'un partage rsync +
-<xtermrtf> +
-[media] +
-use chroot = false +
-read only = true +
-uid = root +
-gid = root +
-hosts allow = 10.0.10.51 +
-comment  = Bkp +
-path = /media +
-auth users = backuppc +
-secrets file = /etc/rsyncd.secrets +
-</xtermrtf> +
-  - Autres ameliorations +
-    * Integrer un systeme pour backuper le MBR et la table de partition du device +
-    * Gerer les conflits de labels ? +
-    * Indiquer la fin du backup (euh, au hasard, un arduino? :) ) +
-===== Serveur de Backup ===== +
- +
-  * Je part du principe que le relais est déjà correctement backupé/able +
-  - Intégration d'un nouvel hôte, au nom du label de la clef (ouinnnn) +
-  - Configuration comme suis: (ici la clef, et le nom de la //machine// est ROMPAQ +
-<xtermrtf> +
-+
-# Local server backup of /etc as user backuppc +
-+
- +
-$Conf{TarShareName} = [ +
-  '/' +
-]+
- +
-$Conf{TarClientCmd} = '$tarPath -c -v -f - -C $shareName+ --totals'; +
- +
-# remove extra shell escapes ($fileList+ etc.) that are +
-# needed for remote backups but may break local ones +
-$Conf{TarFullArgs} = '$fileList'; +
-$Conf{TarIncrArgs} = '--newer=$incrDate $fileList'; +
- +
-$Conf{TarClientPath} = '/usr/bin/sudo /etc/backuppc/tar-create'; +
-$Conf{RsyncShareName} = [ +
-  'media' +
-]; +
-$Conf{ClientNameAlias} = 'burma'; +
-$Conf{BackupFilesExclude} = { +
-  'temporaires' => [], +
-  'tmp' => [ +
-    '*/tmp/*', +
-    '*/temp/*' +
-  ] +
-}; +
-$Conf{PingCmd} = '/usr/bin/wget -qO /dev/null http://$host/media.php?label=ROMPAQ'; +
-$Conf{BackupFilesOnly} = { +
-  '*' => [ +
-    '/ROMPAQ' +
-  ] +
-}; +
-$Conf{DumpPreUserCmd} = '/usr/bin/wget -qO /dev/null http://$hostIP/media.php?label=ROMPAQ&go=dump'; +
-$Conf{IncrPeriod} = '0.0035'; +
-$Conf{BlackoutPeriods} = []; +
-$Conf{DumpPostUserCmd} = '/usr/bin/wget -qO /dev/null http://$hostIP/media.php?label=ROMPAQ&go=umount'; +
-</xtermrtf> +
- +
- +
- +
-===== Manipulation a faire pour l'arduino ===== +
- +
-  * Bien retrouver sur quel port du hub est branchée la clef, faire le lien entre lsusb et ce que l'on reçoit lors du branchement de la clef +
-  * Les états a allumer: +
-    - Orange : clef montée, en attente de backup +
-    - Rouge  : Backup en cours +
-    - Vert   : Backup fini +
-    - Éteint : Si tout ce passe bien, il n'y a rien dans ce port. +
- +
-FIXME +
-  * Mieux gérer le nom de la "machine", c'est peu lisible +
-  * Mieux gérer le nom fictif de la machine pour la passer aux scripts => minimiser les paramétrages +
-  * Pb de casse pour automatiser sur le nom de la partitions +
-  * Pas regarde pour le multipartitionning +
-  * Mieux gérer les auth +
-    - Créer un compte sur le backuppc juste pour la demande de backup des clefs +
-    - Gérer un login/mdp //uniquement// pour la demande de dump et cette de démontage +
-    - Sélectionner les clefs qui ont droit ou non a ce bakup+
docs/hard_hack/synclef.1350852510.txt.gz · Dernière modification: 2012/10/21 22:48 par adlp
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki