daggett a écrit 533 commentaires

  • [^] # Re: pas mieux

    Posté par  . En réponse au message Ne sait pas installer Driver Video Nvidia Mandriva one. Évalué à 1.

    le "ln" c'est un LN en minuscule, pas un I (comme Isidore).

    Evidemment en console texte, le copié-coller est + difficile... Par contre, es-tu au courant pour la complétion ? La touche complète automatiquement les commandes où les noms de fichiers que tu commences à taper (jusqu'au bout, où jusqu'au plus gros morceau complétable s'il n'y a pas unicité), ça améliore la vitesse et ça évite les fautes avec les noms de fichier à rallonge.
  • [^] # Re: utiliser à nouveau dd

    Posté par  . En réponse au message extraire le contenu d'une image d'une clé ou disque. Évalué à 1.

    Sinon, tu parles de support endommagé, en général ça veut dire erreurs d'accès: ton image fait-elle la bonne taille ?
    Parceque dd s'arrete dès qu'il rencontre une erreur d'I/O qui résiste, et donc on se retrouve avec juste le début de l'image.
    En rajoutant un "conv=noerror", dd va continuer de lire le support (en remplaçant les blocs illisible par des zeros) jusqu'au bout.
    Si tu n'as pas la bonne taille d'image (donc au moins 524M), je te conseille de courir récupérer le disque avant qu'il n'y ait plus rien à récupérer.
  • [^] # Re: utiliser à nouveau dd

    Posté par  . En réponse au message extraire le contenu d'une image d'une clé ou disque. Évalué à 1.

    Je pense que le problème est surtout que l'image est une image du disque entier, pas de la partition directement.

    Donc pour l'extraire, il faut faire un dd en lui disant de sauter la table des partitions:
    Dans ton cas, la partition commence à 27k, donc:
    dd if=disk.img of=partition.img bs=1k skip=27

    ou bien dd if=disk.img of=partition.img bs=27k skip=1 (plus le blocksize est gros, plus la copie va vite).

    Je suppose que la partition est unique dans ton image, sinon tu rajoute un size=536576 (ou size=19873, avec des blocs de 27k) pour ne pas dépasser.

    Ensuite tu auras ta partition.img que tu peux monter en loop ou réparer avec d'éventuels outils (meme faire un fsck dessus)
  • # Droits d'auteurs, photos et mariage

    Posté par  . En réponse au journal Droits d'auteurs, tableaux et mariage. Évalué à 1.

    Rappelle-nous aussi quand tu verras que le photographe exigera d'avoir le droit d'auteur sur vos photos et refusera de vous donner les négatifs !
  • [^] # Re: Question

    Posté par  . En réponse au journal Stardust@home. Évalué à 3.

    Probablement qu'on t'a moinsé pour avoir posé une question qui est répondu presque immédiatement en suivant l'onglet "About" du 1er lien; Alors comme les gens ont la flemme d'aller se renseigner par eux-même pour des questions qui leur semblent pourtant importantes, voila la citation:

    In recognition of the critical importance of the Stardust@home volunteers, the discoverer of an interstellar dust particle will appear as a co-author on any scientific paper by the Stardust@home collaboration announcing the discovery of the particle. The discoverer will also have the privilege of naming the particle!
  • [^] # Non.

    Posté par  . En réponse au journal Stardust@home. Évalué à 1.

    Raté. C'est un "scratch" d'aerogel ( comme précisé dans le tutoriel http://stardustathome.ssl.berkeley.edu/ss_thumbnails.php?tn=(...) ), il y en a plein comme ça (des tres fins comme le tiens, et des tres gros avec les "triangles" qui prennent jusqu'à 1/10eme de l'image). Astuce: Si c'est focalisé à la surface, c'est que c'est pas un track en profondeur...

    Par curiosité, si t'as cliqué, maintenant elle apparait dans ta liste "my events", peux-tu nous dire combien d'autres personnes l'ont confirmé ? Des fois je m'inquiete un peu de la quantité de faux positifs dont la "communauté" formée en 15 minutes va inonder les chercheurs...

    Et pour la redondance: Si, c'est envoyé à 4 initialement, et si au moins 2 prétendent qu'il y a quelque chose, c'est re-envoyé à 100 personnes pour être confirmé par au moins 20. Les plus confirmés seront les 1ers à êtres examinés par des professionnel.
  • [^] # Attention au "atime" !

    Posté par  . En réponse au message Effacer des fichiers vieux de N jours. Évalué à 5.

    Si tu utilises "atime" au lieu de mtime, fais bien attention à ce que la partition dans laquelle tu vas opérer ne soit pas montée en "noatime" ! (visible entre parentheses quand on tape "mount", et dans le /etc/fstab)

    En effet, en "noatime", le kernel ne va alors plus mettre à jour la date d'accès dûe aux lectures (ça permet d'optimiser un peu, en évitant de faire des écritures à chaque lecture -- dans ce cas le système n'est plus Posix) et donc on ne sait plus si un fichier n'est effectivement plus utilisé.

    Ça n'a peut-être pas d'importance si par "vieux" tu veux dire "pas modifié", auquel cas le mtime suffirait.
  • # linuxdevices

    Posté par  . En réponse au message Conseil Conseption systeme embarquer. Évalué à 2.

    Tu peux probablement trouver plein de trucs sur http://www.linuxdevices.com (aussi bien en matériel qu'en outils de développements), en cherchant "embedded ARM" par exemple.

    Il y a aussi des trucs super miniaturisés du style http://www.picotux.com/ mais ça dépasse ton budget apparemment (tu peux voir qu'il n'y a que 2MB de flash, et que ça suffit)
  • [^] # Re: Slurp mode

    Posté par  . En réponse au message grep multi-ligne. Évalué à 3.

    En fait il faut comprendre que dans ce mode, il n'y a effectivement qu'une seule ligne (tres longue). Ton while() ne fait qu'un tour; de même, dans ta regexp, le "^" de début de ligne est aussi un début de fichier.


    Je connais tres peu perl en fait, mais un exemple de script qui traine chez moi itère sur le fichier en capturant les morceaux de fichiers autour de la regexp de cette façon:


    # Ads deleter in HTML
    undef $/; # enable "slurp" mode
    $Tstart ="<!--Start of Ad -->";
    $Tend ="<!--End of Ad-->";
    while (<>) {
    while ( /(.*)$Tstart.*?$Tend(.*)/s ){ $_= "$1$2";}
    print "$_";
    }


    Et pour matcher des frontières de "vraie ligne" sans ^ ni $, on peut utiliser \n (c'est un peu crade...)

    Si un expert en perl passe ici et veut bien prendre le relai...
  • # Slurp mode

    Posté par  . En réponse au message grep multi-ligne. Évalué à 3.

    Tu veux probablement activer le "slurp mode", c'est-à-dire faire fonctionner perl sur le fichier entier et non pas ligne par ligne, en désactivant le séparateur de lignes avec undef $/;

    (man perlvar, ou http://perldoc.perl.org/perlvar.html )
  • [^] # Re: euh...

    Posté par  . En réponse au journal Coup de gueule pour une chanson.... Évalué à 5.

    "pour l'instant, ca en est juste a..." , "attends de voir ce que ca va donner avant de pousser des grands cris."

    J'en profite pour pousser un coup de gueule contre ceux qui ne poussent pas de coup de gueule.
    Je trouve ça un peu naïf, et potentiellement dangereux, cette façon de penser "tant qu'il n'est pas trop tard, il ne sert à rien de s'inquiéter".

    Peu m'importe d'être sûr de gagner un procès si on m'attaque sur un motif futile: c'est le principe même d'être accusé qui me choque.
    Premièrement, du côté de l'accusé: ça va impliquer une certaine dépense d'énergie simplement pour faire valoir le sens commun et son bon droit, et potentiellement, si ce genre de piqûre de moustique se répete, on risque de se lasser et simplement payer l'amende rapidement pour être laissé tranquile. C'est par exemple une technique d'arnaque: si quelqu'un de peu scrupuleux vous facture 1 euros de trop sur un total de 1000, est-ce que vous allez faire l'effort de le récupérer ? S'il fait ça à tout le monde ?
    Deuxièment, du côté de l'accuseur: Eh bien c'est décevant, c'est tout. Oui, il faut les engueuler pour qu'ils se décident à agir comme des gens respectables et pas comme des gros boulets. Et l'engueulade doit être plus que proportionnelle à l'incivilité commise, pour contrecarrer le 1er point, sinon ils ne s'arreteront pas.

    Alors dans ce cas, oui ça n'est qu'une lettre de relance standard. Mais je ne veux pas qu'on puisse se cacher derrière "la procédure bureaucratique automatique".

    C'est vrai que plus le temps passe, plus je m'emporte à râler au moindre truc. Probablement parceque j'ai fini par voir qu'on est cernés par les emmerdeurs, et qu'il ne faut jamais leur accorder le bénéfice du doute. D'un autre côté tu as peut-être raison: ce serait meilleur pour mon coeur et mon ulcère de rester cool; après-tout ça a toujours été comme ça depuis l'aube de l'humanité, on n'y peut rien et on est toujours là :)
  • # mpage

    Posté par  . En réponse au message Imprimer en 2 pages par feuille. Évalué à 3.

    Je connaissais "mpage" qui permet d'imprimer 2, 4 ou 8 pages par feuilles.
    Par contre je ne sais pas trop s'il sait traiter n'importe quel type de fichier en entrée.
  • [^] # diversion

    Posté par  . En réponse au message Problème GLX!!! ARGhhh je vais mourrir!. Évalué à 2.

    A note qu'avec dpkg-divert on peut se débrouiller pour qu'une mise à jour de X ne vienne pas écraser les fichiers installé hors dpkg par l'installeur nvidia.
    Mais je vous laisse lire la page de man, personnelement je l'ai jamais fait parceque je me contente de relancer l'installeur, j'ai moins à réfléchir :)
  • [^] # Re: buffer

    Posté par  . En réponse au message buffer. Évalué à 4.

    Je rajouterai que, bien qu'on puisse transmettre les données de façon "opaque" en comptant sur le fait qu'en face le gros paquet d'octets rentrera pile dans les cases de la structure, ça n'est valable que quand on est sur la même architecture des deux cotés.
    En effet un "int" sur un linux powerPC 32bits, n'est pas du tout la même chose qu'un "int" sur un linux X86-64 bits: nombre et ordre des octets sont différents. La structure ne sera du coup plus lisible telle-quelle.

    Pour que ton implémentation soit correcte, il est donc conseillé de passer par un format "universel", par exemple en utilisant les fonctions XDR (man 3 xdr) que tu appeleras pour convertir les champs de ta structure en une suite d'octets dans un sens, puis refaire la conversion inverse dans l'autre.

    Bien sur, tu peux débuter ton implémentation par l'envoi direct de ta structure (c'est plus simple à faire), mais il faudra un jour passer par le formatage XDR pour être propre.
  • [^] # Re: interprétation

    Posté par  . En réponse au message probleme de variable imputé a une boucle dans un script qui appelle un connection ssh. Évalué à 2.

    En plus, on voit bien que le script lancé par ssh est écrit pour utiliser des variables définies dans son environnement, mais aussi définie dans l'environnement du script lanceur. Autant dire que c'est un beau mélange, qui tel-quel n'est corrigeable qu'avec la méthode du \$variable (les \ appliqués uniquement aux variables du shell distant, pas du local)

    Je pense que la solution la plus propre serait d'avoir un script dans un fichier distant, qui accepte des arguments en ligne de commande pour transmettre les parametres.
  • # Verifier les retours d'erreur

    Posté par  . En réponse au message Récursivité qui ne marche pas avec "stat()". Évalué à 3.

    Il faut deja que tu testes les retours d'erreur des fonctions opendir() et stat(). En effet, en cas d'erreur, ce qu'elles sont censées renvoyer ne sera pas initialisé.
    Tu vas donc te retrouver avec un pointeur NULL pour opendir() (d'où coredump), ou une structure aléatoire pour stat() (d'où récursion là où il faut pas.)

    Donc, rajoute par exemple ces includes
    #include <error.h>
    #include <errno.h>

    Et modifie ton code:

    d = opendir(directory);
    if (d == NULL){
    error(0, errno, "opendir %s", directory);
    return 1;
    }
    [...]



    while((de = readdir(d)) != NULL)
    {
    int s_err;
    s_err = stat(de->d_name, &sb);
    if (s_err){
    error(0, errno, "stat %s", de->d_name);
    continue;
    }
    [...]


    A ce moment là, en lançant ton test, tu verras mieux ce qu'il se passe, et il se terminera sans planter (et sans rien faire, aussi).

    L'erreur de base de stat() c'est : "no such file or directory"

    Alors apparemment, l'erreur c'est que tu appeles stat() avec comme paramètre le nom du fichier pris directement dans le résultat de readdir(), et c'est un nom local au répertoire, stat() va donc le chercher dans le repertoire courant (et non pas dans le sous-repertoire). Il faut que tu construises le chemin complet, au moins relatif (en collant "directory/" avant)
  • [^] # Re: Tous ?

    Posté par  . En réponse au message [cooker] Kernel panic, couldn't open /dev/console. Évalué à 3.

    {autant|au temps} pour moi, le message d'erreur etait dans le titre... je ne lisais que le corps du texte. Moinssez moi.
  • [^] # Re: Tous ?

    Posté par  . En réponse au message [cooker] Kernel panic, couldn't open /dev/console. Évalué à 2.

    Tu parles du modules.conf ? Celui qui est sur ton disque IDE ?..
    Si l'IDE est modulaire, le kernel ne risque pas d'aller le charger le module qui est sur le disque IDE, évidemment.
    Si c'est le cas, il faut voir du coté de mkinitrd qui te crée un ramdisk initial, chargé par lilo/grub avec le kernel, où le kernel ira chercher les modules dont il a besoin.

    Dans ce genre là: http://archives.mandrivalinux.com/cooker/2006-04/msg03298.ph(...)



    Evidemment, si tu avais donné le message d'erreur explicite, au lieu de juste "ça boote pas" on pourrait trouver plus facilement... je parierais pour un "Cannot open root device"
  • [^] # Re: hdparm

    Posté par  . En réponse au message device is write protected. Évalué à 1.

    Il est possible qu'il y ait un problème physique sur le disque (un secteur défectueux) et qu'au montage, le kernel s'en rende compte et remonte immédiatement en read-only pour éviter des corruptions supplémentaires.
    Recherche des trucs du style "remounting read-only" dans les logs (je ne sais pas quels termes exacts seront générés).

    Apres ta fusion des deux partitions en 1 seule, as-tu reformaté le filesystem, ou juste étendu celui qui existait deja (je ne sais plus si on peut étendre une partition ext3) ?

    Si c'est une partition sans données dedans, tu peux essayer de la reformater avec mke2fs en précisant l'option "-c" (voire "-c -c") pour détecter la présence de secteurs défectueux. Si tu as deja des données par contre, je ne sais pas.
  • [^] # Re: remarques

    Posté par  . En réponse au journal Encoder ses vidéos pour le web. Évalué à 10.

    Et s'il te plait, si tu intègres un objet video streamé dans ta page... mets aussi, en bien visible et clickable avec le bouton droit, le lien direct vers le fichier video correspondant, pour ceux qui veulent juste le télécharger !

    J'ai une aversion personnelle contre tout ce qui est ptit machin embeded, avec streaming saccadé, visualisation dans une zone minuscule du browser, obligation de retélécharger pour revoir... Alors à chaque fois, je suis obligé d'afficher le source de la page et rechercher la balise [embed] pour avoir l'url de la video de base qui me permette de faire un bon vieux wget suivi d'un mplayer quand je veux, comme je veux.

    Et du coup je bénis le gars qui a inventé keepvid.com :) (de toute façon flash marche pas (ou tres mal) chez moi, même apres avoir tenté de l'installer en outrepassant mes convictions "sapupaslibre")
  • # buzz

    Posté par  . En réponse au message slurrrrrp Buzz Words. Évalué à 2.

    Web 2.0 (Beta)
    podcasting
  • # Les keywords ça sert à rien

    Posté par  . En réponse au journal Génération de mots-clefs par mediawiki. Évalué à 4.

    Je croyais que G** ne prenait plus du tout en compte les "meta name keywords", justement (Pour renvoyer des résultats en fonction des informations effectivement lisibles par les humains, et non pas des keywords qui ne servent qu'à spammer)

    Evidemment comme on ne connait pas leur algorithme, on n'est sûr de rien, mais ça me paraitrait logique.
  • # forcer le pty

    Posté par  . En réponse au message Ouvrir une fenêtre sur un serveur distant en lançant une commande. Évalué à 6.

    J'ai trouvé ça:
    ssh -t me@myserver.com "/sbin/ifconfig;uname -p;cd ~/myDir/mysubDir; exec /bin/bash -i"

    * L'option -t de ssh le force à créer un pseudo-terminal . Sinon, par defaut, quand on lui passe des commandes à executer, il n'établit pas ce pty (puisqu'elle ne sont pas interactives), et le bash croit alors qu'il est invoqué comme interpréteur de script et non pas comme shell interactif (et donc il n'y plus de completion, de prompt ou d'historique).
    * "bash -i" explicite que c'est un shell interactif, mais ça marche sans l'option -i en fait. Sans le "-t" ça force au moins à mettre un prompt.
    * le "exec" en fin de commande passée à ssh lui permet au final de n'avoir qu'un processus bash lancé à chaque instant (comme il execute en interne la commande passée dans un bash à lui, ça ferait sinon un bash dans un bash). Ça marche aussi bien sûr, mais ça fait plus propre.
  • [^] # Re: Bogue...

    Posté par  . En réponse à la dépêche Sortie du noyau Linux 2.6.17. Évalué à 4.

    Au passage, j'ai jamais vu des docs en si bon français que chez débian; c'est un régal de les lire => mangez-en.

    En général je lis tout en anglais parceque je trouve les traductions françaises incompréhensibles (à cause de l'obsession de franciser le moindre terme technique) donc je ne peux pas me prononcer sur la qualité debian, sauf que je suis tombé sur cette horreur en lisant la FAQ d'install de debian:
    "Existe-t-il un « disque actif » de Debian ?"
    Eh bien impossible d'arriver à comprendre de quoi ça pouvait bien parler. Il a fallu que je retourne sur la version anglaise pour voir que c'était tout simplement la traduction littérale de "Is a Debian "live CD" available?"

    De toute façon je n'arrive pas à lire le moindre texte qui utilise le terme "cédérom" pour CD-ROM, ça m'écorche les yeux.
  • [^] # Re: Pourquoi H323?

    Posté par  . En réponse à la dépêche Sortie du noyau Linux 2.6.17. Évalué à 3.

    il est clair que SIP et les protocoles qui lui sont associés deviennent absolument incontournables.
    Mais là, de façon générale, il suffit de se concentrer sur le port 5060.


    Les protocoles associés, c'est RTP, qui établit une connexion UDP entre deux ports négociés via SIP, et c'est un beau bazar pour gérer ça correctement (obligé d'analyser le contenu des transmissions SIP pour savoir quels ports autoriser sur la com RTP qui va suivre)