Re: [CBLX] question script après DHCP

[ Thread Index | Date Index | More lists.tuxfamily.org/carrefourblinux Archives ]


Salut Mathhieu,


From: Mathieu Barbe <mathieu.barbe@xxxxxx>
Subject: Re: [CBLX] question script après DHCP
Date: Mon, 26 Aug 2013 10:45:43 +0200

> coucou Pierre,
> j'avais comprit ton application mais j'avais mal fait le lien
> avec la mienne.

  Pour le coup je crois que c'est moi qui ne comprends pas
  exactement quelle est ta configuration. Je ne comprends pas
  où est le serveur dhcp. Pour nous mettre d'accord et surtout
  nous comprendre : Il y a la machine qu'on appellera locale et
  qui semble avoir à son bord les outils de travail type
  synthèse etc ... Et puis la machine distante. Mais où est le
  serveur dhcp qui donne l'ip ? Si tu es capable de te loguer
  en ssh sur la machine distante c'est que tu as une ip quelque
  part ? Pour moi ça suffit pour faire tourner le truc dans le
  tunnel ssh. Mais il doit y avoir encore un truc qui
  m'échappe. Pas grave par approximations successives on va
  finir par se comprendre.




> Mais si j'utilise ta méthode, il faut bien que je sache
> quand j'ai une ip pour pouvoir l'envoyer à l'ordinateur
> local?

  Ah je crois que je comprends mieux il y a donc un troisièmùe
  laron qui distribue les ip i.e. un serveur dhcp qui va donner
  une ip à la machine distante quand tu la plugues. Il faudrait
  à ce moment-là que ta machine locale soit avertie de
  l'événement et sache quelle est cette ip. Mais pourquoi ta
  machine distante n'a-t-elle pas un nom qui puisse être résolu
  par un dns ou une ip fixe ? Note que ça résoud la question de
  transmettre l'ip à la machine locale mais pas celle de
  signaler l'événement du plug/unplug.


  Bon si j'ai complètement fantasmé sur l'organisation de ton
  réseau et que je raconte n'importe quoi fais moi un dessin !
  Euh si tu peux me le raconter en quelque mot ça sera aussi
  bien ! 




> Du coup c'est le même prôblme qu'avant.
> Sinon, serait-il possible de lancer un script en arrière
> plan au démarrage qui tourne en rond et qui test un lien
> réseau.

  Oui on peut toujours lancer autant de scripts qu'on veut mais
  un qui tourne en rond c'est quand-même un peu lourd pour le
  système. Vaut mieux un chron avec un délais raisonable.


  Mais on en revient à la question que je posais à Gilles :
  est-ce que le plug/unplug est un kernel event exporté quelque
  part dans un userspace ? Sinon ça va être coton de le
  capturer.

  A je pense à quelque chose, mais je te préviens Matthieu
  avant de mettre en oeuvre une solution comme celle qui suit
  je chercherais ailleurs mais :

  chrond le daemon chron te permets de lancer un script à
  intervalle régulier. 

  ping : sur une interface réseau te permets de tester du
  traffic (enfin de voir si tu peux passer des bits.) Si elle
  est branchée tu peux, sinon tu peux pas ! Donc tu l'as ta
  solution là ! Mais moi je dis c'et quand même le genre bout
  de ficelle et si on peut faire plus élégant et moins bricolo
  ça sera quand-même mieux ! 




> Puis une fois trouvé, il s'occupe de
> récupérer l'ip et de l'envoyer au tunnel ou a
> espeak!!

  Humpf du coup je ne comprends plus bien ! espeak ne devrait
  pas avoir besoin de l'ip puisque il se comporte en serveur
  pas en client. Le hic dans ton système Matthieu c'est qu'il y
  a plusieurs applis client/serveur qui ont envie de tourner de
  manière un peu croisée et que le fait d'être client ou
  serveur n'est pas caractérisé par le fait de tourner sur une
  machine ou une autre. Il y aura des applis serveur sur une
  machine et des clients sur cette même et idem sur
  l'autre. Voilà pourquoi un descriptif un peu plus précis de
  ton ""usine à gaz"" nous permettrait de réfléchir plus
  efficacement.


  P.




> Pensez-vous cela réalisable!
> ++
> 
> 
> Le 25/08/2013 15:27, Pierre Lorenzon a écrit :
>> From: Gilles Touzé <gilles.touze@xxxxxxxxxxx>
>> Subject: Re: [CBLX] question script après DHCP
>> Date: Sun, 25 Aug 2013 15:19:19 +0200
>>
>>> Bonjour à tous,
>>> je m'en mêle un petit peu (car je n'aurai pas Internet
>>> demain,
>>> ni la semaine prochaine) ; je n'interviens plus guère
>>> sur la
>>> liste depuis longtemps car je n'ai pas grand chose à
>>> apporter,
>>> mais là, je viens de résoudre un problème
>>> similaire sur une
>>> Ubuntu : déclencher un script à l'insertion d'une
>>> clé usb.
>>>
>>> Come le supposait Aldo, cela repose sur une règle
>>> udev. Voir à
>>> ce sujet l'article udev sur www.ubuntu-fr, c'est le mieux que
>>> j'ai trouvé, il donnera les indications pour localiser
>>> l'insertion de la carte réseau. Revenons à ma
>>> clé usb ; je crée
>>    Bémol : il ne s'agit pas de l'insertion d'une carte
>>    réseau
>>    mais du plug/unplug d'un rj45 si j'ai bien compris. Or s'il
>>    est avéré que l'insertion d'une clef usb est un
>>    kernel event
>>    es-tu sûr Gilles qu'il en soit de même du
>>    plug/unplug d'une
>>    fiche RJ45 ? En effet, s'il ne s'agit pas d'un kernel event
>>    (et même si je ne bois pas dans mon chapeau) s'il n'est
>>    pas
>>    exporté dans le user space /sys je crois qu'il n'est pas
>>    visible par udev.
>>
>>    Sans vouloir me faire mousser l'idée udev était
>>    de moi mais
>>    je reste persuadé, tant que Matthieu ne m'a pas
>>    expliqué
>>    vraiment pourquoi la solution par le tube ssh ne peut
>>    être
>>    envisagée qu'elle est quand-même plus simple.
>>
>>    Cela dit Gilles maîtriser les règles udev
>>    ça peut toujours
>>    servir et moi je n'ai pas eu encore le courage d'apprendre
>>    juste parce que je n'en ai pas eu encore besoin au point de
>>    m'investir là-dedans.
>>
>>    Profite bien de ta dernière semaine avant que la
>>    pédagogie ne
>>    te capture de nouveau !
>>
>>    PIerre
>>
>>
>>> le fichier /etc/udev/rules.d/81-local.rules avec pour contenu :
>>>
>>> ACTION=="add", SUBSYSTEMS=="usb",
>>> ATTRS{serial}=="071085501083AB2E",
>>> RUN+="/home/gilles/.scripts_persos/sauve_PEDAGO"
>>>
>>> L'astuce est que le script sauve_PEDAGO ne fait rien d'autre
>>> que d'en lancer un deuxième, EN TACHE DE FOND, car le
>>> premier
>>> script (lancé par udev) doit se terminer pour pouvoir
>>> poursuivre le montage de la clé (et pour le
>>> réseau, pour que le
>>> gestionnaire de connexion puisse faire son boulot) d'une part,
>>> et d'autre par, la tâche qu'il lance doit pouvoir
>>> être exécutée
>>> APRES la fin de l'initialisation du périphérique
>>> ; afin
>>> d'obtenir ce résultat, le script appelé (il
>>> s'appelle
>>> sauv_cle_PEDAGO) s'appelle lui-même récursivement
>>> jusqu'à ce
>>> qu'il puisse faire son boulot. Je joins le source des deux
>>> scripts (il y a du déchet dedans, il faut trier surtout
>>> les
>>> commentaires), en espérant inspirer suffisamment pour
>>> faire
>>> avance le schmilblick.
>>>
>>> sauv_PEDAGO :
>>>
>>>
> #################################################################
>>> #Les scripts persos sont placés dans
>>> #/home/$user/.scripts_persos#
>>>
> #################################################################
>>>
>>>
> #################################################################
>>> #La sauvegarde se fait dans /home/touze/.sauvegarde/PEDAGO/
>>> #
>>> #
>>> #Script gérant la sauvegarde automatique de PEDAGO.
>>>
> #################################################################
>>>
>>>
> #################################################################
>>> #Créer le fichier /etc/udev/rules.d/81-local.rules
>>> #avec pour contenu :
>>> #ACTION=="add", SUBSYSTEMS=="usb",
>>> #ATTRS{serial}=="071085501083AB2E",
>>> #RUN+="/home/gilles/.scripts_persos/sauve_PEDAGO"
>>>
> #################################################################
>>>
>>> SCRIPT=/home/gilles/.scripts_persos/sauve_clef_PEDAGO
>>>
>>>
> #################################################################
>>> #Lancer en background : ()& #
>>>
> #################################################################
>>> ($SCRIPT > /tmp/sauve_clef_PEDAGO.log 2>&1 && exit 0) &
>>>
>>>
>>> et enfin sauv_cle_PEDAGO :
>>>
>>> #!/bin/sh
>>>
>>> SRC_DIR="/media/gilles/PEDAGO/"
>>> TGT_DIR="/home/gilles/Ubuntu One/PEDAGO"
>>>
>>> synchronize () {
>>>    echo "synchronize";
>>>    if test -d "$SRC_DIR"; then
>>>
> ########################################################################################################
>>> #On fait une sauvegarde avec backup (les anciennes versions d'un
>>> #fichier sont conservées renommées).  #
>>>
> ########################################################################################################
>>>      rsync -abvd --backup-dir=.rsync-backups --progress
>>>      --partial-dir=.rsync-partial "$SRC_DIR" "$TGT_DIR" &&
>>>      chown -R gilles:gilles "$TGT_DIR";
>>>    else
>>>    fi;
>>>      sleep 1 && synchronize;
>>> }
>>>
>>>
>>> main () {
>>> #echo "main" &&
>>> #mkdir -p "$SRC_DIR" &&
>>> #echo "Mounting..." &&
>>> #mount /dev/sdb1 "$SRC_DIR" ||
>>> #echo "Mounted !" &&
>>> synchronize;
>>> }
>>>
>>> main && echo "done" && exit 0
>>>
>>> Voilà, c'est tout ce que je peux apporter sur la
>>> question, mais
>>> j'espère fournir un cadre structurel utilisable. Bon
>>> courage
>>> pour l'adaptation, (j'avoue que personnellement, je
>>> n'étais pas
>>> de taille à créer ça tout seul, je me suis
>>> fait aider par un
>>> vrai professionnel). Mais je garantis que c'est une
>>> façon de
>>> procéder de bonne qualité.
>>>
>>> Gilles.
>>>
>>>
>>> Le 25/08/2013 14:08, Pierre Lorenzon a écrit :
>>>> From: Mathieu Barbe <mat.barbe@xxxxxxxxx>
>>>> Subject: Re: [CBLX] question script après DHCP
>>>> Date: Sun, 25 Aug 2013 11:50:24 +0200
>>>>
>>>>> J'ai bien compris ce que tu fais mais si j'ai pas l'ip de ma
>>>>> carte je ne risque pas de faire une redirection de port en ssh.
>>>>> En faite je ne vois pas trop de point commun entre ton
>>>>> application et se que je veux faire.
>>>>> toi tu te sert des outils d'accessibilité de ta machine
>>>>> distante pour les sortir sur ta machine local.  Non ! La
>>>>     machine locale tourne le serveur speech-dispatcher avec
>>>>     festival derrière. Sur la machine distante il y a emacs
>>>>     qui
>>>>     envoie sont flux sur le port 6560 mais à travers le ssh
>>>>     le
>>>>     port 6560 est celui de la machine locale où
>>>>     écoute
>>>>     speech-dispatcher donc le son est local.
>>>>
>>>>
>>>>
>>>>
>>>>> Moi la machine distante n'a pas ces outils et ma machine local
>>>>> les a belle et bien.
>>>>     C'est exactement mon cas aussi.
>>>>
>>>>
>>>>
>>>>
>>>>> Et j'ai pas son ip
>>>>     On n'a pas besoin de l'ip de la machine local si on redirige
>>>>     les ports dans le tube ssh.
>>>>
>>>>
>>>>     P.
>>>>
>>>>
>>>>
>>>>> :-)
>>>>> ++ Math
>>>>>
>>>>>
>>>>> Mathieu Barbe
>>>>> Mail: mat.barbe@xxxxxxxxx
>>>>> 28 rue Nicolas Chorier
>>>>> 38 000 Grenoble
>>>>>
>>>>> Le 25/08/2013 05:48, Pierre Lorenzon a écrit :
>>>>>> From: Mathieu Barbe <mat.barbe@xxxxxxxxx>
>>>>>> Subject: Re: [CBLX] question script après DHCP
>>>>>> Date: Sat, 24 Aug 2013 22:51:08 +0200
>>>>>>
>>>>>>> la vrai idée c'était de lancer la synthèse
>>>>>>> vocale espeak avec l'adresse ip en paramètre
>>>>>>> Cela me permet de me connecter en ssh par la suite.
>>>>>>> Car c'est sur une carte embarqué sans écran et
>>>>>>> sans outils d'accessibilité.
>>>>>>> Je vais étudier ce que vous m'avez répondu,
>>>>>>> Merci.
>>>>>>       Bon indépendamment de ce que tu veux faire exactement ta
>>>>>>      question était intéressante parce que
>>>>>>      déclencher une action
>>>>>>      quelconque par rapport à l'événement
>>>>>>      plug/unplug d'une
>>>>>>      connection ethernet ça ne semble pas exotique du tout et
>>>>>>      tu
>>>>>>      n'es vraisemblablement pas le premier à vouloir faire un
>>>>>>      truc
>>>>>>      pareil.
>>>>>>
>>>>>>      Pour ce que tu veux faire spécifiquement est-ce la bonne
>>>>>>      stratégie ? As-tu besoin que la synthèse tourne
>>>>>>      explicitement
>>>>>>      sur la carte embarquée ? Ne serait-il pas plus simple de
>>>>>>      faire tourner le serveur de synthèse sur la machine
>>>>>>      locale à
>>>>>>      partir de laquelle tu te connectes avec une redirection de
>>>>>>      port avec -R dans le ssh ? Moi c'est ce que je fais dans mon
>>>>>>      bureau à la fac par exemple. Dans mon bureau j'ai une
>>>>>>      charrette (pour ne pas dire une brouette i.e. un compaq de
>>>>>>      2000) mais qui peut faire tourner festival+mbrola de
>>>>>>      manière
>>>>>>      à peu près raisonnable. En revanche pour utiliser
>>>>>>      mes outils
>>>>>>      favoris je préfère travailler sur le serveur du
>>>>>>      labo. Et bien
>>>>>>      ssh -R port:port fait que dans ma session ssh les process
>>>>>>      lancés sur la machine distante voient leur
>>>>>>      requête sur le
>>>>>>      port donné redirigées sur la machine locale : et
>>>>>>      le son sort
>>>>>>      dans mon bureau et pas dans le local technique où il y a
>>>>>>      le
>>>>>>      serveur.
>>>>>>
>>>>>>      Clair/pas clair ? fais un petit man ssh et on en reparle !
>>>>>>
>>>>>>      Pierre
>>>>>>
>>>>>>
>>>>>>
>>>>>>> ++ Math
>>>>>>>
>>>>>>> Mathieu Barbe
>>>>>>> Mail: mat.barbe@xxxxxxxxx
>>>>>>> 28 rue Nicolas Chorier
>>>>>>> 38 000 Grenoble
>>>>>>>
>>>>>>> Le 20/08/2013 05:52, Pierre Lorenzon a écrit :
>>>>>>>> From: raphael.poitevin@xxxxxxxxx (Raphaël POITEVIN)
>>>>>>>> Subject: Re: [CBLX] question script après DHCP
>>>>>>>> Date: Mon, 19 Aug 2013 23:51:08 +0200
>>>>>>>>
>>>>>>>>> Mathieu Barbe <mat.barbe@xxxxxxxxx> writes:
>>>>>>>>>> Je veux
>>>>>>>>>> ex�������cuter un
>>>>>>>>>> script qui se
>>>>>>>>>> lancerait
>>>>>>>>>> apr�������s avoir :
>>>>>>>>>> brancher un
>>>>>>>>>> c�������ble
>>>>>>>>>> r�������seau,et
>>>>>>>>>> apr�������s
>>>>>>>>>> avoir
>>>>>>>>>> optenu mon ip avec le dhcp!
>>>>>>>>>> Avez-vous une
>>>>>>>>>> id�������e?
>>>>>>>>> Peut-�������tre voir
>>>>>>>>> du
>>>>>>>>> c�������t�������
>>>>>>>>> des
>>>>>>>>> if-updown ;
>>>>>>>>> des scripts
>>>>>>>>> s'ex�������cutent au
>>>>>>>>> moment
>>>>>>>>> o������� la carte
>>>>>>>>> r�������seau est
>>>>>>>>> activ�������e et
>>>>>>>>> d�������sactiv�������e.
>>>>>>>>       Pour moi ces scripts sont lancés par les scripts de
>>>>>>>>       démarrrage mais pas par le daemon dhcp. Cela dit il
>>>>>>>>       suffit de
>>>>>>>>       mettre la main sur un seul script qui srait exécuté
>>>>>>>>       par le
>>>>>>>>       daemon dchp au moment du plug/unplug event et de le
>>>>>>>>       customizer pour que ça marche.
>>>>>>>>
>>>>>>>>
>>>>>>>>       P.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>> -- 
>>>>>>>>> Rapha�������l
>>>>>>>>> ������� Tout
>>>>>>>>> chercheur
>>>>>>>>> plong������� dans la
>>>>>>>>> science subit
>>>>>>>>> une pouss�������e de
>>>>>>>>> bas en haut susceptible
>>>>>>>>> de lui remonter
>>>>>>>>> le moral. �������
>>>>>>>>> Monsieur
>>>>>>>>> Cyclop�������de
>>>>>>>>>
>>>>>>>>> -- 
>>>>>>>>> -- 
>>>>>>>>>        CarrefourBLinuX MailingListe
>>>>>>>>>        Pour obtenir de l'aide, envoyez le sujet  help  à:
>>>>>>>>>        carrefourblinux-request@xxxxxxxxxxxxxxxxxxx
>>>>>>>>>        Archives:
>>>>>>>>>        http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux
>>>>>>>>>
>>>>>>> -- 
>>>>>>> -- 
>>>>>>>      CarrefourBLinuX MailingListe Pour obtenir de l'aide, envoyez le
>>>>>>>      sujet help �:
>>>>>>>      carrefourblinux-request@xxxxxxxxxxxxxxxxxxx
>>>>>>>      Archives:
>>>>>>>      http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux
>>>>>>>
>>>>> -- 
>>>>> -- 
>>>>>     CarrefourBLinuX MailingListe Pour obtenir de l'aide, envoyez le
>>>>>     sujet help �:
>>>>>     carrefourblinux-request@xxxxxxxxxxxxxxxxxxx
>>>>>     Archives:
>>>>>     http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux
>>>>>
> 
> 
> -- 
> -- 
>   CarrefourBLinuX MailingListe Pour obtenir de l'aide, envoyez le
>   sujet help �carrefourblinux-request@xxxxxxxxxxxxxxxxxxx
>   Archives:
>   http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux
> 

-- 
-- 
   CarrefourBLinuX MailingListe 
   Pour obtenir de l'aide, envoyez le sujet  help  �
   carrefourblinux-request@xxxxxxxxxxxxxxxxxxx
   Archives: 
   http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/