C'est le boulot de chaque programme d'être capable de charger la configuration écrite par une de ses anciennes versions, ou de les ignorer si les changements sont trop importants (certains programmes mettent leur version majeure (voir majeur+mineur) dans le nom du répertoire pour que ce soit automatique).
Si ce n'est pas le cas et que le programme ne fonctionne pas à cause de ça, c'est un bug à rapporter aux développeurs upstream.
Je ne sais pas pour vous, mais moi j'aime plutôt bien que les programmes conservent les configurations que j'y avais faites. (le passage de KDE 4 à plasma 5 a été douloureux)
KWin est probablement trop intégré à plasma pour l'utiliser indépendamment, tu va probablement avoir plein de services KDE lancés en arrière-plan (je suppose que si tu es passé à XFCE, c'est pour éviter ça).
Tu copie (cp -a, pour préserver les méta-données) avec un nom temporaire le fichier que tu veux re-dupliquer, puis tu fais un mv -f du nom temporaire vers le nom d'origine pour "défaire" le lien physique.
Combine ça avec find pour trouver tous les fichiers ayant plus d'un lien physique (et d'autres critères à ta convenance).
Si tu sais que le mot de passe a été constitue de 5 mots parmi 4096 mots, ca ne fait que 5*4096 tirages avant de le retrouver, soit 24530 (~ 16 bits d'entropie) tirages possible.
Non, ça fait 40965, ce qui donne bien 60 bits.
Ton calcul ne serait correct que si on pouvait tester chaque mot individuellement, mais ce n'est pas le cas, ils sont concaténés pour former un mot de passe qui ne peut être testé que dans son intégralité, pas par morceaux.
Un fichier d'une taille pareille, est-ce que ce ne serait pas une image complète de la partition (voir du disque complet)?
Si tu demande simplement à file de te dire ce qu'est ce fichier, est-ce qu'il te donne une information pertinente?
Si c'est une image de la partition (avec donc le système de fichiers dedans), tu peux essayer de la monter en loopback (en lecture seule!!) pour voir si tu accède aux fichiers.
S'il y a bien un FS dedans mais qu'il ne peut pas être monté parce qu'il est corrompu, fais-en une copie (pour garder un original non modifié) puis fais un fsck dessus, en espérant qu'il arrive à le remettre suffisamment en état pour récupérer les données importantes.
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.
(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.
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).
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.
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.
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.
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.
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).
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 :-)
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.
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.
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).
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=newArrayList<>();
à la place de ça
List<String>lst=newArrayList<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(newBiConsumer<String,Integer>(){publicvoidaccept(Stringk,Integerv){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: Programmes
Posté par wismerhill . En réponse au message sauvegarder / restaurer applications. Évalué à 2.
C'est le boulot de chaque programme d'être capable de charger la configuration écrite par une de ses anciennes versions, ou de les ignorer si les changements sont trop importants (certains programmes mettent leur version majeure (voir majeur+mineur) dans le nom du répertoire pour que ce soit automatique).
Si ce n'est pas le cas et que le programme ne fonctionne pas à cause de ça, c'est un bug à rapporter aux développeurs upstream.
Je ne sais pas pour vous, mais moi j'aime plutôt bien que les programmes conservent les configurations que j'y avais faites. (le passage de KDE 4 à plasma 5 a été douloureux)
[^] # Re: kwin
Posté par wismerhill . En réponse au message XFCE avec compiz. Évalué à 1.
KWin est probablement trop intégré à plasma pour l'utiliser indépendamment, tu va probablement avoir plein de services KDE lancés en arrière-plan (je suppose que si tu es passé à XFCE, c'est pour éviter ça).
# cp -a && mv -f
Posté par wismerhill . En réponse au message hardlink → comment défaire ?. Évalué à 4.
Tu copie (cp -a, pour préserver les méta-données) avec un nom temporaire le fichier que tu veux re-dupliquer, puis tu fais un mv -f du nom temporaire vers le nom d'origine pour "défaire" le lien physique.
Combine ça avec find pour trouver tous les fichiers ayant plus d'un lien physique (et d'autres critères à ta convenance).
[^] # Re: mauvaise idée
Posté par wismerhill . En réponse au journal Générateur de mot de passe. Évalué à 10.
Non, ça fait 40965, ce qui donne bien 60 bits.
Ton calcul ne serait correct que si on pouvait tester chaque mot individuellement, mais ce n'est pas le cas, ils sont concaténés pour former un mot de passe qui ne peut être testé que dans son intégralité, pas par morceaux.
[^] # Re: Patch à la volée
Posté par wismerhill . En réponse au journal Il y a de grand malade sur Terre.... Évalué à 1.
Protection de la mémoire
# FS complet?
Posté par wismerhill . En réponse au message Problème : découper un fichier sans connaitre la taille des morceaux. Évalué à 8.
Un fichier d'une taille pareille, est-ce que ce ne serait pas une image complète de la partition (voir du disque complet)?
Si tu demande simplement à file de te dire ce qu'est ce fichier, est-ce qu'il te donne une information pertinente?
Si c'est une image de la partition (avec donc le système de fichiers dedans), tu peux essayer de la monter en loopback (en lecture seule!!) pour voir si tu accède aux fichiers.
S'il y a bien un FS dedans mais qu'il ne peut pas être monté parce qu'il est corrompu, fais-en une copie (pour garder un original non modifié) puis fais un fsck dessus, en espérant qu'il arrive à le remettre suffisamment en état pour récupérer les données importantes.
[^] # Re: Mettre à jour la procédure de démarrage
Posté par wismerhill . 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 wismerhill . 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 wismerhill . 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 wismerhill . 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 wismerhill . 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 wismerhill . 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
[^] # Re: Quelle(s) solution(s) pour les "déchets" ?
Posté par wismerhill . En réponse au journal J'ai acheté une imprimante 3D (presque open source) à 150€. Évalué à 6.
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 wismerhill . 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 wismerhill . 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 wismerhill . 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.
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 wismerhill . En réponse au journal Le Firefox nouveau est arrivé !. Évalué à 0.
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 wismerhill . 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 wismerhill . En réponse au message Programmation de .sh. Évalué à 6.
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 wismerhill . En réponse au journal WPA2 est bronsonisé. Évalué à 7.
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 wismerhill . 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 wismerhill . 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 wismerhill . 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 wismerhill . 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 wismerhill . En réponse au journal Java 9 est dehors. Évalué à 3.
Si, java faisait déjà un peu d'inférence en java 7, avec l'opérateur "diamant" qui permet d'écrire ça
à la place de ça
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
où java 8 déduit tout seul que k est de type String et v de type Integer, à la place de
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.