nodens a écrit 569 commentaires

  • # bi-ecran et chipset intel

    Posté par  . En réponse au journal Intel: Ca commence à être pas mal, Firefox: Ca continue à faire chier. Évalué à 2.

    Ce portable est celui du taf, du coup pour ma machine fixe, je suis parti sur une carte NVIDIA, et oui, je sais, c'est mal... Mais y'avait pas de modèle bi écran avec carte INTEL, ca existe?


    Je n'ai eu aucun souci pour faire du multi-écran avec la sortie DVI et la sortie VGA du chipset intel (GMA 4500HD) de ma carte mère gygabyte (EG45M-UD2H). Donc oui ça existe :-)
  • [^] # Re: boucles

    Posté par  . En réponse au message Avoir l'entier de la division. Évalué à 2.

    J'ai lu il y a bien longtemps, je ne sais plus où, que foreach allait être obsolète, et qu'Il fallait utiliser for à la place, du coup j'ai perdu l'habitude de l'utiliser.

    Mais heureusement on peut utiliser la syntaxe de foreach :-)

    for my $var (@array) {
    ...
    }

    (le my est en bonus, j'utilise le pragma strict et j'en suis fier)
  • [^] # Re: Règle PREROUTING avec filtre sur l'interface d'entrée

    Posté par  . En réponse au message iptables et réseaux non routables. Évalué à 1.

    Je vois le problème, mais ça ne change pas grand chose au chmilblick. Tes paquets ne partent probablement pas vers le VPN.

    Ce qu'il faut, c'est que tes paquets partent vers le VPN quand tu cherche à joindre un réseau donné. Donc il te faut une règle NETMAP en PREROUTING sur la passerelle locale qui va réécrire sur un réseau (choisi pour être unique), tu met une route vers ce réseau qui transite par le VPN, et une règle PREROUTING sur la passerelle VPN distante, pour réécrire les adresses arbitraires en adresses locale (par rapport au réseau distant, je sais pas si je me fais bien comprendre...). Bien évidemment, ça ne t'exonère pas des règles de SNAT en POSTROUTING pour gérer le problème de la route retour.

    Autre solution, le PBR, Policy Based Routing. Tu gères sur la passerelle locale plusieurs tables de routage (une par réseau distant), et tu utilise des règles iproute (ip rule add ...) pour envoyer les paquets dans les bonnes règles. Le problème étant que si les adresses source sont identiques pour accéder à plusieurs réseaux distants, ça va être coton pour faire des règles iproute qui conviennent...

    L'avantage dans ce cas là c'est que tu n'as pas de double NAT (chose que certains protocoles risquent de ne pas apprécier).

    Enfin, comme cela a été suggéré, tu peux utiliser un client openvpn sur chaque poste client, pour obtenir les adresses et routes nécessaires pour chaque réseau. Tu ne sera connecté qu'à un réseau à la fois mais ça résoud le problème. Dans la mesure ou les adresses à joindre sont des ip "internes", tu n'échapperas jamais vraiment au conflit autrement, il y aura toujours un cas pour t'embêter. Si il ne s'agit pas de connexions persistante, c'est probablement la meilleure solution, même si elle t'oblige à maintenir plusieurs configurations openvpn, à gérer les certificats et leur révocation, etc.
  • [^] # Re: sed recherche/remplace

    Posté par  . En réponse au message Ajouter un commentaire au debut d'une ligne dans un fichier avec sed. Évalué à 2.

    je suis décidément pas doué du clavier. J'ai écris :[[space:]] au lieu de [[:space:]].

    Mais la ligne de commande devrait être correcte :-)
  • [^] # Re: sed recherche/remplace

    Posté par  . En réponse au message Ajouter un commentaire au debut d'une ligne dans un fichier avec sed. Évalué à 3.

    Templeet m'a mangé les <> et [] dans les regex malgré les balises <code></code>... Vilain !

    Donc la première regex se lit :

    ^[[:space:]]*CustomLog:[[space:]]+

    et la ligne de commande sed :

    sed -rie 's/^[[:space:]]*CustomLog[[:space:]]+/#\&/i' /chemin/vers/mon/fichier

  • [^] # Re: sed recherche/remplace

    Posté par  . En réponse au message Ajouter un commentaire au debut d'une ligne dans un fichier avec sed. Évalué à 3.

    alors sur la ligne suivante :
    # moncul CustomLog

    Ca donnera
    # moncul #CustomLog

    (pas trop grave)

    et sur la ligne

    <Directory "/var/www/CustomLog">

    Ca va donner :

    <Directory "/var/www/#CustomLog">

    Ce qui devient gênant... (oui j'ai mis CustomLog et pas Custom Log pour respecter l'énoncé, mais ça marche aussi avec l'espace).

    Il faut préciser que le contenu de la backréférence matche depuis le début de la ligne.

    D'ailleurs, ce qui l'intéresse vraiment ici, je suppose que c'est les directives CustomLog dans la configuration apache.
    Donc les lignes contenant <un espace 0 ou n fois>CustomLog<un espace un nombre quelconque de fois> et on se fiche de ce qui suit (on veut juste modifier le début).

    En expression rationnelle (étendue), ça se traduit de la manière suivante :

    ^:space:*CustomLog:space:+

    Ce qui nous donne :

    sed -rie 's/^:space:*CustomLog:space:+/#\&/i'

    -r permet d'utiliser les regex étendues (surtout parce que je n'ai pas l'habitude d'utiliser les simples, je ne sais jamais quoi échapper). -i de modifier les fichiers en place (non POSIX comme dit plus haut, mais sur les distribs linux et les *BSD ça devrait passer).

    On utilise la backreference spéciale \& qui prend tout ce qui matche la regex, mais \1 peut faire l'affaire à condition de mettre les () qui vont bien autour de ce qui nous intéresse.

    Bon quand on veut faire joujou avec sed (ou awk, ou grep, ou tout un tas d'autres), il vaut mieux apprendre à se servir des expressions rationnelles. C'est jamais perdu, surtout si on fait aussi de la conf Apache httpd ;-)


    Sans aller jusqu'à se procurer Mastering Regular Expressions chez O'reilly, il existe de bons tutoriels en lignes, et man grep contient une bonne introduction (sans les backreferences, malheureusement).

    Avec cette expression, on garde les espaces et tabulations qui sont au début de la ligne, ça évite de péter l'indentation.

    Enfin, avec le /i final on ignore la casse
  • [^] # Re: Règle PREROUTING avec filtre sur l'interface d'entrée

    Posté par  . En réponse au message iptables et réseaux non routables. Évalué à 2.

    Je pense qu'il y a confusion :-)

    La seconde commande NETMAP citée fonctionne probablement très bien (du moins je ne vois pas pourquoi ça ne marcherait pas, si j'en crois le man et mon expérience de Netfilter). Mais encore faut-il router les paquets à destination de la 192.168.1.0/24 vers la bonne interface... C'est à dire à travers le VPN.

    Premier test à effectuer, est-tu capable de joindre l'adresse interne de ton routeur distant, 192.168.1.1 (en t'assurant qu'aucune règle de filtrage sur le routeur en question empeche le ping de répondre...) ?

    tcpdump est ton ami. Si les paquets n'arrivent pas sur le routeur distant, et qu'ils ne sont pas filtrés quelque part, c'est probablement qu'il te manque la route correspondante sur ton routeur local. Si les paquets arrivent, mais que tu n'as pas de réponse au ping (toujours dans l'hypothèse selon laquelle tu n'as pas de filtrage), alors c'est qu'il te manque la route retour (autrement dit, une route vers 10.1.1.0/24 depuis le routeur distant).
  • [^] # Re: mauvaise solution, mais vrai probleme

    Posté par  . En réponse au message Petites precision demandées sur les solutions de supervision. Évalué à 2.

    Ce n'est pas ce qu'il demande. Cacti aussi fonctionne en temps réel, si il n'a pas de connexion à l'hôte monitoré, il considère qu'il est down.

    Sar est une bien meilleure solution dans son cas. Cela dit je connais mal sar et les outils qui gravitent autour (notamment pour générer des graphes a posteriori, si quelqu'un a quelques liens, ça m'intéresse.
  • [^] # Re: c'est pas gnome c'est gtk

    Posté par  . En réponse au message Qui a dit que gnome n'était pas configurable ?. Évalué à 2.

    En fait ça dépend. Si on n'utilise pas gnome, ça se change dans le .gtkrc-2.0. Si on utilise gnome, c'est gconf qui gère ça (même si au fond c'est bien une feature GTK+, mais quand gconfd est démarré il va outrepasser la conf GTK+).
  • [^] # Re: Regedit

    Posté par  . En réponse au message Qui a dit que gnome n'était pas configurable ?. Évalué à 3.

    Peut-être, mais quand on dit auto-documenté on pense plutôt à ça :

    Nom de la clef : /desktop/gnome/interface/can_change_accels
    Propriétaire de la clef : gnome
    Description courte : Permet la modification des raccourcis claviers
    Description longue : Whether the user can dynamically type a new accelerator when positioned over an active menuitem.


    Le tout visible avec gconf-editor, par exemple.
  • [^] # Re: Comment ça se peut ?

    Posté par  . En réponse au journal Chez mandarin, un forfait illimité à 90 euros peut produire une facture à 45000 euros. Évalué à 7.

    Il y a une analyse relativement précise sur lesnumeriques [1] : en roaming au sein de l'UE, le Mo de données coûte 7,5€ TTC... Donc ça va vite, il suffit de 5Go (upload et download confondu) pour atteindre cette somme. Une autre hypothèse, évoquée sur 01net [2] parle d'une éventuelle erreur humaine (enregistrement du forfait 3h au lieu du forfait illimité).

    Ca me paraît d'autant plus plausible que ça m'est déjà arrivé chez orange : une clef 3G illimité à 45€ HT qui provoque une facture de 700€ (ho bah désolé on s'est trompé... Enfin après plusieurs heures de menace au téléphone, et encore c'est un compte pro donc on a des moyens de pression que le particulier n'a pas, genre on ne paye rien tant que vous avez pas réglé ça)

    Bon heureusement pour le monsieur, Orange a reconnu que son dispositif d'alerte n'a pas fonctionné, et annule la douloureuse. De plus, l'UE impose pour un système de blocage automatique gratuit quand le coût des données atteint 50€, ça devrait être appliqué en 2010 en même temps que le plafonnement du coup des connexion data à 0,80€ HT.

    [1] http://www.lesnumeriques.com/news_id-11727.html
    [2] http://www.01net.com/editorial/508652/quand-orange-facture-4(...)
  • [^] # Re: esssaye ça

    Posté par  . En réponse au message Schemas reseaux.... Évalué à 2.

    Acheter un windows n'est pas indispensable, ça marche plutôt bien avec Crossover Linux (environ 30~35 euros de mémoire pour la licence de base). Après c'est vrai que visio lui même est pas donné, loin de là, et que si c'est juste pour un schéma de temps en temps ça ne vaut pas le coup (sans parler du fait que c'est pas libre).

    Cela dit, c'est triste à dire, mais pour les schémas de réseau je n'ai effectivement pas trouvé mieux (en fait, les solutions libres sont nettement en dessous :-/).

    Le mieux est probablement de chercher du côté des logiciels de dessin vectoriel, un certain nombre ont déjà été cités : Inscape, OpenOffice Draw, XFig, Kivio...

    Il y a aussi lovelychart.com (non testé, A priori il faut du flash). Ca peut le faire si ton besoin de confidentialité n'est pas absolu (tes données restent censément privées mais je n'irais pas créer un schéma du réseau de ma boîte avec ce truc, un réseau perso pourquoi pas).

    En tout cas si quelqu'un arrive à trouver un outil comparable à MS Visio (même restreint aux diagrames réseau), je suis très intéressé. Peut-être qu'il ne faut pas se restreindre aux outils WYSIWIG, mais plutôt chercher un outil non interactif.
  • [^] # Re: Il y a illimité... et illimité par Mandarine

    Posté par  . En réponse au journal Chez mandarin, un forfait illimité à 90 euros peut produire une facture à 45000 euros. Évalué à 4.

    En fait c'est « illimité en temps, limité à 1Go en données ». Cela dit il me semblait qu'ils se contentaient de brider la bande passante pour la suite, mais je confond peut-être avec SFR.

    Sachant que si je ne m'abuse, la consultation de mails (pop3/imap) est comptabilisé à part et « ne fait pas partie du forfait internet » (sauf dans leurs version SSL sur les port 995 et 993).... De même que la VoIP qui est tout bonnement interdite.

    D'ailleurs, en dehors de chez Orange Business Service, l'AP est bridé à certains ports) et il y a au moins un NAT, voire un proxy pour le web. Et ils osent appeler ça « internet »...
  • [^] # Re: Reprend les bases

    Posté par  . En réponse au message shell : pipe et variable locale. Évalué à 2.

    si le reste du script est en shell c'est un peu dommage de faire du awk (quoique ça paraîtra parfois plus simple que de faire un pipe nommé, mais ça fait un interpréteur de plus).

    Par contre si l'essentiel du script se résumé à ça, c'est en effet une solution plus élégante que le pipe nommé (perso je suis une loutre en awk alors j'y pense rarement au dela du one-liner jetable).
  • [^] # Re: Reprend les bases

    Posté par  . En réponse au message shell : pipe et variable locale. Évalué à 3.

    un sous-shell créé pour un pipe c'est dans la définition même du fonctionnement d'unix, alors si tu veux contourner ça .... ça va être coton).

    Pas nécessairement. Le problème vient plus du while des shells bourne que du pipe. avec ksh ou zsh, il n'y a qu'un sous-shell dans ce cas là, et pas un par itération. Du coup, pas de problème. Pas de chance, POSIX a choisi la façon d'agir de sh...

    Cela dit, pour un contournement sans fichier temporaire, cf mon post plus bas :-)
  • # Mon expérience à moi

    Posté par  . En réponse au message Pare-feu Linux - test de charge. Évalué à 6.

    La carte et le driver comptent énormément.

    On aura pas du tout les même résultats avec une carte Marvell et une carte Intel, par exemple, tout simplement parce que la carte Intel fait énormément de boulot elle-même (et que le driver est bien écrit, pas trop d'interruptions, etc).

    C'est donc à prendre en compte dans les tests.

    En fonction de la quantité de règles, et de la mémoire disponible, il y a des paramètres iptables à ajuster. Notamment, par défaut, les tables de conntrack sont stockées dans une table de hash dont chaque élément contient 8 entrée de conntrack. On peut beaucoup accélérer les choses en n'en stockant qu'une par hash, et en augmentant le nombre de hash utilisables (qui est calculé en fonction de la mémoire mais qui plafonne assez vite). Tout se fait à coup de sysctl et d'options de modules, voir http://www.wallfire.org/misc/netfilter_conntrack_perf.txt

    Enfin, il faut prendre garde à évaluer non seulement la bande passante, mais aussi et surtout le nombre de paquets par seconde : c'est comme ça qu'on évalue les performances d'un routeur.

    Dans les tests, je te suggère de prévoir plusieurs jeux de paquets (a rejouer avec tcpreplay, plusieurs fois, pour lisser les résultats et éviter les gags du genre cron qui tourne, phases de la lune, rafale de neutrinos, etc). Parmi eux, prévoir du NAT, plusieurs IP internes si possible, et plusieurs "profils" (petits paquets, gros paquets, avec ou sans fragmentation, grand nombre de connexions genre p2p...).


    Mais ce genre de bench est toujours intéressant.
  • [^] # Re: Reprend les bases

    Posté par  . En réponse au message shell : pipe et variable locale. Évalué à 3.

    peut-être que c'est pour un script d'init ?

    Moi je trouve que c'est une bonne question, y'a plein de raisons qui poussent à utiliser un shell en particulier dans des circonstances particulières.

    Il ne va pas non plus passer plus de temps à poser la question et nous pondre un roman sur le contexte qu'il n'en a passé à écrire le script, alors que son problème n'est pas "réaliser telle opération", mais "contourner une limite des shell bourne", à savoir la création de sous-shell en cas de pipe... C'est typiquement le genre de question intelligente et dont les réponses peuvent servir à d'autres que j'aime voir dans les forums.
  • [^] # Re: Reprend les bases

    Posté par  . En réponse au message shell : pipe et variable locale. Évalué à 2.

    de plus, il a bien précisé que la solution bash ne lui convenait pas, puisqu'il voulait utiliser dash. Ce qu'il lui faut c'est une solution POSIX, qui marche quel que soit le shell.

    À ce compte là on peut aussi dire que ce problème ne se poserait pas avec ksh ou zsh, puisqu'ils ne créent pas de sous-shell pour les pipes.

    Franchement la question est pertinente, le coup du pipe et des variables locales c'est tordu.
    Répondre un STFW (ou un RTFM) c'est un peu rude.
  • [^] # Re: Reprend les bases

    Posté par  . En réponse au message shell : pipe et variable locale. Évalué à 7.

    meuh si on peut... Il suffit de positionner l'IFS à newline (voire à null dans les cas extreme, mais encore faut-il que ton programme en entrée soit prévu pour).


    BACKUPIFS=$IFS
    IFS=$'\n'

    for trucmuche in $($script); do
    ...
    done
    IFS=$BACKUPIFS


    (note : si tu n'a pas modifié l'IFS avant, unset IFS est plus simple que la sauvegarde / restauration).

    Bon cela dit, c'est pas toujours une bonne solution, parce que si tu as plus de résultats que ton shell ne prend d'arguments, ça foire... Le while read est donc une solution bien plus élégante.

    Dans ce cas là, tu peux utiliser un pipe nommé : ça complexifie un peu, parce qu'il faut le créer (et donc le supprimer, comme un fichier temporaire). L'avantage, c'est que c'est juste un fichier device en mode caractère et donc qu'il n'y a pas d'écriture sur disque.


    #/bin/dash

    script="/bin/ls"

    TMPDIR=$(mktemp -dt script.XXXXXX)
    FIFO=$TMPDIR/script.pipe

    trap "rm -rf $TMPDIR" EXIT

    mkfifo $FIFO


    $script > $FIFO &

    COUNT=0
    while read trucmuche; do
    COUNT=$(($COUNT +1))
    done < $FIFO

    echo $COUNT
  • [^] # Re: question subsidiaire

    Posté par  . En réponse au journal Les Anglais et l'euro. Évalué à 4.

    Moi je pense que la Gauche anglaise est quand même bien à Droite. Mais bon, c'est pas les seuls dans ce cas.
  • [^] # Re: Précision

    Posté par  . En réponse au journal Déguisement de Tux. Évalué à 7.

    C'est là qu'on voit tout l'intérêt du bon usage de la ponctuation. Une virgule bien placé, et hop, l'ambiguïté disparaît. Et en plus, c'est bien plus proche de la version parlée.
  • [^] # Re: Garder sa 3DFX ?

    Posté par  . En réponse à la dépêche Intel ne maintient plus le pilote Linux Poulsbo depuis un an et demi. Évalué à 5.

    Bref j'en peux plus. Je regarde régulièrement l'avancée des pilotes libres, surtout du côté de AMD qui semblait s'être engagé dans cette voie. Ça ne bouge pas depuis au moins deux ans.

    Heu, tu es sûr d'avoir les bonnes sources d'information ? Regarde du côté de http://www.phoronix.com/ par example. Les drivers libres pour les cartes AMD, ça bouge. DRM, KMS, Gallium3D... Les cartes les plus récentes ne sont peut-être pas encore supportées, mais ça va venir.
  • [^] # Re: performance du 2.6.32

    Posté par  . En réponse au journal Où il est question de BFS, d' x264 et de performance du noyau. Évalué à 3.

    régression, régression... En terme de performances, oui. En terme de sécurité des données en cas de crash, il y a un fameux progrès (oui, il faut lire l'article jusqu'au bout).

    D'ailleurs, si on a un controleur disque avec une batterie pour assurer le commit des données en cache (les controleur raid de serveur par exemple), on peut passer outre la protection supplémentaire avec une simple option de montage (nobarrier). Enfin, on parle d'ext4 uniquement.
  • # A propos du 2.6.32

    Posté par  . En réponse à la dépêche Des nouvelles du noyau Debian. Évalué à 3.

    Phoronix a levé une forte régression des performances de postresql sur ce noyau (avec ext4) : http://www.phoronix.com/scan.php?page=article&item=linux(...)

    Bon, en fait c'est pour la bonne cause, il s'agit d'éviter un risque de perte de données dans certaines circonstances... Et si on a le matos kivabien (genre un controleur raid matériel avec une batterie chargée), on a la possibilité de contourner le souci avec un -o nobarrier au montage.

    (Pour la petite histoire, ils ont pu tracer le problème en bricolant leur suite de benchmark pour recompiler chaque révision du git, rebooter sur le noyau et relancer le test, je trouve ça magnifique dans le genre « je suis obstiné mais flemmard, je vais écrire quelques centaines de lignes de code histoire que ma machine bosse sans moi »).
  • [^] # Re: kerberos ldap

    Posté par  . En réponse au message Un SSO pas orienté web ?. Évalué à 2.

    j'ajouterai, avec les API qui vont bien (GSSAPI, SPNEGO selon qu'on soit dans le libre ou chez microsoft). Après pour les citrix et compagnie, j'ai peur qu'il faille se tourner vers les usines à gaz propriétaires...