6039 links
  • GuiGui's Show

  • Home
  • Login
  • RSS Feed
  • Tag cloud
  • Picture wall
  • Daily
Links per page: 20 50 100
◄Older
page 82 / 302
Newer►
  • Non, ces "conseils", qui contiennent des inexactitudes, ne permettent pas de refuser "légalement un vaccin" | Factuel - OpenNews

    ça fait un peu peur de voir la portée et l'influence de Qanon et des sites facebookistes, j'aimerais bien savoir qui est à l'origine de ça,

    Réponse : la connerie. La seule chose équitablement partagée entre tous les êtres humains sans distinction de race, de sexe, de genre, de richesse, etc. :)

    La connerie, c'est un autre nom pour désigner la diversité. Il n'existe pas de réponse universelle, même aux questions / problèmes que l'on juge évidents (juger quelque chose comme étant évident, c'est un point de vue). Chacun de nous teste des choses. Certaines vont marcher, d'autres pas. Ces tests ont des conséquences sur un individu, un groupe d'individus, de gros morceaux de l'espèce ou l'espèce entière. Sélection naturelle. Rien dit que l'espèce humaine doit continuer à vivre. Nous sommes une expérience, comme tant d'autres espèces l'ont été.


    qui tire les ficelles

    La connerie humaine.


    comment fonctionne cette chambre d'àcho qui propage les andouilleries évidentes ou moins évidentes pour diviser et opposer

    Elle fonctionne grâce à la connerie humaine. Tous biaisés par nature (voir ci-dessus) donc tous coupables, surtout ceux qui croient détenir un bout de réponse à un problème (comme le réchauffement climatique).

    27/03/2021 13:35:52 - permalink -
    - https://ecirtam.net/opennews/?dos0NQ
  • Pourquoi dort-on ? – Science étonnante

    (Réponse perso au titre, j'ai pas lu le contenu) Parce que le sommeil est la meilleure partie de la vie, exception faite de la mort. Personne vient t'emmerder quand tu dors (sauf si t'es assez idiot pour dormir en présence d'un autre être vivant, humain ou non). Personne attend quoi que ce soit de toi. Personne te presse. Personne te juge. Pas besoin de réfléchir. Pas de déception. Le bonheur total. La paix intégrale.

    27/03/2021 13:32:05 - permalink -
    - https://scienceetonnante.com/2021/03/26/pourquoi-dort-on/
  • La drague féministe : prenons des notes ! - Broute - CANAL+ - YouTube

    ‒ Il existe une technique pour séduire les femmes. Encore plus efficace que de l'argent, une belle voiture ou un bel appartement et ça s'appelle : le féminisme.
    […]
    ‒ C'est un cours complet, très documenté, pour aider tous les hommes qui connaissent une crise de leur virilité. Alors oui, le cours coûte cher, mais très vite on s'y retrouve puisqu'on rencontre que des femmes qui refusent qu'on leur paye l'addition.
    […]
    ‒ On commence par rassurer tous les hommes qui ont peur de l'engagement en leur rappelant qu'il n'y a pas de meilleur plan cul qu'une féministe qui ne veut pas d'enfant.
    […]
    ‒ J'enseigne des techniques de séduction basées sur une inversion des rôles pour donner l'illusion aux femmes qu'elles sont actives et qu'elles vont rencontrer l'âme sœur.
    (femme qui court après un homme marchant dans la rue) ‒ Monsieur, vous avez fait tomber votre (regarde le livre) Virginie Despentes, wahou !
    ‒ Pardon, j'étais trop occupé avec la liste des courses de ce soir.
    ‒ Vous allez à la Biocoop ?
    ‒ Ouais.
    ‒ Moi aussi. On peut y aller ensemble ?
    ‒ Allez !
    ‒ Ouais ?
    […]
    ‒ Je dis toujours aux nouveaux que si la femme qu'ils fréquentent commence à douter de leur sincérité, dans le combat féministe en relevant quelques petites contradictions, comme par exemple leur manque d'attrait pour les pois sous les bras, ils peuvent toujours mettre fin à la conversation en lui demandant son avis sur le port du voile.
    ‒ L'acte sexuel ne passerait pas forcément par une pénétration. Pénétration qui est d'ailleurs un terme que vous devriez remplacer par circlusion. C'est une pénétration active, c'est la femme qui vous cicl… (homme qui se barre du cours). Courage les gars, plus longtemps vous tenez, moins il y aura de concurrence.
    ‒ Quand les femmes apprennent l'existence de ce cours, c'est sûr qu'elles nous accusent d'opportunisme, de n'avoir aucun scrupule à mentir pour leur plaire, de présenter une version idéalisée de nous-mêmes qui va forcément décevoir le lendemain. C'est sûr. Mais, là-dessus, on a rien inventé : ça s'appelle la drague.

    :D :D :D :D
    Je découvre le mot « circlusion » que même mon correcteur orthographique ne connaît pas.

    26/03/2021 23:04:37 - permalink -
    - https://www.youtube.com/watch?v=g-AAr5Mqi1s
  • Puppet 6.X : « Unacceptable location. The name '<nom_module' is unacceptable in file » = vérifie l'ordre dans ton modulepath

    Sur un puppet master 6.X, je crée un nouvel environnement en reprenant la structure d'un environnement qui fonctionne sur un puppet master 5.X. Il fonctionne. Jusqu'à ce que j'essaye d'inclure un module depuis le manifest principal. L'agent puppet 5.5.X me retourne alors l'erreur suivante :

    Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Unacceptable location. The name '<NOM_MODULE>' is unacceptable 
      in file '/etc/puppetlabs/code/environments/<CENSURE>/site/modules/<NOM_MODULE>/manifests/init.pp' (file: /etc/puppetlabs/code/environments/<CENSURE>/site/modules/<NOM_MODULE>/manifests/init.pp, line: 3, column: 1) on node <CENSURE>

    L'écrasante majorité des résultats d'une recherche web pointent sur un renforcement de la convention de nommage des fichiers et classes Puppet. La version 6.X ne laisse plus passer les écarts.

    Je vérifie plusieurs fois : je respecte la convention de nommage imposée par Puppet.

    En effet, voici mon arborescence :

    /etc/puppetlabs/code/environments/envi
                                        - modules
                                        - manifests
                                            - site.pp
                                        - site
                                            - modules
                                                - modu
                                                    - manifests
                                                          - init.pp (qui contient la classe « modu »)
                                            - profils
                                                - manifests
                                                    - pro.pp (qui contient la classe « profils::pro »)
                                            - roles
                                                - manifests
                                                    - ro.pp (qui contient la classe « roles::ro »)



    Et mon modulepath (dans environment.conf) : site:site/modules:modules. Ce fichier est bien pris en compte comme nous le montre la commande suivante :

    $ puppet config print modulepath --section server --environment envi
    /etc/puppetlabs/code/environments/envi/site:/etc/puppetlabs/code/environments/envi/site/modules:/etc/puppetlabs/code/environments/envi/modules



    Ainsi, un « include modu » depuis manifests/site.pp devrait fonctionner. Or, ça génère l'erreur mentionnée au début de ce shaarli.

    En revanche, aucun problème avec un « include profils::pro » depuis manifests/site.pp.

    Je te passe le debug : l'ordre dans le modulepath est important. Avec une valeur « site:site/modules:modules », Puppet cherche la classe d'abord dans le dossier site. « include profils::pro.pp » fonctionne puisque profils/manifests/pro.pp est bien dans le dossier site. En revanche, « include modu » ne fonctionne pas car, si site/modules/modu/manifests/init.pp existe, on ne peut pas l'inclure avec « include modu » sans outrepasser la convention de nommage. Il est d'autant plus difficile de parvenir à ce constat sur l'invalidité du modulepath puisque le message d'erreur de Puppet indique qu'il a trouvé le module (or, un path sert à trouver quelque chose…)

    En changeant la valeur du modulepath pour site/modules:modules:site, cela fonctionne, car le chemin « site/modules » est examiné d'abord et que site/modules/modu/manifests/init.pp existe et respecte la convention de nommage. Dans le cas de « include profils::pro.pp », rien est trouvé dans site/modules, ni dans modules/, donc la recherche se termine dans site/ et cela fonctionne car site/profils/manifests/pro.pp est trouvé.

    Cela fonctionne aussi si le modulepath a pour valeur modules:site/modules:site. Ce dernier est d'ailleurs le plus logique : on cherche d'abord dans les modules externes puis dans les modules maison, puis dans les profiles et les rôles maison.

    26/02/2021 16:12:58 - permalink -
    - http://shaarli.guiguishow.info/?PHXBmQ
  • Messagerie instantanée textuelle : Mattermost / RocketChat versus Jabber

    Au taff, on utilisait Jabber. Puis on a migré vers Mattermost (Slack-like libre et auto-hébergeable) il y a 3 ans. Puis vers RocketChat (car API + tout le taff d'intégration avec d'autres outils était déjà fait).

    Forcément, le tout-sur-le-web m'emmerde. J'aime bien avoir des usages différents sur des protocoles différents. C'est comme ça qu'a été conçu Internet. Je trouve ça propre et facile à expliquer (sans ça, les Moldus ne font plus la différence entre un webmail, c'est-à-dire une interface de présentation, et un service, l'email dans le cas présent, et ne pigent pas qu'on peut découpler un service d'emails du logiciel pour le consulter, ce qui entretient la centralisation chez quelques acteurs genre Google qui met une icône GMail sur Android). Chaque usage son protocole, car chaque usage a des besoins techniques différents. Ça permet aussi du filtrage applicatif moins invasif (bloquer un port sans lire le contenu de la communication versus lire le contenu pour découvrir un service / usage interdit).

    Jabber est fédéré (chaque personne / entité peut avoir son serveur, et les serveurs communiquent entre eux) là où Mattermost / RocketChat est centralisé (tout le monde doit être connecté au même serveur). Dans le cas d'une messagerie instantanée professionnelle, on s'en fiche : il y a un seul serveur pour toute l'entité, chaque employé ne va pas installer son serveur. Idem pour les groupes de discussions inter-entités / inter-professions : pour simplifier la vie de tout le monde, tous les salons de discussion seront sur le même serveur, généralement maintenu par une association / consortium inter-pro. Que ce serveur soit un RocketChat ou un ejabberd change rien.



    Mais je dois avouer que Jabber a perdu la bataille de la simplicité d'utilisation.

    Rien à installer (sauf un navigateur web) pour Mattermost / RocketChat versus un client à trouver / installer pour Jabber (il y a 5-6 ans, j'avais cherché une interface web simple d'administration et d'utilisation, laisse tomber…). Au début, je pensais que, dans une société où on veut tout, tout de suite, forcément, la recherche d'un client ça passe mal, mais, au final, le quidam installe bien un logiciel (une appli, qu'il dit) par usage (banque, bouffe, transport, soin, etc.) sur son smartphone, donc l'argument devrait être nul, mais non…

    Les clients Jabber sont capricieux. Gajim qui bouffe parfois 100 % de CPU sans s'arrêter quand tu retrouves ta connexion au réseau. Gajim qui refuse de se connecter sur un serveur Jabber alors qu'il fonctionne sur un autre ordinateur avec le même compte Jabber. Pidgin qui galère sur l'authentification lors de l'ajout d'un compte. Salons parfois pas persistants dans le roster (liste des contacts+salons) avec Gajim, etc. J'ai jamais eu d'emmerdes avec Mattermost (auth via GitLab). Quelques personnes (dont moi) ont eu des problèmes d'authentification sur notre RocketChat (plugin SAML) lors de la première connexion sans qu'on sache WTF.

    XMPP, le protocole derrière Jabber, est extensible donc chaque client implémente ce qu'il veut et présente les choses comme il veut. Il y a donc des comportements différents. Les smileys qui, par leur apparence, n'exprime pas exactement la même émotion entre deux clients Jabber. Tel participant a le plugin Gajim qui télécharge automatiquement une image (l'humour est de plus en plus visuel / mème), pas un autre. Récupération automatique du titre d'une page web à partir d'un lien (ce qui est également un vecteur d'attaque…) ou non. Bref, avec Jabber, tous les participants ne voient pas forcément la même causerie. Ce n'est pas le cas avec Mattermost / RocketChat. Notons que, dans une société commerciale, on peut imposer un client Jabber unique, ce qui nuance la portée de ce point, mais c'est encore du taff pour le service informatique (comparer les clients, trouver celui qui répondra à la majorité des besoins, identifier la configuration standard pour l'entité, etc.).

    Niveau ergonomie, Mattermost et RocketChat plient le game. En plus de ce que j'ai écrit avant, chaque action possible sur un message (citer, corriger, supprimer) est disponible dans un menu. Les mêmes fonctionnalités avec Jabber dépendent du client (la correction d'un message consiste à ré-émettre le message, c'est donc au client de capter qu'il s'agit d'un message modifié, et il apparaît en double dans l'historique). Sans compter qu'avec Gajim, la correction et la citation se font avec des raccourcis clavier (ctrl+up pour correction, ctrl+maj+up pour citation), paie ta facilité d'utilisation.

    Une messagerie tout-sur-le-web permet de récupérer l'historique des conversations. Avec ejabberd, il faut installer un module, MAM, sur le serveur et le bon fonctionnement dépend du client. Avec Gajim, il est fréquent que le client A récupère les échanges qui ont eu lieu avec le client B, mais pas l'inverse. Et, des fois, c'est l'inverse : Gajim B récupère l'historique de Gajim A mais plus l'inverse… Redémarrer Gajim ne suffit pas. Il faut parfois aller dans l'historique de chaque contact pour que l'historique manquant soit récupéré. Il y a vraiment un côté très aléatoire. Rien à redire avec Mattermost. Avec RocketChat, la remontée dans l'historique est lente et périlleuse : un léger scrolle et pouf, il charge 3 mois d'historique, ce qui oblige à scroller dans l'autre sens afin de trouver ses petits (sans compter la fonction « aller au message » qui ne fonctionne pas : ça charge l'historique des messages au compte-gouttes durant de longues minutes… sans t'amener au message recherché)… De même, des jours disparaissent de l'historique, tu passes d'un jour à un autre deux jours plus tard / tôt, comme s'il n'y avait pas eu d'échanges au milieu. Il faut alors vider le cache de son navigateur web.

    En prolongement du point précédent, on peut évoquer la réception simultanée d'un même message sur tous les appareils connectés avec un même compte. Ça fonctionne de base avec Mattermost et RocketChat. XMPP propose les ressources, les priorités, etc., le client avec la plus haute priorité reçoit le message, si plusieurs clients ont une priorité identique, le serveur XMPP peut envoyer le message à tous les clients (ce que faisait ejabberd en 2011, j'ai pas trouvé plus récent) ou au dernier connecté ou au dernier actif ou autre critère de son choix (RFC 6121). Il y a même une norme interne à XMPP pour pallier cette incertitude : XEP message carbons. Donc, en pratique, la réception d'un même message sur tous les appareils d'un utilisateur ne fonctionne pas avec Jabber (avec ejabberd et Gajim, tantôt un message entrant est envoyé à toutes les ressources, tantôt à la dernière active, à priorité égale).

    Mattermost et surtout RocketChat propose des fonctionnalités orientées travail collaboratif / société commerciale comme la classification automatique des personnes en fonction d'un groupe LDAP, l'ajout automatique à un salon en fonction d'un groupe LDAP, une ramification fine des conversations (canal, sous-canal / discussion), etc.

    26/02/2021 13:44:46 - permalink -
    - http://shaarli.guiguishow.info/?RM3kug
  • Quelques extensions Firefox de plus

    Depuis plusieurs mois, j'utilise quelques extensions Firefox supplémentaires par rapport à mon tas d'extensions :

    • Redirect AMP to HTML : utiliser la version normale, pas AMP, d'une page web. AMP est une technologie d'optimisation pas vraiment normalisée pondue par Google. Construire des pages web selon la manière de faire de Google, avec du JavaScript de Google et les héberger, en option, chez Google = non merci ;

    • I don't care about cookies : faire disparaître les demandes de stockage de cookies. Quand on les refuse ou qu'on les supprime à chaque fermeture du navigateur, ces demandes incessantes sont insupportables. Bonus : cette extension valide automatique les pop-up « Avant de continuer » sur Google Search ;

    • Never-Consent : refuser le dépôt de cookies et le flicage auprès de quelques (trop rares) plateformes de gestion du consentement (CMP) genre Cookie Law Info / Quantcast / SirData (aka consentframework.com) utilisées par les sites web pour mutualiser la collecte du consentement ;

    • First Party Isolation. First Party Isolation est une préfèrence de Firefox (que l'on peut donc activer dans about:config) importée du Tor Browser qui limite l'accès aux cookies, au cache, au stockage, etc. par domaine. Ainsi, le flicage inter-domaines par un même prestataire présent sur plusieurs sites web n'est plus possible. La fonctionnalité Total Cookie Protection de Firefox 86 est une amélioration de cela. Pourquoi une extension ? FPI casse certains mécanismes d'authentification centralisée (genre compte Google ou Facebook). De mon côté, cela casse NextInpact (car certains cookies sont en dehors du domaine visité) et le stockage de mes préférences sur Qwant (je ne comprends pas pourquoi). Donc avoir une extension pour activer / désactiver FPI à la demande, c'est très pratique. ÉDIT DU 23/04/2022 : il n'y a plus de problème sur NextInpact depuis quelques mois. FIN DE L'ÉDIT ;

    • Cookie Autodelete : supprimer les cookies (ainsi que le cache, le stockage persistant, etc. en option) X secondes après avoir quitté un site web (en cliquant sur un lien ou en fermant un onglet) sauf pour ceux en liste blanche. Cette extension permet un nettoyage plus régulier que celui que l'on peut demander à la fermeture du navigateur web. Je l'ai installé après avoir constaté que le refus des cookies (sauf pour quelques domaines genre ma banque ou mes journaux) casse des sites web et que uMatrix, configuré pour tej les cookies (sauf liste blanche), en laisse passer.

    Je recommande l'utilisation de ces extensions. Les trois premières peuvent être installées chez des novices car elles m'ont posé aucun problème.

    25/02/2021 16:40:23 - permalink -
    - http://shaarli.guiguishow.info/?xSqOyg
  • Firefox : retirer les autorités de certification x509 inutiles

    Si tu me lis, tu sais que les certificats x509 ont plusieurs failles conceptuelles. La plus grande est que n'importe quelle autorité de certification (Let's Encrypt, DigiCert, etc.) reconnue par un logiciel peut signer / légitimer un certificat x509 pour n'importe quel nom Internet. Exemple : impots.gouv.fr achète ses certificats x509 auprès de la société commerciale Certigna. Pourtant, rien empêche Let's Encrypt de signer un certificat valide pour impots.gouv.fr (en réalité, il y a quelques mécanismes timides : DNS CAA, DANE TLSA, Certificate Transparency, etc.).

    Ces """"faux"""" certificats peuvent être utilisés pour créer un faux site web impots.gouv.fr ou pour intercepter les communications entre un citoyen et impots.gouv.fr.

    Or, quand on regarde les autorités de certification qui sont enregistrées dans le catalogue de certificats d'autorité d'un navigateur web, il y a de quoi s'interroger :

    • China Financial Certification Autority, E-Tugra Certification Autority (Turquie), Hongkong Post, gouvernements de Taiwan, de Pologne, des Pays-Bas, Chambers of Commerce, Autoridad de Certificacion Firmaprofesional, etc. ;

    • Atos TrustedRoot, Sonera Class 2, Google, etc.

    Je ne conteste pas l'utilité de toutes ces autorités… pour les citoyens et les professionnels concernés. Mais, je ne suis pas concerné par tout ça : je ne consulte pas ces sites web-là, je ne suis pas citoyen de ces États-là, etc. TeliaSonera est un important transitaire Internet. Il est donc en bonne position pour intercepter des communications. Google est hégémonique. Je ne consulte pas de sites web Atos. Etc. Malgré ça, ces autorités peuvent émettre des certificats pour les sites web que je visite. C'est là tout le problème.

    On peut donc retirer les autorités de certification que l'on n'utilise pas pour un gain variable en sécurité. Environ nul pour un ordinateur qui reste à domicile. Intéressant pour un ordinateur personnel qui utilise des points d'accès Wi-Fi gratuits ou pour un ordinateur professionnel qui se déplace chez les clients (et leurs équipements d'interception du trafic TLS) ou pour un séjour dans des pays autoritaires (et leurs équipements d'interception du trafic TLS).


    Listes

    En 2019, Aeris a publié sa liste des autorités de certification x509 qui lui suffisent pour aller sur les sites web qu'il veut. Comme elle n'est plus disponible, je la recopie ici :

    COMODO ECC Certification Authority
    Certplus Class 2 Primary CA
    Certinomis - Root CA
    Baltimore CyberTrust Root
    Amazon Root CA 1
    DigiCert Global Root CA
    DigiCert Assured ID Root CA
    DCertigna
    Deutsche Telekom Root CA 2
    COMODO RSA Certification Authority
    Entrust Root Certification Authority - G2
    DST Root CA X3
    DigiCert Global Root G2
    DigiCert High Assurance EV Root CA
    GlobalSign Root CA
    GlobalSign Root CA - R2
    GlobalSign Root CA - R3
    GeoTrust Primary Certification Authority - G2
    GeoTrust Global CA
    Go Daddy Root Certificate Authority - G2
    Izenpe.com
    QuoVadis Root CA 2
    QuoVadis Root CA 2 G3
    Starfield Root Certificate Authority - G2
    SSL.com Root Certification Authority ECC
    SSL.com Root Certification Authority RSA
    T-TeleSec GlobalRoot Class 2
    USERTrust RSA Certification Authority
    USERTrust ECC Certification Authority
    Certum Trusted Network CA



    Depuis sept mois, j'utilise la liste réduite suivante :

    Baltimore CyberTrust Root
    Buypass Class 2 Root CA
    Comodo RSA Certification Authority
    Comodo ECC Certification Authority
    Dhimyotis Certigna
    Digicert Global Root CA
    Digicert Global Root G2
    Digicert Global Root G3
    Digicert Assured ID Root CA
    Digicert High Assurance EV Root CA
    Entrust Root Certification Authority - G2
    Entrust Root Certification Authority - EC1
    GlobalSign Root CA
    GlobalSign Root CA - R2
    GlobalSign Root CA - R3
    Go Daddy Root Certificate Authority - G2
    HARICA TLS RSA Root CA 2021
    HARICA TLS ECC Root CA 2021
    ISRG Root X1
    QuoVadis Root CA 2 G3
    Starfield Services Root Certificate Authority - G2
    Starfield Root Certificate Authority - G2
    UserTrust ECC Certification Authority
    UserTrust RSA Certification Authority

    ÉDIT DU 21/08/2021 : ajout de QuoVadis Root CA 2 G3. FIN DE L'ÉDIT.

    ÉDIT DU 28/09/2022 : ajout de Entrust Root Certification Authority - EC1. FIN DE L'ÉDIT.

    ÉDIT DU 22/01/2024 : DST Root CA n'est plus empaqueté, donc je le retire de la liste + j'ai ajouté Digicert Global Root G3. FIN DE L'ÉDIT.

    ÉDIT DU 27/06/2025 : ajout de Digicert High Assurance EV Root CA. FIN DE L'ÉDIT.

    MODIF du 08/01/2026" : ajout de HARICA TLS RSA Root CA 2021 et HARICA TLS ECC Root CA 2021. FIN DE MODIF**.

    Comment expliquer la différence entre ma liste et celle d'Aeris ? J'ai un usage très routinier du web. Je consulte peu de nouveaux sites web.


    Comment je fais pour virer les autorités inutiles à mon usage ?

    Dans Firefox : menu « Édition », « Préférences », « Vie privée et sécurité », « Afficher les certificats » (tout en bas), onglet « Autorités ». Je clique sur chaque certificat d'autorité puis sur « Modifier la confiance… » puis je décoche la case « Ce certificat peut identifier des sites web » puis « OK ».

    De mémoire, il est vain de supprimer les certificats d'autorité car ils reviennent automatiquement.



    Aeris retire sa confiance envers les autorités de certification en utilisant la commande certutil :

    • Lister les certificats d'autorités : certutil -d ~/.mozilla/firefox/XXXXXXXX.default/ -L ;

    • Retirer sa confiance à un certificat : certutil -d ~/.mozilla/firefox/XXXXXXXX.default/ -M -n '<NOM_CERTIFICAT' -t ',,'

    Avantage de la ligne de commande : scriptable / automatisable.

    Inconvénients de la ligne de commande :

    • Le nom du certificat n'est pas le même que celui qui s'affiche dans le message d'erreur "certificat manquant" de Firefox, donc établir la correspondance est plus compliqué ;

    • Firefox et certutil ne renvoient pas la même information en ce qui concerne la confiance accordée à un certificat (confiance accordée d'un côté, refusée de l'autre). Incohérence entre les deux outils que je n'explique pas.


    Et les autres logiciels ?!

    Dans Thunderbird, je retire toutes les autorités de certification sauf celles qui signent les certificats des serveurs emails que j'utilise. En clair, j'ai deux autorités au lieu de plusieurs dizaines. ÉDIT DU 24/09/2022 : il faut être plus prudent si 1) tu affiches tes emails en HTML ; 2) tu utilises OpenPGP (chiffrement des emails) car la recherche de clés utilise le protocole VKS qui est transporté chiffré au-dessus de TLS, donc il faut laisser actif le certificat x509 racine de celui du serveur de clés keys.openpgp.org, c'est-à-dire « ISRG Root X1 » (Let's Encrypt). FIN DE L'ÉDIT.

    Il faudrait aussi nettoyer /etc/ssl/certs et les autres catalogues de certificats (celui utilisé par les applications Java, par exemple). Ça ne me semble pas être prioritaire : en dehors de Firefox / Thunderbird, peu de mes logiciels communiquent avec l'extérieur ou alors pour effectuer des tests (cas de wget, curl, openssl s_client, etc.).

    25/02/2021 15:52:35 - permalink -
    - http://shaarli.guiguishow.info/?hc3aBg
  • Bacula sur Debian 10 : « ca md too weak » + « Packet size=XXXXXX too big »

    TL;DR :

    • « ca md too weak » : le certificat x509 utilisé est signé avec un algorithme cryptographique déprécié dans /etc/ssl/openssl.cnf (à la fin) ;

    • « Packet size=XXXXXX too big » : rupture de compatibilité entre deux composants de Bacula car l'un est à jour alors que l'autre ne l'est pas.



    L'un de nos prestataires met à jour, vers Debian 10, un serveur placé sous sa totale responsabilité. C'est notre premier serveur Debian 10. Depuis ce moment-là, nos sauvegardes Bacula de ce serveur ne se font plus.

    Les journaux du directeur Bacula indiquent :

    <CENSURE>-dir JobId XXXX: Warning: bsock.c:107 Could not connect to Client: <CENSURE>-fd on <CENSURE>:9102. ERR=Connection refused
    <CENSURE>-dir JobId XXXX: Fatal error: bsock.c:113 Unable to connect to Client: <CENSURE>-fd on <CENSURE>:9102. ERR=Connection refused

    Sur la machine à sauvegarder Debian 10, le file daemon de Bacula n'est pas démarré. Une erreur empêche de le démarrer :

    <CENSURE>-fd: openssl.c:68 Error loading certificate file: ERR=error:140AB18E:SSL routines:SSL_CTX_use_certificate:ca md too weak

    OpenSSL = implémentation de TLS. « md » = message digest = fonction de condensation / hachage. Nous utilisons une autorité de certification x509 interne / privée / maison. Avant signature, les certificats émis / clients sont signés avec SHA-1. Cette fonction cryptographique est très fortement dépréciée car elle n'offre plus un niveau de sécurité acceptable. C'est l'un des changements entre Debian 9 Stretch et Debian 10 Buster.

    Pour autoriser l'utilisation de SHA-1, il suffit de mettre en commentaire la ligne CipherString = DEFAULT@SECLEVEL=2 du fichier /etc/ssl/openssl.cnf. La solution durable sera de remplacer notre autorité de certification x509 maison par une nouvelle utilisant des algorithmes de signature plus récents.

    Désormais, le file daemon de Bacula démarre. bconsole depuis le director fonctionne. Tout va bien. Enfin, on le croit…



    La nuit suivant la réparation sus-rapportée, la sauvegarde de ce serveur Debian 10 ne se fait toujours pas. Le journal du directeur Bacula consigne :

    <CENSURE>-sd JobId XXXX: Fatal error: bsock.c:569 Packet size=XXXXXX too big from "client:<CENSURE>:9103. Terminating connection.
    <CENSURE>-sd JobId XXXX: Fatal error: Error creating JobMedia records: 1000 OK VolName=Inc-2881 VolJobs=1 VolFiles=0 VolBlocks=3 VolBytes=193738 VolABytes=0 VolHoleBytes=0 VolHoles=0 VolMounts=35 VolErrors=0 VolWrites=289795 MaxVolBytes=0 VolCapacityBytes=0 VolStatus=Used Slot=0 MaxVolJobs=1 MaxVolFiles=0 InChanger=0 VolReadTime=0 VolWriteTime=320926443 EndFile=1 EndBlock=3432546605 VolType=1 LabelType=0 MediaId=2881 ScratchPoolId=0
    <CENSURE>-dir JobId XXXX: Error: getmsg.c:185 Malformed message: Jmsg JobId=XXXX type=4 level=1611790411 <CENSURE>-fd JobId XXXX: Error: bsock.c:388 Wrote 2134 bytes to Storage daemon:<CENSURE>:9103, but only 0 accepted.
    <CENSURE>-dir JobId XXXX: Error: getmsg.c:185 Malformed message: Jmsg JobId=XXXX type=3 level=1611790411 <CENSURE>-fd JobId XXXX: Fatal error: backup.c:843 Network send error to SD. ERR=Connection reset by peer
    <CENSURE>-dir JobId XXXX: Error: getmsg.c:185 Malformed message: Jmsg JobId=XXXX type=4 level=1611790411 <CENSURE>-fd JobId XXXX: Error: bsock.c:271 Socket has errors=1 on call to Storage daemon:<CENSURE>:9103
    <CENSURE>-dir JobId XXXX: Fatal error: bsock.c:569 Packet size=XXXXXX too big from "Client: <CENSURE>-fd:<CENSURE>:9102. Terminating connection.
    <CENSURE>-dir JobId XXXX: Fatal error: No Job status returned from FD.

    Hum… Problème de communication entre la machine à sauvegarder et le serveur de stockage Bacula (storage daemon).

    J'avoue, j'ai cru à une erreur TLS (genre version minimale de TLS imposée par Debian 10 = TLS 1.2 alors que le storage daemon ne sait pas parler cette version). Mais j'ai la même erreur sur une machine virtuelle Debian 10 montée à l'arrache dans laquelle je configure Bacula pour ne pas utiliser TLS.

    Une recherche sur le web donne un diagnostic convergeant : Bacula Packet size too big | deranfangvomen.de, Bacula - Users - Packet size too big from client, Bacula Frequently Asked Questions.

    Un démon de stockage en version 5.X (Debian 8) est incompatible avec un file daemon en version 9.X (Debian 10).

    Solution à court terme : downgrader les paquets Bacula sur la machine Debian 10. Pour ce faire, il faut ajouter les dépôts Stretch dans /etc/apt/sources.list (ne pas oublier le dépôt security), apt-get upate, apt-get install bacula-fd=7.4.4+dfsg-6+deb9u2 bacula-common=7.4.4+dfsg-6+deb9u2.

    Solution à long terme : installer une deuxième architecture Bacula pour nos machines >= Debian 10. L'infra actuelle continuera de s'occuper de nos serveurs < Debian 10…

    25/02/2021 13:42:18 - permalink -
    - http://shaarli.guiguishow.info/?dwNm-Q
  • FOGTaskScheduler occupe 100 % de CPU en permanence

    Sur notre serveur FOG (Free and Opensource Ghost), le processus « FOGTaskScheduler » prend 100 % du CPU en permanence depuis des jours.

    Redémarrage du service FOGScheduler : inefficace.

    J'ai lu le code source viteuf : il s'agit d'une implémentation de CRON (tâches récurrentes planifiées) qui prend les tâches à exécuter dans la table « scheduledTasks » de la base de données.

    Dans notre cas, plus d'une dizaine de tâches étaient enregistrées. Cinq étaient activées. Toutes sont des tâches de type WakeOnLan. À ma connaissance, nous n'allumons pas automatiquement les machines du parc à heure fixe. De plus, certaines tâches étaient agressives car planifiées toutes les minutes.

    J'ai supprimé toutes les entrées de la table « scheduledTasks » (DELETE FROM scheduledTasks;) et j'ai redémarré le service concerné (systemctl restart FOGScheduler).

    Le processus FOGTaskScheduler ne prend plus 100 % du CPU en permanence. \o/ En revanche, aucune amélioration de la lenteur de l'interface web quand on lance le déploiement d'une image disque…

    24/02/2021 10:51:13 - permalink -
    - http://shaarli.guiguishow.info/?ddOfjA
  • SSH : autoriser uniquement root à distance, mais tous les utilisateurs en local

    Avec SSH, on veut autoriser uniquement root à se connecter à distance (afin d'administrer la machine), mais on veut que tous les utilisateurs du système puisse se connecter en local.
    En effet, Hadoop est lancé par nos utilisateurs avec leur compte personnel et celui-ci effectue des connexions SSH locales pour lancer ses différents composants.

    Réponse :

    Il faut ajouter cela dans /etc/ssh/sshd_config :

    AllowUsers root 
    
    Match Address 127.0.0.1,::1
        AllowUsers *

    Puis recharger la configuration de SSH : systemctl reload ssh.

    Notons qu'avant la version 8.4 d'OpenSSH, à cause d'un bug, il n'est pas possible de déposer ce bout de configuration dans le dossier /etc/ssh/sshd_config.d.

    24/02/2021 10:16:57 - permalink -
    - http://shaarli.guiguishow.info/?kI9Bow
  • 3122 – New Include functionality does not work as documented

    Depuis sa version 8.2, il est possible d'inclure de la configuration additionnelle dans sshd_config. Genre Include /etc/ssh/sshd_config.d/*.conf.

    C'est très pratique pour du déploiement automatique de configurations avec Puppet, Ansible, etc. car ça permet de déposer un fichier avec la configuration additionnelle plutôt que de compléter l'unique fichier de configuration à coup de concat ou de file_line (avec Puppet).

    Par contre, avec les versions 8.2 et 8.3, un bug empêche l'utilisation de la directive de configuration « Match » dans un bout de configuration inclus. Cela est corrigé dans la version 8.4 d'OpenSSH.

    24/02/2021 10:09:26 - permalink -
    - https://bugzilla.mindrot.org/show_bug.cgi?id=3122#c0
  • Les pannes techniques qu'on n'explique pas

    Depuis mon VPN FDN (FDN est un Fournisseur d'Accès à Internet associatif), je veux renouveler mon abonnement à NextInpact, journal sur le numérique et le droit afférant. L'intermédiaire de paiement par carte bancaire est Payzen. Dans le cadre de 3-D Secure, Payzen affiche une pop-up qui, in fine, me redirige vers ma banque pour la saisie d'un code à usage unique.

    Cette pop-up, dont l'URL est « https://natixispaymentsolutions-3ds-vdm.wlp-acs.com/acs-challenge-browser-service/challenge/challengeRequest/browserBase », ne s'affiche pas.

    Je désactive une à une mes extensions Firefox (uBlock Origin, uMatrix, Privacy Badger, LocalCDN, SmartReferer, NoScript, etc.). Ça ne fonctionne pas mieux. J'utilise Chromium avec un profil vierge (pas d'extension, pas de configuration personnalisée) : même absence de résultat. Dans les deux cas, le « délai de la réponse » est « dépassé ».

    Regardons ça.


    Depuis ma station de travail

    $ host natixispaymentsolutions-3ds-vdm.wlp-acs.com
    natixispaymentsolutions-3ds-vdm.wlp-acs.com is an alias for natixispaymentsolutions-3ds-vdm.as8677.net.
    natixispaymentsolutions-3ds-vdm.as8677.net has address 160.92.41.82


    $ telnet 160.92.41.82 443
    Trying 160.92.41.82...
    telnet: Unable to connect to remote host: Connection timed out



    D'après Wireshark, mon telnet reçoit aucune réponse à son TCP SYN. Il ne s'agit donc pas d'un problème de MTU, mais de joignabilité du service.



    Ce que confirme mtr :

    $ mtr -n -r -c1 -T -P 443 160.92.41.82
    Start: 2021-02-20T14:54:48+0100
    HOST: <CENSURE>                   Loss%   Snt   Last   Avg  Best  Wrst StDev
      1.|-- 80.67.179.1                0.0%     1   16.9  16.9  16.9  16.9   0.0
      2.|-- 80.67.169.42               0.0%     1   16.5  16.5  16.5  16.5   0.0
      3.|-- 80.67.168.210              0.0%     1   16.8  16.8  16.8  16.8   0.0
      4.|-- 37.77.34.14                0.0%     1   18.3  18.3  18.3  18.3   0.0
      5.|-- 193.253.13.205             0.0%     1   22.1  22.1  22.1  22.1   0.0
      6.|-- 193.252.98.122             0.0%     1   18.6  18.6  18.6  18.6   0.0
      7.|-- 193.252.230.34             0.0%     1   19.5  19.5  19.5  19.5   0.0
      8.|-- 160.92.6.57                0.0%     1   28.5  28.5  28.5  28.5   0.0
      9.|-- ???                       100.0     1    0.0   0.0   0.0   0.0   0.0

    Mes paquets se perdent à l'entrée du réseau de Worldline France Hosting, qui héberge le site web.

    Notons que j'ai bien effectué un test en TCP (« -T ») et sur un port forcément ouvert (« -P 443 » = HTTPS) afin de ne pas obtenir un faux positif lié au blocage très fréquent d'ICMP dans ce milieu-là (même si c'est une connerie car des pans d'ICMP sont inoffensifs et utiles pour dépanner, comprendre l'origine d'une panne, retourner une erreur, etc.).


    S'agit-il d'un problème général ou localisé ?

    Depuis le serveur qui héberge ce shaarli

    $ telnet 160.92.41.82 443
    Trying 160.92.41.82...
    Connected to 160.92.41.82.
    Escape character is '^]'.

    Ha, tiens, ça fonctionne.


    $ mtr -n -r -c1 -T -P 443 160.92.41.82
    Start: 2021-02-20T14:59:16+0100
    HOST: viki.guiguishow.info        Loss%   Snt   Last   Avg  Best  Wrst StDev
      1.|-- 51.77.212.1                0.0%     1    0.3   0.3   0.3   0.3   0.0
      2.|-- 192.168.143.254            0.0%     1    0.2   0.2   0.2   0.2   0.0
      3.|-- 10.224.71.126              0.0%     1    0.4   0.4   0.4   0.4   0.0
      4.|-- 10.224.68.50               0.0%     1    0.4   0.4   0.4   0.4   0.0
      5.|-- 10.69.96.102               0.0%     1    0.4   0.4   0.4   0.4   0.0
      6.|-- 10.17.193.104              0.0%     1    0.7   0.7   0.7   0.7   0.0
      7.|-- 10.73.8.114                0.0%     1    0.3   0.3   0.3   0.3   0.0
      8.|-- 10.95.48.8                 0.0%     1    1.5   1.5   1.5   1.5   0.0
      9.|-- 94.23.122.137              0.0%     1    3.9   3.9   3.9   3.9   0.0
     10.|-- 10.200.0.0                 0.0%     1    3.4   3.4   3.4   3.4   0.0
     11.|-- ???                       100.0     1    0.0   0.0   0.0   0.0   0.0
     12.|-- 62.115.124.118             0.0%     1    3.5   3.5   3.5   3.5   0.0
     13.|-- 62.115.121.5               0.0%     1   26.3  26.3  26.3  26.3   0.0
     14.|-- 62.115.153.109             0.0%     1    3.8   3.8   3.8   3.8   0.0
     15.|-- 160.92.6.39                0.0%     1    3.8   3.8   3.8   3.8   0.0
     16.|-- 160.92.6.54                0.0%     1   13.6  13.6  13.6  13.6   0.0
     17.|-- 160.92.6.10                0.0%     1   16.6  16.6  16.6  16.6   0.0
     18.|-- 160.92.41.82               0.0%     1   16.4  16.4  16.4  16.4   0.0

    On remarque que le routage est différent.
    OVH utilise l'un de ses transitaires, l'opérateur Telia.
    Gitoyen (l'opérateur associatif duquel FDN est membre) passe par Hopus / Orange.

    À ce stade, j'ai utilisé la fonctionnalité proxy SOCKS / transfert dynamique de ports de SSH (ssh -D) tout en configurant mon Firefox pour l'utiliser, et, hop, j'ai pu renouveler mon abonnement NextInpact.


    Depuis un abonnement fibre Orange

    $ telnet 160.92.41.82 443
    Trying 160.92.41.82...
    Connected to 160.92.41.82.
    Escape character is '^]'

    Ça fonctionne également.

    $ mtr -n -r -c1 -T -P 443 160.92.41.82
    Start: 2021-02-20T15:09:14+0100
    HOST: <CENURE>                    Loss%   Snt   Last   Avg  Best  Wrst StDev
      1.|-- 192.168.1.1                0.0%     1    0.5   0.5   0.5   0.5   0.0
      2.|-- ???                       100.0     1    0.0   0.0   0.0   0.0   0.0
      3.|-- 193.253.91.46              0.0%     1    3.2   3.2   3.2   3.2   0.0
      4.|-- 193.252.160.150            0.0%     1    2.2   2.2   2.2   2.2   0.0
      5.|-- 193.251.126.18             0.0%     1    7.7   7.7   7.7   7.7   0.0
      6.|-- 193.252.99.102             0.0%     1    9.2   9.2   9.2   9.2   0.0
      7.|-- 193.252.98.122             0.0%     1    8.7   8.7   8.7   8.7   0.0
      8.|-- 193.252.230.34             0.0%     1   10.7  10.7  10.7  10.7   0.0
      9.|-- 160.92.6.57                0.0%     1   11.6  11.6  11.6  11.6   0.0
     10.|-- 160.92.6.10                0.0%     1   13.3  13.3  13.3  13.3   0.0
     11.|-- 160.92.41.82               0.0%     1   15.0  15.0  15.0  15.0   0.0

    On remarque que l'on transite aussi par les routeurs 160.92.6.57, 193.252.230.34, 193.252.98.122, comme depuis mon VPN FDN. Mais, ici, ça fonctionne. Curieux.



    Ça ressemble quand même à un problème localisé, pas général. Dois-je signaler la panne à mon FAI (FDN) ? Est-ce de sa responsabilité ? Pas sûr du tout.


    D'autres abonnés de mon FAI ont-ils le même problème ?

    Je pourrais les solliciter sur les listes de diffusion… ou utiliser RIPE Atlas. Faisons ça.

    Je crée deux mesures :

    • SSL (qui porte très mal son nom : SSL a été remplacé par TLS depuis fort longtemps) :
      • Target : 160.92.41.82

      • Hostname (SNI) : natixispaymentsolutions-3ds-vdm.wlp-acs.com
    • Traceroute :
      • Target : 160.92.41.82

      • Protocol : TCP

      • Port : 443

    Paramètres communs aux deux mesures :

    • Probe selection :

      • ASN = AS20766 (il s'agit du numéro d'opérateur de Gitoyen)
    • One-off



    Résultats des mesures :

    • TLS :

      • 3 sondes sur 4 parviennent à établir une session TLS. Celle qui n'y parvient pas en affichant « handshake failure » est probablement trop ancienne pour savoir établir une session TLS 1.2 (seul protocole supporté par la cible). Merci Stéphane ;

      • On remarquera la présence d'une sonde située derrière un VPN FDN. Cette sonde parvient à établir une session TLS ! Son traceroute est identique au mien !
    • Traceroute :
      • Toutes les sondes passent par le même chemin mais se font bloquer avant d'entrer sur le réseau de Worldline. D'après la documentation, « !A » dans le traceroute d'une sonde Atlas signifie que l'erreur ICMP « administratively prohibited » a été renvoyée à la sonde. Merci Stéphane.



    Si l'on fait une mesure TLS depuis la France entière (et pas uniquement depuis l'opérateur Gitoyen), on constate que 797 sondes sur 874 (91 %) parviennent à établir une session TLS, 75 n'y parviennent pas (« handshake failure ») et 2 sondes ne parviennent pas à joindre la cible (timeout). Voir la mesure numéro 29125405.



    Afin de tester le chemin retour (qui est rarement identique au chemin aller), j'aurais bien effectué une mesure ping / traceroute depuis Worldline vers ma station de travail, mais aucune sonde Atlas est présente dans le réseau de Worldline.


    Conclusion

    Il ne s'agit pas d'une panne généralisée, car l'écrasante majorité des sondes Atlas et des machines que j'ai sous la main parviennent à joindre le site web.

    Pire, les autres abonnés de mon FAI parviennent à joindre le site web, y compris un autre VPN qui est dans le même réseau que moi. Nous suivons le même itinéraire pour atteindre l'hébergeur du site web, donc, a priori, il n'y a pas de problème à ce niveau-là.



    Comment expliquer ce problème lié à mon adresse IP ?

    • Certaines adresses IP (X.X.X.0 ou X.X.X.255) sont désavantagées car considérées comme invalides selon des normes qui ne sont plus en vigueur depuis plusieurs décennies. Mon adresse IP ne fait pas partie des lots problématiques connus ;

    • Limitation de trafic ou bannissement temporaire (type fail2ban) dûs à mes essais infructueux en désactivant mes extensions Firefox. Cela me semble être improbable car :
      • Mes premiers essais datent de mercredi 17/02 (et déjà RIPE Atlas voyait aucun problème général) et je rencontrais encore ce problème le 20/02, ce qui est inhabituellement long pour ce type de blocage et dans ce contexte (on préfère prendre plus de risques mais encaisser le pognon que de faire perdre des ventes) ;

      • Depuis mon serveur OVH, j'ai effectué des rafales de plusieurs centaines de requêtes HTTP, GET et POST, avec curl et wget ainsi que des dizaines de telnet et de mtr TCP et je n'ai pas été bloqué.



    Au moment de publier ce shaarli (le 23/02, 6 jours après le premier constat), j'accède de nouveau à ce site web depuis mon VPN FDN :

    $ mtr -n -r -c1 -T -P 443 160.92.41.82
    Start: 2021-02-23T10:53:57+0100
    HOST: <CENSURE>                   Loss%   Snt   Last   Avg  Best  Wrst StDev
      1.|-- 80.67.179.1                0.0%     1   22.1  22.1  22.1  22.1   0.0
      2.|-- 80.67.169.42               0.0%     1   18.3  18.3  18.3  18.3   0.0
      3.|-- 80.67.168.210              0.0%     1   16.8  16.8  16.8  16.8   0.0
      4.|-- 37.77.34.14                0.0%     1   21.7  21.7  21.7  21.7   0.0
      5.|-- 193.253.13.205             0.0%     1   16.7  16.7  16.7  16.7   0.0
      6.|-- 193.252.98.122             0.0%     1   19.2  19.2  19.2  19.2   0.0
      7.|-- 193.252.230.34             0.0%     1   19.9  19.9  19.9  19.9   0.0
      8.|-- 160.92.6.57                0.0%     1   28.2  28.2  28.2  28.2   0.0
      9.|-- ???                       100.0     1    0.0   0.0   0.0   0.0   0.0
     10.|-- 160.92.41.82               0.0%     1   35.1  35.1  35.1  35.1   0.0

    On constate que j'emprunte le même chemin, à l'intérieur des réseaux d'Orange et de Worldline, que la machine hébergée sur un abonnement fibre Orange, ce qui est cohérent. L'hypothèse d'un problème de routage (sur le chemin retour) s'effrite encore plus.

    On constate également que je me trompe ci-dessus : mes paquets ne se perdaient pas à l'entrée du réseau de Worldline, mais au contraire, à ma destination dans ce réseau. Cela conforte l'hypothèse d'un banissement temporaire type fail2ban.

    Bizarre… Je viens d'effectuer des centaines de requêtes GET et POST et je ne suis pas bloqué…



    Au final, je ne saurai pas ce qui s'est passé… Les ninjas de l'informatique ne savent pas tout…

    23/02/2021 11:06:22 - permalink -
    - http://shaarli.guiguishow.info/?emyPkA
  • Ni de droite, ni de droite | Grise Bouille

    Manuelle Nöhr-Kaam, la première présidentiable « ni de droite ni de gauche » à être de gauche.

    On met un pognon de dingue dans les dividendes, et les bourgeois ne sont toujours pas satisfaits. Les pauvres restent toujours plus pauvres et les riches toujours plus riches.
    […]
    Dans l'hôtellerie, les cafés et la restauration, dans le bâtiment, il n'y a pas un endroit où je vais où je ne vois pas des gens qui cherchent un travail correctement payé. Je traverse la rue, j'augmente les salaires, je traite décemment mon personnel, je respecte le droit du travail et je vous en trouve, des salariés !
    […]
    Vous me connaissez, je suis pour la laïcité, et, en même temps, pour le respect des traditions chrétiennes de la France. Je cite la Bible, Deutéronome 23.30 : « tu ne prêteras à usure à ton frère ni de l'argent, ni du grain, ni quelque autre chose que ce soit ». Le premier acte de mon quinquennal sera donc d'interdire les prêts à intérêts ‒ taux 0 pour tout le monde ‒ et de socialiser la création monétaire pour qu'elle ne dépende plus du crédit bancaire.
    […]
    On peut comprendre l'envie de croissance des entreprises polluantes… et en même temps, on ne peut pas mettre ça au même niveau que le besoin de survie écologique de l'espèce humaine.

    \o/

    22/02/2021 21:30:02 - permalink -
    - https://grisebouille.net/ni-de-droite-ni-de-droite/
  • On a détruit votre enfance (désolé) - YouTube

    Version rap de comptines enfantines.

    :'D :'D :'D :'D

    21/02/2021 22:51:25 - permalink -
    - https://www.youtube.com/watch?v=O4ALATo9NCM
  • Plan de départ volontaire - Groland - CANAL+ - YouTube

    ‒ On lui reprochait d'être trop mou face à la Covid, du coup Emmanuel Micro a décidé de frapper un grand coup :
    ‒ Pour faire face au virus, j'ai décidé d'employer la méthode forte. Une méthode éprouvée et utilisée par nombre d'entreprises en cas de crise. Nous allons organiser dès la semaine prochaine un grand plan de départs volontaires. Ainsi, tous les grolandais qui le souhaiteront, quel que soit leur âge, quel que soit leur sexe, quels que soient leurs revenus, se verront remettre non pas un vaccin, mais une pilule de cyanure ainsi que des indemnités compensatoires finançant intégralement, et je dis bien intégralement, l'ensemble de leurs frais d'obsèques. Je le dis à celles et ceux qui feront ce choix courageux du départ : merci. En allégeant nos efforts, vous permettrez aux premiers de cordée que nous sommes de continuer vers les sommets. Je vous remercie.

    :D :D :D :D
    Couplé à un contrôle strict des naissances, ça devrait botter l'cul du Covid (et de l'espèce humaine, mais c't'un geste écolo).

    21/02/2021 22:38:28 - permalink -
    - https://www.youtube.com/watch?v=lCKiggE43hs
  • Ubuntu ne démarre plus ? Comment réparer le problème. – Korben

    Boot Repair, un énième outil magique censé réparer les problèmes de démarrage d'un système GNU/Linux.
    J'ai testé : je suis déçu, comme avec les autres outils magiques de ce genre-là.



    Contexte : un ordinateur portable Ubuntu tombé sur le sol durant son fonctionnement qui, depuis, affiche le shell grub rescue.

    Boot sur un live USB Boot Repair + utilisation en mode kikoo (clic sur « Réparation recommandée »). L'outil affiche qu'il « restaure GRUB » et d'autres bricoles. Le journal ne montre pas d'erreurs.

    Par acquit de conscience, je lance un fsck sur les partitions ext4 présentes sur le disque dur. Pas mal d'erreurs (superblock endommagé, inodes manquants, etc.). De mon expérience, ce genre d'erreurs signalent un sérieux problème voire de la perte de fichiers. fsck demande s'il faut ignorer ceci, ré-écrire cela, et comme il y a de nombreuses erreurs, je fini par craquer et lancer le mode automatique (fsck -y).

    Reboot : ho, un winwin 7 sans passer par le menu GRUB. (Ubuntu a été installé à côté de winwin et GRUB a été configuré pour ne pas afficher son menu).



    Reboot sur Boot Repair + nouvelle utilisation en mode kikoo. Cette fois-ci, l'outil annonce qu'il réinstalle GRUB (sur le bon disque dur), qu'il effectue un update-grub2, etc.

    Je pense que la partition système Ubuntu était suffisamment abîmée pour qu'il ne la détecte pas lors du premier lancement, ce qui l'a conduit à penser que le système principal était winwin et qu'Ubuntu était un reliquat, et donc qu'il était mieux de virer GRUB.

    Reboot : toujours winwin.



    Reboot sur Boot Repair. mount la partition Ubuntu + mount -o bind /proc /sys /dev /dev/pts + chroot + grub-install + umount + reboot. Le menu GRUB apparaît.

    Bref : rien vaut la méthode manuelle habituelle.



    Pour être honnête, la méthode manuelle a aussi foiré.

    En effet, le menu GRUB affiche une entrée « Debian GNU/Linux » (wtf ?! Il s'agit d'un Ubuntu !) et deux entrées winwin 7.
    L'entrée Debian nous conduit a une erreur « /boot/grub/i386-pc/video_cirrus.mod not found ». Si l'on presse la touche « entrée » comme proposé, on a un kernel panic…

    Un chroot + update-grub2 génère bien un grub.cfg avec autant d'entrées dans le menu GRUB qu'il y a de versions du noyau présentes dans la partoche Ubuntu, mais, quand on reboot, le menu GRUB affiche une seule ligne. Mais ça change rien : le démarrage reste bloqué sur l'absence de video_cirrus.mod.

    Ces deux incohérences laissent à penser que l'on ne démarre pas sur le bon GRUB (peut-être est-il installé à plusieurs endroits ?).

    Peut-être qu'une réinstallation du paquet grub2 aurait fait le job ?

    19/02/2021 20:03:10 - permalink -
    - https://korben.info/ubuntu-ne-demarre-plus-comment-reparer-probleme.html
  • « dpkg --configure -a » dans un script exécuté par CRON : ne pas oublier d'ajouter « /sbin:/usr/sbin » au PATH.

    Je l'ai déjà écrit : nous utilisons Puppet pour configurer des stations de travail. Sur ces machines-là, le CRON qui lance Puppet (pourquoi ?) au démarrage (mot-clé @reboot dans CRON) effectue aussi un dpkg --configure -a afin de réparer les installations cassées (utilisateur qui éteint brutalement la machine en pleine installation / mise à jour…). On a donc dpkg --configure -a && puppet agent --enable && puppet agent -t ; apt -y update && apt -y upgrade. À plusieurs reprises, je constate que puppet n'est pas exécuté et que les mises à jour ne sont pas effectuées.

    Pour debug, j'ai fait dans l'habituel : un echo, une commande, un echo, une commande, etc. On ne va pas plus loin que dpkg --configure -a. Rediriger la sortie standard et la sortie d'erreur dans un fichier (1>/tmp/testcron 2>&1) n'apporte pas d'information (si ça avait été le cas, j'aurai reçu un email, car CRON envoie la sortie standard et les erreurs par email). echo $? >/tmp/testcron est plus intéressant : dpkg termine avec le code d'erreur 2. D'après son manuel, il s'agit d'une erreur fatale ou irrécupérable. Rien que ça.

    Pour la suite, ça a été un coup de chance. Dans CRON, le PATH n'est pas celui de root, mais « /usr/bin:/bin ». Or, dpkg a besoin de « /usr/sbin:/sbin ». Je ne vois pas trop quels binaires il exécute dedans, mais soit. Ajouter export PATH=$PATH:/sbin:/usr/sbin dans mon script résout mon problème.

    Pour les plus attentifs : pourquoi je ne chaîne pas « apt -y upgrade » à « puppet agent -t » avec && ? Lorsqu'il effectue des actions, puppet agent ne termine pas avec le code d'erreur 0 mais 2 (cf son manuel), donc le chaînage en cas de succès (&&) est caduque.

    15/02/2021 18:58:25 - permalink -
    - http://shaarli.guiguishow.info/?ejFn4w
  • Activer SSSE3 avec Proxmox 6 + KVM

    ArubaOS (utilisé dans le produit Aruba Mobility Master v8.6) refuse de démarrer / booter dans une machine virtuelle KVM sur un hyperviseur Proxmox 6 car il manque les instructions CPU SSSE3.

    On se dit qu'on va faire un qm set, mais, d'après la doc', les drapeaux activables sont limités, et il n'y a pas SSSE3.

    Il y a qu'à choisir un modèle de CPU virtuel qui prend en charge SSSE3. Par défaut, le type de CPU émulé par Proxmox+KVM est kvm64, qui est un Pentium 4 avec des jeux d'instructions retirés.

    Dans les propriétés de la VM, onglet « Hardware », « Processors », on peut choisir le modèle de CPU dans la liste déroulante « Type ». SSSE3 étant ancien (2004), n'importe quel modèle de CPU devrait faire l'affaire. Nous avons choisi IvyBridge, fin du problème.

    15/02/2021 18:34:44 - permalink -
    - http://shaarli.guiguishow.info/?kyE4yw
  • Le Grand choral de Louis Chedid - T'as beau pas être beau - YouTube

    Faut dire qu'il y a quand même
    (J't'aime, t'aime, t'aime)
    Des mecs qu'ont du soleil
    (J't'aime, t'aime, t'aime)
    Dans la tête
    (J't'aime, t'aime, t'aime)
    Sur ma planète
    (J't'aime, t'aime, t'aime)
    Des mecs qui pensent pas
    (J't'aime, t'aime, t'aime)
    Que c'est chacun pour soi
    (J't'aime, t'aime, t'aime)
    Qui se tendent les bras
    (J't'aime, t'aime, t'aime)
    Sur ma terre à moi
    (J't'aime, t'aime, t'aime)
    T'as beau pas être beau
    (oh oh oh oh)
    Monde cinglé
    (hé hé hé hé)
    J't'ai dans la peau
    (oh oh oh oh)
    J't'aime, t'aime, t'aime

    (source)

    Cette chanson m'est revenue en tête ces derniers jours.
    On la chantait en colo il y a plus de 15 ans. :)

    07/02/2021 23:40:26 - permalink -
    - https://www.youtube.com/watch?v=OxXpBT-65Do
  • On n'a pas tous et toutes le même niveau d'engagement dans un projet / combat

    On a souvent besoin d'autrui pour mener à bien / faire avancer un projet / combat. Parfois, les personnes que l'on sollicite car elles nous semblent être les plus à même d'aider (compétences, détention d'informations, situation / position, affinité, etc.) refusent d'apporter leur concours. Pire, certaines personnes se désistent et retroussent chemin après avoir engagé leur premier coup de papatte. Souvent pour des motifs vaseux comme une peur irrationnelle.

    Dans ces moments-là, je me sens déçu par la personne voire trahi, et donc triste. Je fonctionne à l'affinité / l'affect (je choisis une personne pour un projet pour ses compétences, mais aussi parce que je sens bien cette personne-là, à ce moment-là, sur ce projet-là), donc, forcément, ça me fait mal. Surtout quand une personne affirme adhérer à fond à ma démarche et qu'elle m'a bien chauffé au préalable en mode "t'as trop raison, faut faire ça, vas-y mon poulain !".

    On peut y voir de la lâcheté, voire de l'hypocrisie (afficher son soutien sans rien produire de concret). Oui, c'est vrai, mais…

    Il y a plus de 5 ans maintenant, une amie m'a dit quelque chose. Je constate que le souvenir de ces paroles m'a apaisé à plusieurs reprises ces derniers mois dans des contextes comme celui exposé ci-dessus.

    Il y a plein de façon de contribuer à un projet / combat, plein de manière de changer le monde. On n'est pas obligé de poser des bombes ni de saboter les moyens de production. On peut gérer la logistique (autour de la pose de la bombe ou du sabotage). On peut héberger les militants radicaux (comme les Résistants qui faisaient sauter les voies ferrées). On peut diffuser la propagande (afin d'expliquer l'utilisation de bombes / sabots). On peut fournir des informations (car, comme la personne est restée irréprochable, le système lui en filera). On peut mettre en relation des personnes. On peut soutenir moralement l'acteur principal. On peut lui remonter le moral. On peut dévier le coup de grâce que tentera s'asséner le système à l'actrice principale (en restant irréprochable aux yeux du système, une personne sera à même de peser de tout son poids dans la décision). On peut contribuer aux caisses de grève plutôt que d'aller se faire gazer par les flics ou perdre quelques précieux euros sur un salaire précaire. Etc. Bref, il faut accepter que tout le monde n'ait pas le même niveau d'engagement dans un projet / combat… Et ne pas insulter le futur.

    Comme dit dans le film Fight Club, c'est à chaque personne de définir son niveau d'engagement. Comme d'hab', forcer les gens amène rien de positif (travail bâclé, dernier coup de main, mauvaise ambiance, etc.). Ma fierté de ces dernières années est de parvenir à commencer à faire la différence entre un refus de ma personne et un refus de l'une de mes idées, et d'accepter un refus de coup de main. Je progresse à petits pas.

    07/02/2021 23:05:50 - permalink -
    - http://shaarli.guiguishow.info/?kSNPmQ
Links per page: 20 50 100
◄Older
page 82 / 302
Newer►
Mentions légales identiques à celles de mon blog | CC BY-SA 3.0

Shaarli - The personal, minimalist, super-fast, database free, bookmarking service by the Shaarli community