wismerhill a écrit 2602 commentaires

  • [^] # Re: Mettre à jour la procédure de démarrage

    Posté par  . En réponse au message systemd et ordre de démarrage. Évalué à 3. Dernière modification le 07 janvier 2018 à 00:39.

    Non, systemctl enable et disable ne font que (dés)activer une unité selon ce qui est défini dans sa section [install], les dépendances entre unités sont lues dans les fichiers des unités et les répertoires *.wants ne sont qu'une façon d'y contribuer (et la dépendance Wants n'est qu'une version plus faible de Requires, Wants existe principalement pour configurer ce qui doit être lancé au démarrage).
    cf la page de manuel de systemd.unit

    Edit: et pour être complet, il y a aussi des répertoires *.requires qui correspondent à la dépendance Requires.

  • [^] # Re: Type de service

    Posté par  . En réponse au message systemd et ordre de démarrage. Évalué à 2.

    Je vais laisser quelqu'un qui sait ce qu'est influxd répondre à cette question …

  • [^] # Re: Type de service

    Posté par  . En réponse au message systemd et ordre de démarrage. Évalué à 7.

    (astuce: si tu utilise systemctl cat influxd.service il t'affichera non seulement le fichier de base, où qu'il se trouve, mais aussi d'éventuels fragments supplémentaires qu'il aurait inclus en plus)

    Le type de service n'est pas précisé (et il n'y a pas de BusName), donc il est implicitement de type simple. Ça veut dire que dès que le programme indiqué par ExecStart est lancé le service est considér(é comme démarré. Mais je suppose que ton service influxd met un certain tempos à être fonctionnel.
    La documentation de systemd recommande dans ce cas de mettre en place le socket à l'avance via systemd (qui lui bloquera en attendant que le service répond correctement), mais ça suppose d'être supporté par ton service (ce qui n'est probablement pas le cas), ou d'utiliser un proxy (plus tordu et peut-être moins bon pour les performances).

    Sinon, dans ton propre service, tu peux ajouter un ExecStartPre qui va exécuter un script qui va attendre que le service soit correctement démarré (le programme défini en ExecStart n'est lancé que quand tous les ExecStartPre se sont terminé séquentiellement).
    Un tel script pourrait également être mis en ExecStartPost d'influxd.service (via un fragment dans le répertoire influxd.service.d, pour ne pas modifier le fichier principal) si tu veux que ça profite à d'autres services. (c'est à vérifier, mais il me semble qu'un service n'est considéré comme démarré que quand les ExecStartPost se sont terminés)

    Si tu ne sais pas comment déterminer ton ton script si influxd est bien fonctionnel, tu as toujours la solution barbare de faire un sleep de quelques secondes (pas besoin de script dans ce cas) en espérant que ce sera toujours suffisant, mais l'ennui dans ce cas est que tu fera toujours une pause au démarrage de ton service, même si influxd est démarré depuis longtemps.
    Une solution intermédiaire serait de faire un script qui va utiliser systemctl (avec la commande show) pour savoir depuis combien de temps le service influxd est démarré, et faire une pause si ce n'est pas au moins quelques secondes.

  • [^] # Re: Routeur

    Posté par  . En réponse à la dépêche Le Linutop 6, le nouveau PC sans ventilateur. Évalué à 7. Dernière modification le 21 décembre 2017 à 18:23.

    Ben si, les SSD c'est (presque toujours) de la flash: Solid-state_drive
    mais c'est fortement parallélisé pour améliorer les performances.

    À ma connaissance, les seuls SSD basés sur une technologie différente sont les optane d'intel basés sur 3D XPoint.

  • [^] # Re: awk

    Posté par  . En réponse au message Créer deux fichiers avec un seul grep. Évalué à 4.

    Avec $1 tu va seulement écrire (et tester, dans ton if) le premier champ de la ligne, pour la ligne complète il faut utiliser $0 (ou même print sans paramètres).

  • [^] # Re: stderr

    Posté par  . En réponse au message Créer deux fichiers avec un seul grep. Évalué à 5.

    Pas besoin de jouer avec stderr, awk peut écrire dans des fichiers quelconques, par exemple avec la syntaxe

    print "..." > "mon_fichier.txt"
  • [^] # Re: Quelle(s) solution(s) pour les "déchets" ?

    Posté par  . En réponse au journal J'ai acheté une imprimante 3D (presque open source) à 150€. Évalué à 6.

    je trouve que le terme « impression 3D » est bien mal choisi. « Imprimer » signifiant basiquement « exercer une pression », c’est proprement incorrect pour parler de cette technologie

    C'était déjà impropre pour parler des technologies d'impression thermique ou à jet d'encre, donc c'est beaucoup trop tard pour invoquer l'étymologie, le mot a subit un glissement sémantique.

  • [^] # Re: Chacun cherche son film

    Posté par  . En réponse au journal Optimisez votre code !. Évalué à 2.

    En effet, mais si j'en crois PostgreSQL (https://www.postgresql.org/docs/current/static/sql-select.html, j'ai la flemme d'aller vérifier dans le standard même) SQL 2008 a introduit la clause OFFSET pour remplir la même fonction.

  • # Puisque tu ne précise rien …

    Posté par  . En réponse au message ajouter a la fin de ligne préciser. Évalué à 10.

    Ouvre le fichier dans ton éditeur de texte préféré, déplace-toi jusqu'à la ligne souhaitée à l'aide des flèches du clavier, ou en cliquant sur la bonne ligne avec la souris (si ton éditeur préféré supporte la souris), si tu n'est pas déjà positionné à la fin de la ligne tu peux t'y rendre avec la touche end du clavier, enfin tape le mot à ajouter à l'aide du clavier et enregistre le fichier.

  • [^] # Re: Linux vs Windows

    Posté par  . En réponse au journal Retour d'expérience d'une petite administration sous linux depuis 8 ans qui fait marche arrière. Évalué à 2.

    Mais tu as toujours les interactions entre les clients X, le serveur X, le compositeur, le serveur X à nouveau, le matériel du serveur, les clients X et enfin le matériel du client. Plus tous les allers-retours à cause des frames incomplètes. C'est ce qui introduit la latence.

    Non, car tout ça se passe en local sur le serveur, et VNC ne fait que transférer l'image finale de l'écran.
    Ce qui fait que VNC est lent, c'est que si l'image affichée à l'écran change souvent (comme c'est le cas avec des interfaces un peu modernes) il doit ré-envoyer très souvent une mise à jour de l'image, et il est moins bien optimisé que RDP pour ça.

  • [^] # Re: Extensions

    Posté par  . En réponse au journal Le Firefox nouveau est arrivé !. Évalué à 0.

    avec les réglages par défaut, un écran va t'exploser les yeux !

    Il y a vraiment des gens qui ne changent aucun règlage de leur écran après l'avoir sorti du carton?
    Certains réglages sont assez ésotériques (surtout dans les écrans haut de gamme), mais changer la luminosité de l'écran me semble quand même le réglage que n'importe qui s'attendrait à pouvoir faire sur un écran, et pour lequel il serait prêt à chercher si ce n'est pas à un endroit évident.

  • [^] # Re: automatisation de la session utilisateur

    Posté par  . En réponse au journal Intégration d'un poste GNU/Linux dans un domaine Windows. Évalué à 0.

    Laisse tomber, tu perd ton temps.

  • [^] # Re: man su

    Posté par  . En réponse au message Programmation de .sh. Évalué à 6.

    On peut aussi mettre le script en "setuid" pour qu’il s’exécute avec son utilisateur propriétaire plutôt que celui qui lance le script.

    Non, on ne peut pas. Le bit SUID ne fonctionne que sur les binaires, pas les scripts qui sont exécutés par ceux-ci (et il ne faut SURTOUT PAS faire un bash, ou autre, en SUID).

  • [^] # Re: Des explications svp

    Posté par  . En réponse au journal WPA2 est bronsonisé. Évalué à 7.

    Parceque j'ai comme un doute que pour 99,99999999% des utilisateurs de systeme d'exploitations soit capable/interesse de le faire.

    Donc, d'après toi il n'y a que 0.7 personnes dans le monde (moins, si on tient compte du fait qu'il y a des gens dans le monde qui n'ont jamais utilisé d'ordinateur) pour régler le problème, pas étonnant que ça ait pris aussi longtemps.
    Au moins, il n'y a pas de doute que tu as tapé un chiffre sans réfléchir :-)

  • [^] # Re: AH ah ah ...

    Posté par  . En réponse au journal Java 9 est dehors. Évalué à 2.

    Il n'y a pas que ça, si on a activé dans le script l'option set -e, alors si le mkdir échoue le script s'arrête là.
    Et même sans ça, si on est dans une fonction et que le mkdir est la dernière commande de la fonction, alors son code de retour devient le code de retour de la fonction, ce qui n'est peut-être pas ce qu'on voulait.

  • [^] # Re: AH ah ah ...

    Posté par  . En réponse au journal Java 9 est dehors. Évalué à 2.

    Si le fichier existe déjà (que ce soit un répertoire ou pas), mkdir échouera (code de retour > 0) avec un message d'erreur, ce n'est pas la même chose que ne rien faire.

  • # man sed

    Posté par  . En réponse au message Que fait la commande sed ’/^#/d’ ?. Évalué à 3. Dernière modification le 01 octobre 2017 à 09:25.

    Elle applique la commande d aux lignes qui correspondent à l'adresse /^#/

  • [^] # Re: AH ah ah ...

    Posté par  . En réponse au journal Java 9 est dehors. Évalué à 3.

    Les génériques ne sont pas que du sucre syntaxique (contrairement au "foreach" introduit dans java 5 et au "try with resource" introduit dans java 7), il sont perdu à l'exécution, mais le compilateur les vérifie vraiment et n'acceptera pas que tu donne une variable déclarée comme Collection à une fonction qui attends une Collection.
    Avec quoi crois-tu que je les confonde?

    Quand à ton exemple, ça s'appelle de la surcharge, et c'est orthogonal avec l'inférence ce sur quoi je répondais).

  • [^] # Re: AH ah ah ...

    Posté par  . En réponse au journal Java 9 est dehors. Évalué à 3.

    Par exemple Scala est fortement et statiquement typé, mais infère beaucoup de choses, là ou Java infère que dalle.

    Si, java faisait déjà un peu d'inférence en java 7, avec l'opérateur "diamant" qui permet d'écrire ça

    List<String> lst=new ArrayList<>();

    à la place de ça

    List<String> lst=new ArrayList<String>();

    Ensuite, les lambda de java 8 reposent beaucoup sur l'inférence pour déduire quelle interface l'expression lambda implémente et quels sont les types des paramètres éventuels de l'expression.
    Ça permet par exemple, ayant une variable Map<String,Integer> map, de faire

    map.forEach((k,v) -> System.out.println("double of "+k+": "+v*2));

    où java 8 déduit tout seul que k est de type String et v de type Integer, à la place de

    map.forEach(new BiConsumer<String, Integer>() {
        public void accept(String k, Integer v) {
            System.out.println("double of "+k+": "+v*2);
        }
    });

    Et pour les lambda qui implémentent une méthode qui retourne une valeur (comme java.util.function.Function) il déduit tout seul le type de retour en fonction du résultat de l'expression, ou en fonction du return si on met un bloc de code dans la lambda.

    Et pour aller plus loin, li y a le JEP 286, qui malheureusement n'a pas été inclus dans java 9 et dont on espère que ce sera pour java 10.

  • [^] # Re: AH ah ah ...

    Posté par  . En réponse au journal Java 9 est dehors. Évalué à 2. Dernière modification le 28 septembre 2017 à 10:52.

    Mais si tu utilise explicitement bash, alors il n'y a pas de problème avec la version [[ ]], qui n'est pas une commande et sait distinguer les variables:

    [[ -d $REP ]] || mkdir "$REP"

    (mais pour mkdir, là il faut protéger bien entendu)

  • [^] # Re: Dépêche ?

    Posté par  . En réponse au journal Java 9 est dehors. Évalué à 5.

    • les fabriques statiques pour les collections immuables : Set.of(…), List.of(…), Map.of(…)

    Enfin!

  • # C'est un job pour tr

    Posté par  . En réponse au message Sed et les caractères spéciaux. Évalué à 6.

    Ce que tu décrit est plus simple à faire avec tr, il n'a pas d'option -i comme sed, mais c'est facile d'enregistrer dans un fichier temporaire puis faire un mv -f pour écraser le fichier d'origine (c'est ce que fait en pratique sed -i):

    tr -d "$variable" < mon_gros_fichier_texte.txt > mon_gros_fichier_texte.txt.tmp && mv -f mon_gros_fichier_texte.txt.tmp mon_gros_fichier_texte.txt

    (voir la page de manuel de tr pour les caractères spéciaux et les classes de caractères)

  • [^] # Re: Conséquences environnementales

    Posté par  . En réponse au journal Conséquences sociales des cryptomonnaies. Évalué à 6.

    19,16 TWh par an

    Argh, l'unité bâtarde.
    Le watt est une unité de puissance, multiplié par des heures ça donne une énergie (c'est déjà tordu de ne pas revenir aux joules), divisé par des années … ça redevient une puissance, et on ne sait plus où on en est par rapport à l'unité normale de puissance.

    Une heure divisée par une année, ça fait à peu (parce que dire année sans plus, ce n'est pas une durée bien définie) près 1/8766, donc ça nous donne 19160/8766 ≃ 2.2GW, ce qui est du même ordre de grandeur que la puissance d'un réacteur nucléaire (qui est un peu moins de 1GW, si j'en crois wikipedia).

    Et ça, ça part à 90% dans l'atmosphère en dégagement calorique en pure perte

    Alors, l'aspect calorique dans l'atmosphère, ça c'est complètement négligeable.
    La puissance moyenne solaire reçue par la terre est de l'ordre de la centaine de péta-watt, c'est supérieur de huit ordres de grandeur.

  • [^] # Re: À mon tour

    Posté par  . En réponse au journal Recrutons. D'accord, mais sur quels critères ?. Évalué à 0.

    J'ai hésité, mais même à la relecture ça me donne l'impression d'être écrit au premier degré.
    (il y a des gens qui pensent vraiment comme, j'en connais heureusement très peu personnellement)

  • [^] # Re: À mon tour

    Posté par  . En réponse au journal Recrutons. D'accord, mais sur quels critères ?. Évalué à -1.

    On dirais que pour toi intelligent est synonyme de malhonnête.