Tout est faisable en utilisant que ssh : cf option -R dans le man
Etape 1 sur machine du boulot :
ssh -R 2222:localhost:22 mezigue@home.org
Là on crée une connection ssh qui en plus de la session classique écoute sur le port 2222 de home.org et renvoie le tout sur localhost:22, cad un ssh local sur boulot.
Etape 2 : rentrer chez soi et taper sur home :
ssh -p 2222 login_boulot@localhost
Et zou ça ressort direct sur boulot:22
Et si la connection de l'étape 1 tombe ? plus rien ? Que nenni, en utilisant autossh. Ce dernier lance une connection ssh et si elle tombe, la relance. Et avec un agent-ssh, c'est que du bonheur !
Par ex : autossh -M 0 -f -g -N -R 2222:localhost:22 mezigue@home.org
Attention au -g, bien lire les man de ssh et autossh avant de lancer ça directement.
PS : et avec corkscrew pour initier la connection ssh dans un tunnel HTTPS à travers un proxy, c'est encore meilleur ;-)
Je ne vois vraiment pas pourquoi on ne pourrait pas attribuer de point godwin sur une discussion sur le nazisme, ou sur godwin ; c'est vraiment réducteur comme idée... 'spèce de Nazi !
Alors au début je me suis dit "tiens, il a pas compris que c'était du 2nd degré, l'article et les commentaire". Puis après j'ai douté pour les commentaires. Pis non en fait, c'est bien du 2nd degré. Pis après je me suis dit : "le journal est peut-être aussi du 2nd degré". Voyons les commentaires... Tiens il y en qui pense que le journal n'est pas du 2dn degré. Ils doivent se tromper. Ah ben non, en fait c'était du 2nd degré aussi, mais certains n'ont pas compris... voyons plus loin. Ah l'auteur du journal dit qu'il n'avait saisi le 2nd degré. Mais dit-il la vérité ou est-ce du 2nd degré ? Et si c'est du 2nd, ceux qui réagisse directement se trompent, sauf s'ils utilisent aussi du 2nd degré, auquel cas... auquel cas... et merde, je suis perdu. Au secours !
Pour ne pas tuer à l'aveugle, un bon moyen est de vérifier le contenu de /proc/$pid . Évidemment ça ne fonctionne que sous linux, sous d'autres Unix il faut adapter.
Par ex en regardant dans /proc/$pid/cmdline on peut retrouver la ligne de commande qui a servi à lancer le process.
Dans les script /etc/init.d/, on peut trouver parfois des trucs sympa :
running_pid() {
# Check if a given process pid's cmdline matches a given name
pid=$1
name=$2
[ -z "$pid" ] && return 1
[ ! -d /proc/$pid ] && return 1
cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1`
# Is this the expected server
[ "$cmd" != "$name" ] && return 1
return 0
}
Évidemment reste le cas foireux où le pid a été réutilisé par le même process, mais là il faut vraiment pas avoir de bol. En plus les pid vont en s'incrémentant, le max est 32k, donc il faudrait avoir une rotation complète ET une relance du "bon" process pour être dans ce cas... Si ça t'arrive, joue au loto ;-)
Posté par jigso .
En réponse au message wifi.
Évalué à 4.
Bon. Alors voilà, je voudrais dire à Zézette qu'elle aille directement chez René parce que comme j'ai paumé les clés du camion, on va être emmerdés pour lui livrer l'armoire.
A priori il n'est pas possible de dire à fetchmail de distribuer les mail en fonction de l'adresse, c'est au niveau du MTA qu'il faut faire ça. Ou sinon regarde du coté de procmail. Mais c'est curieux d'avoir un seul compte pour plusieurs personnes. Ne serait-il pas plus simple d'avoir autant de récupération par fetchmail qu'il y a de destinataires ?
Pour info, le gain de performance n'est pas évident - ou au moins il ne sera peut-être pas de l'ordre de ce qu'on imagine. Les opérations de bases de traitement des données (par ex les manipulations de chaines) sont déjà écrites et exécutées en langage machine, même si on passe par une VM. Bien sûr on gagne un niveau d'indirection, mais face au traitement proprement dit ça n'est pas significatif. Par contre le gain au développement et au déploiement à ne pas avoir à recompiler est énorme.
Mais sinon, faire barboter de l'air, c'est pas suffisant comme source de CO2 ? ( Bientôt les écolos vont se plaindre qu'il n'y a pas assez de CO2 dans l'air ! ;-) )
Dan Gnu/Linux Magazine, de Juin, il y a justement une perle sur la sauvegarde de video flash : il suffit d'écrire un proxy HTTP en Perl qui recopie à la volée tous les flv dans un répertoire.
cf les modules HTTP::Proxy et HTTP::Proxy;:BodyFilter::Save
À coupler avec l'extension FoxyProxy sous Firefox qui permet de changer de proxy en fonction du site - pas là peine de faire passer tout le traffic HTTP par ce proxy, il suffit de ne l'utiliser que pour les sites voulus.
Sinon pour faire plus automatique, avec les modules WWW::Mechanize, il doit être possible de scripter la récupération et l'analyse des pages pour reconstruire l'url des flvs...
Exactement. Surtout que faire à la fois lire le flux et écrire sur disque dans le même thread est dangereux : si l'écriture disque prend trop de temps, les buffers de la couche réseau vont se remplir et provoquer des soucis en cascade aux niveaux des clients. Alors qu'en découplant les accés lecture/écriture, il est plus simple d'identifier et d'isoler le goulot d'étranglement.
Le mieux dans ces cas-là c'est du faire du multithread. : 1 thread par client, qui remplissent un buffer, et un thread qui s'occupe de vider le buffer dans le fichier. Ainsi si ponctuellement le disque "ralentit" (vis-à-vis du process), la RAM est mise à contribution, puis se vide quand le débit du disque remonte, si c'est le débit d'entrée qui diminue le buffer sera tout le temps vide - tant mieux. Si tu satures la RAM et que le disque ne suit pas, c'est pas la peine de chercher à optimiser le process (l'OS sait mieux que toi quelle resource est dispo à un moment donné), il faut changer le hard : passer sur plusieurs machines, mettre des disques plus rapides. etc...
Est-il possible de modifier le code et de le télécharger dans la box, et de la laisser brancher sur le réseau du FAI ? Je suppute que ce n'est pas trop le cas... Conclusion : il n'est pas possible de faire évoluer la box, et personne ne peut vérifier du coup que le code qui tourne est bien celui correspondant au source... Autrement dit on n'est pas loin du modèle propriétaire...
# SSH, c'est possible !
Posté par jigso . En réponse au message Initier une connexion SSH à l'envers. Évalué à 10.
Etape 1 sur machine du boulot :
ssh -R 2222:localhost:22 mezigue@home.org
Là on crée une connection ssh qui en plus de la session classique écoute sur le port 2222 de home.org et renvoie le tout sur localhost:22, cad un ssh local sur boulot.
Etape 2 : rentrer chez soi et taper sur home :
ssh -p 2222 login_boulot@localhost
Et zou ça ressort direct sur boulot:22
Et si la connection de l'étape 1 tombe ? plus rien ? Que nenni, en utilisant autossh. Ce dernier lance une connection ssh et si elle tombe, la relance. Et avec un agent-ssh, c'est que du bonheur !
Par ex : autossh -M 0 -f -g -N -R 2222:localhost:22 mezigue@home.org
Attention au -g, bien lire les man de ssh et autossh avant de lancer ça directement.
PS : et avec corkscrew pour initier la connection ssh dans un tunnel HTTPS à travers un proxy, c'est encore meilleur ;-)
[^] # Re: Useless use of sed
Posté par jigso . En réponse au message Cat et les espaces. Évalué à 2.
Il peut être parfois plus rapide d'apprendre un seul langage que 36 syntaxes de différents utilitaires dés lors que la tache est un minimum complexe.
Par ex en Perl l'exercice précédent se simplifie en :
perl -pe 'open STDOUT,">>",(split /;/)[0]' ${fichier_source}
;-)
[^] # Re: eheh
Posté par jigso . En réponse au journal Le jeu des sept erreurs. Évalué à 2.
(et hop un point de plus !)
[^] # Re: Useless use of cat...
Posté par jigso . En réponse au message Cat et les espaces. Évalué à 2.
# Useless use of cat...
Posté par jigso . En réponse au message Cat et les espaces. Évalué à 5.
sed 's/^\([A-Z].*\);.*;.*;.*;true$/\1\000/' ${fichier_source} | while read fichier_ville
if [ ! -e ${chemin}/tmp/$fichier_ville ]
then
touch "${chemin}/tmp/$fichier_ville"
fi
echo $ligne >> "${chemin}/tmp/$fichier_ville"
done
Mais sinon c'est quoi l'interêt du touch avant le append par le echo ? si le fichier n'existe pas, il est automatiquement créé...
De plus je te conseille de mettre des " autour des noms de fichiers, s'il y a des espaces ça risque de coincer.
# Pourquoi faire simple...
Posté par jigso . En réponse au message Proc::Daemon et bloc END { }. Évalué à 4.
Proc::Daemon::Init;
my $flag = 1;
...
END {
update_stats() if defined $flag;
}
[^] # Re: La question reste entière
Posté par jigso . En réponse à la dépêche Briser un DRM : un comportement irresponsable ?. Évalué à 8.
[^] # Re: Le droit de surfer
Posté par jigso . En réponse au journal J'hallucine !!! des cons pareils !!! lisez absolument ça !!!!. Évalué à 3.
# lost...
Posté par jigso . En réponse au journal J'hallucine !!! des cons pareils !!! lisez absolument ça !!!!. Évalué à 10.
[^] # Re: init
Posté par jigso . En réponse au message comment tuer des process fils automatiquement dans un script shell.... Évalué à 3.
Par ex en regardant dans /proc/$pid/cmdline on peut retrouver la ligne de commande qui a servi à lancer le process.
Dans les script /etc/init.d/, on peut trouver parfois des trucs sympa :
running_pid() {
# Check if a given process pid's cmdline matches a given name
pid=$1
name=$2
[ -z "$pid" ] && return 1
[ ! -d /proc/$pid ] && return 1
cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1`
# Is this the expected server
[ "$cmd" != "$name" ] && return 1
return 0
}
Évidemment reste le cas foireux où le pid a été réutilisé par le même process, mais là il faut vraiment pas avoir de bol. En plus les pid vont en s'incrémentant, le max est 32k, donc il faudrait avoir une rotation complète ET une relance du "bon" process pour être dans ce cas... Si ça t'arrive, joue au loto ;-)
[^] # Re: Site de Geek!
Posté par jigso . En réponse au sondage Cet été, mis à part les RMLL, je .... Évalué à 2.
https://linuxfr.org/2008/07/08/24307.html
[^] # Re: Je travaille, donc je moule.
Posté par jigso . En réponse au sondage Cet été, mis à part les RMLL, je .... Évalué à 3.
# schmilblick ?
Posté par jigso . En réponse au message wifi. Évalué à 4.
[^] # Re: Euh ...
Posté par jigso . En réponse au message probleme recuperation de messages avec fetchmail. Évalué à 1.
[^] # Re: 3nl4rg3 y0uR p3n1s !
Posté par jigso . En réponse à la dépêche Sextoys et systèmes d'exploitation. Évalué à 10.
# qqes précisions
Posté par jigso . En réponse au message Langages interprétés... questions existentielles.... Évalué à 5.
Sinon le "must" dont tu rêves proviendra probablement de Parrot ; destiné initialement à Perl6, d'autres langages disposent de leur compilateur pour cette VM. cf http://fr.wikipedia.org/wiki/Parrot_(machine_virtuelle)
[^] # Re: Euh comment dire
Posté par jigso . En réponse au journal La solution à la pénurie de pétrole.. Évalué à 3.
Mais sinon, faire barboter de l'air, c'est pas suffisant comme source de CO2 ? ( Bientôt les écolos vont se plaindre qu'il n'y a pas assez de CO2 dans l'air ! ;-) )
[^] # Re: Euh comment dire
Posté par jigso . En réponse au journal La solution à la pénurie de pétrole.. Évalué à 1.
# GLM 106 p 57
Posté par jigso . En réponse au message télécharger automatiquement des web vidéos flash. Évalué à 2.
cf les modules HTTP::Proxy et HTTP::Proxy;:BodyFilter::Save
À coupler avec l'extension FoxyProxy sous Firefox qui permet de changer de proxy en fonction du site - pas là peine de faire passer tout le traffic HTTP par ce proxy, il suffit de ne l'utiliser que pour les sites voulus.
Sinon pour faire plus automatique, avec les modules WWW::Mechanize, il doit être possible de scripter la récupération et l'analyse des pages pour reconstruire l'url des flvs...
[^] # Re: File mapping
Posté par jigso . En réponse au message DMA en C++ ?. Évalué à 2.
[^] # Re: File mapping
Posté par jigso . En réponse au message DMA en C++ ?. Évalué à 2.
# ...
Posté par jigso . En réponse au journal Mets de l'huile. Évalué à 2.
Mois c'est tout le temps...
# Et beh...
Posté par jigso . En réponse au journal Youpi !!!. Évalué à -10.
# vraiment libre ?
Posté par jigso . En réponse au journal GNU/box avec club-internet. Évalué à 1.
[^] # Re: heu
Posté par jigso . En réponse au journal M6 et France 2: nouveaux TF1 ?. Évalué à 2.