Cyril Brulebois a écrit 670 commentaires

  • # Reverse proxy ?

    Posté par  (site web personnel) . En réponse au message ajouter un vhost ou une route http au serveur web de jenkins. Évalué à 3.

    C'est assez commun d'avoir un reverse proxy devant jenkins (par exemple apache2, nginx, lighttpd, etc.) pour gérer la partie TLS et d'éventuels autres vhosts.

    Si tu mets en place ce genre de choses, tu peux décider de faire passer presque toutes les requêtes vers jenkins, mais de servir quelques pages, voire un dossier complet directement depuis apache2.

    Tout cela est potentiellement overkill pour ton cas d'utilisation (peut-être jenkins permet-il d'ajouter directement une page statique), et c'est parfois un peu pénible d'arriver à faire en sorte que jenkins se rende compte qu'il est derrière un proxy… mais bon, ça reste une piste. ;)

    Debian Consultant @ DEBAMAX

  • [^] # Re: TERM, pipe, stdin

    Posté par  (site web personnel) . En réponse au message [Résolu] Ai-je détecté un bug ou bien suis-je mauvais avec GNU Bash et ansible-lint ?. Évalué à 3.

    Attention à /dev/fd/N, une option peut être de préférer /proc/self/fd/N. Cela dépend beaucoup de l'environnement dans lequel on se trouve, un peu plus de détails dans les commentaires du commit 6b2229c6c60d0486 dans systemd.git.

    Debian Consultant @ DEBAMAX

  • [^] # Re: Locale

    Posté par  (site web personnel) . En réponse au message Date - Inversion jour/mois. Évalué à 9. Dernière modification le 23 janvier 2021 à 06:33.

    Tout à fait d'accord avec toi pour la notation +.

    A priori, mauvaise piste pour les paramètres régionaux : date lui répond en français. Mais vérifions…

    La page de manuel :

           -d, --date=STRING
                  display time described by STRING, not 'now'
    …
    DATE STRING
           The --date=STRING is a mostly free format human readable date string such as "Sun, 29 Feb  2004  16:21:42
           -0800" or "2004-02-29 16:21:42" or even "next Thursday".  A date string may contain items indicating cal‐
           endar date, time of day, time zone, day of week, relative time, relative date,  and  numbers.   An  empty
           string  indicates  the beginning of the day.  The date string format is more complex than is easily docu‐
           mented here but is fully described in the info documentation.
    

    La page info :

    28.2 Calendar date items
    ========================
    
    A “calendar date item” specifies a day of the year.  It is specified
    differently, depending on whether the month is specified numerically or
    literally.  All these strings specify the same calendar date:
    
         1972-09-24     # ISO 8601.
         72-9-24        # Assume 19xx for 69 through 99,
                        # 20xx for 00 through 68.
         72-09-24       # Leading zeros are ignored.
         9/24/72        # Common U.S. writing.
         24 September 1972
         24 Sept 72     # September has a special abbreviation.
         24 Sep 72      # Three-letter abbreviations always allowed.
         Sep 24, 1972
         24-sep-72
         24sep72
    
       The year can also be omitted.  In this case, the last specified year
    is used, or the current year if none.  For example:
    
         9/24
         sep 24
    
       Here are the rules.
    
       For numeric months, the ISO 8601 format ‘YEAR-MONTH-DAY’ is allowed,
    where YEAR is any positive number, MONTH is a number between 01 and 12,
    and DAY is a number between 01 and 31.  A leading zero must be present
    if a number is less than ten.  If YEAR is 68 or smaller, then 2000 is
    added to it; otherwise, if YEAR is less than 100, then 1900 is added to
    it.  The construct ‘MONTH/DAY/YEAR’, popular in the United States, is
    accepted.  Also ‘MONTH/DAY’, omitting the year.
    
       Literal months may be spelled out in full: ‘January’, ‘February’,
    ‘March’, ‘April’, ‘May’, ‘June’, ‘July’, ‘August’, ‘September’,
    ‘October’, ‘November’ or ‘December’.  Literal months may be abbreviated
    to their first three letters, possibly followed by an abbreviating dot.
    It is also permitted to write ‘Sept’ instead of ‘September’.
    
       When months are written literally, the calendar date may be given as
    any of the following:
    
         DAY MONTH YEAR
         DAY MONTH
         MONTH DAY YEAR
         DAY-MONTH-YEAR
    
       Or, omitting the year:
    
         MONTH DAY
    

    La notation US est très ancrée…

    Pour ma part, je préfère toujours ISO 8601 (YYYY-MM-DD) pour toute date (aucune ambiguïté possible, ça se trie trivialement, etc.), et c'est accepté par date.

    Debian Consultant @ DEBAMAX

  • [^] # Un bastion avec SSH ?

    Posté par  (site web personnel) . En réponse au message Prise de main à distance. Évalué à 5. Dernière modification le 06 janvier 2021 à 14:13.

    Un des soucis avec screen est qu'il supporte le multi-utilisateur, mais on se retrouve assez vite embêté si les réglages des émulateurs de terminaux sont différents (fenêtres qui apparaissent tronquées), et c'est potentiellement un peu pénible à mettre en place (pas utilisé récemment, mais je crois me souvenir que screen a besoin de droits supplémentaires pour autoriser :multiuser on, :acladd $user, etc.).

    Ce qui a bien marché dans le cadre d'un dépannage lors d'une visio de type LUG :

    • L'utilisateur se connecte sur une machine extérieure en SSH et établit un tunnel SSH dans le sens inverse. L'accès à cette machine extérieure peut être restreint par exemple en filtrant sur l'adresse IP actuelle de l'utilisateur concerné. L'accès peut être limité par diverses options de configuration SSH spécifiques à cet utilisateur. L'utilisateur peut même être jetable.
    • Le débogueur se connecte sur cette même machine et utilise le tunnel SSH dans le sens inverse.
    • Le débogueur partage son écran via l'outil de visio choisi.

    Il suffit à l'utilisateur de couper sa connexion SSH vers la machine extérieure pour couper l'accès au débogueur, ce qui limite l'aspect « le débogueur a un accès permanent à la machine déboguée ». Bien évidemment, rien n'empêche le débogueur d'exploiter le tunnel existant pour déployer (potentiellement de manière automatisée, depuis une autre console non partagée par visio, etc.) une payload, mais bon…

    Pour établir le tunnel, par exemple :

    sudo apt install openssh-server wget
    wget https://une-machine-dont-les-logs-donneront-l-ip-au-débogueur-ou-bien-whatismyipaddress-ou-peu-importe.com
    ssh -R 12345:localhost:22 guest@la.machine.ssh
    

    Pour le débogueur, une fois connecté sur la.machine.ssh :

    ssh -p 12345 utilisateur@localhost
    

    et vérifier l'empreinte de clé comme habituellement.

    Si tu veux tout de même partager une session screen, la démarche sera similaire, avec soit l'utilisateur guest soit toi qui créez une session screen et l'autre qui le rejoint. Puis utiliser le tunnel inverse depuis cette session. L'avantage dans ce cas est que l'utilisateur peut taper son propre mot de passe, mais j'imagine que le débogueur, ayant accès à la machine, doit pouvoir épier la saisie du mot de passe…

    Debian Consultant @ DEBAMAX

  • [^] # Re: Network-Manager

    Posté par  (site web personnel) . En réponse au message Interface réseau. Évalué à 2.

    C'est effectivement probable, et assez facile, d'avoir d'éventuels conflits avec un outil de gestion du réseau. J'ajouterais qu'il est possible de cumuler des réglages réseau (avec ou sans NetworkManager), ce qui peut être déroutant.

    Typiquement, si on s'en tient à :

    sudo ip addr add 1.2.3.4/24 dev eth0
    

    Il est probable qu'on se retrouve avec les réglages précédents pour eth0 en plus de ce nouveau 1.2.3.4/24.

    Pour se débarrasser des réglages précédents, il est possible d'utiliser la commande suivante au début :

    sudo ip addr flush dev eth0
    

    Ou alors d'enlever un précédent réglage de manière explicite :

    sudo ip addr del 5.6.7.8/24 dev eth0
    

    Debian Consultant @ DEBAMAX

  • [^] # Re: En attendant la fibre...

    Posté par  (site web personnel) . En réponse au message de la Freebox, son repeater wifi et du LAN éloigné (bridge wifi2lan). Évalué à 2.

  • [^] # Re: Mise à jour Windows ?

    Posté par  (site web personnel) . En réponse au message Linux disparu du Dual Boot. Évalué à 3.

    Le Dual-Boot comme tout boot, se passe au niveau du secteur de Boot qui se trouve au début d'un disque.

    Non, elle a précisé être en UEFI…

    Debian Consultant @ DEBAMAX

  • # Groupe d'utilisateurs Linux local ou dépannage distant ?

    Posté par  (site web personnel) . En réponse au message Linux disparu du Dual Boot. Évalué à 5.

    Hello,

    C'est typiquement le genre de dépannage qui est bien plus facile à faire en ayant les mains sur la machine, et les GULL (LLUG en anglais) sont un bon endroit pour trouver de l'aide. Vu les contraintes de déplacement actuelles, ça peut se tenter en ayant disons un téléphone qui filme l'écran et partage l'image en visio via Jitsi.

    Dans les grandes lignes, mon approche de base serait :

    • Démarrer un système Linux live. A priori soit Pop.Os si c'est supporté, soit la distribution Ubuntu qui lui sert de base (et qui elle propose un démarrage live).
    • Vérifier qu'on est bien capable de monter la partition racine. Il est possible qu'il soit nécessaire de lancer une vérification du système de fichiers en raison de l'arrêt brutal.
    • Monter des systèmes de fichiers additionnels (typiquement, /boot/efi, /dev, /proc, /sys).
    • Basculer dans le système de fichiers racine (via chroot).
    • Utiliser efibootmgr pour vérifier la configuration UEFI, pour éventuellement remettre une entrée Linux dedans, et adapter le BootOrder.

    Si tu veux essayer ces manipulations, je dois pouvoir libérer une heure.

    Debian Consultant @ DEBAMAX

  • [^] # Re: J'ai eu le problème

    Posté par  (site web personnel) . En réponse au message Free et l'ipv4 fullstack. Évalué à 2.

    D'ici 2038 peut-être que les paquets passeront entre Cogent et HE (cf. https://lafibre.info/transit-ip/peering-ipv6-cogent-he/) ?

    Debian Consultant @ DEBAMAX

  • # Makefile upstream

    Posté par  (site web personnel) . En réponse au message kernel-package déprécié - quelle méthode utilisez-vous pour compiler votre noyau en 2020 ? . Évalué à 4.

    Je dirais que ça dépend du besoin.

    Si c'est pour tester un patch (ou une nouvelle version, ou d'autres options) pour intégration dans une distribution, ça peut être une bonne idée d'utiliser son système de packaging (e.g. debian/rules ou dpkg-buildpackage dans le monde Debian). Il y a probablement de la documentation spécifique (e.g. https://kernel-team.pages.debian.net/kernel-handbook/ dans le monde Debian).

    Si c'est pour tester un patch (ou…) en dehors, les cibles de Makefile upstream sont probablement un bon choix (e.g. make deb-pkg dans le monde Debian). Des pistes dans :

    git grep pkg -- scripts/Makefile.package
    

    Debian Consultant @ DEBAMAX

  • # Ancrage à gauche ?

    Posté par  (site web personnel) . En réponse au message Syntaxe procmailrc. Évalué à 1. Dernière modification le 07 novembre 2020 à 20:11.

    Ta première règle matche sur From en début de ligne.

    Ta seconde règle matche sur l'inverse de To et Cc n'importe où sur la ligne ? J'imagine que les mails dont le To et le Cc ne te listent pas… te sont quand même distribués, avec probablement un Delivered-To, qui lui va matcher ?

    Exemple récent, avec DN/CUSTOMER « anonymisés », un extrait des entêtes du mail que j'ai reçu en mettant l'alias sales@DN en copie, délivré dans ma boîte principale :

    Delivered-To: cyril@DN
    From: Cyril Brulebois <cyril@DN>
    To: accounts@CUSTOMER
    Cc: sales@DN
    

    Debian Consultant @ DEBAMAX

  • [^] # Re: Variable COLUMS

    Posté par  (site web personnel) . En réponse au message Taille définie du terminal pour une commande donnée. Évalué à 4.

    Tu peux t'en rendre compte toi-même en comparant un strace (avec les bonnes options) sur ls et sur ls|cat :

    15427 ioctl(1, TCGETS, {c_iflags=0x4500, c_oflags=0x5, c_cflags=0xbf, c_lflags=0x8a3b, c_line=0, c_cc="\x03\x1c\x7f\x15\x04\x00\x01\x00\x11\x13\x1a\x00\x12\x0f\x17\x16\x00\x00\x00"}) = 0
    15427 ioctl(1, TIOCGWINSZ, {ws_row=64, ws_col=238, ws_xpixel=0, ws_ypixel=0}) = 0
    

    quand on a affaire à un TTY, et :

    15431 ioctl(1, TCGETS, 0x7ffcc2edfff0)  = -1 ENOTTY (Inappropriate ioctl for device)
    15431 ioctl(1, TIOCGWINSZ, 0x7ffcc2ee00a0) = -1 ENOTTY (Inappropriate ioctl for device)
    

    quand ça n'est pas le cas.

    Plus d'infos dans tty_ioctl(4).

    Note to self: En vérifiant la référence, je découvre avec amusement que la structure winsize possède deux champs inutilisés :

    struct winsize {
        unsigned short ws_row;
        unsigned short ws_col;
        unsigned short ws_xpixel;   /* unused */
        unsigned short ws_ypixel;   /* unused */
    };

    Debian Consultant @ DEBAMAX

  • [^] # Re: Variable COLUMS

    Posté par  (site web personnel) . En réponse au message Taille définie du terminal pour une commande donnée. Évalué à 2.

    J'ai failli oublier | cat. Les commandes peuvent changer de comportement quand la sortie est redirigée. cat permet d'avoir une commande « neutre », mais toute autre commande ferait l'affaire.

    Debian Consultant @ DEBAMAX

  • # Variable COLUMS

    Posté par  (site web personnel) . En réponse au message Taille définie du terminal pour une commande donnée. Évalué à 3.

    Sans réglage particulier, voici les dimensions de mon terminal :

    kibi@armor:~$ echo $COLUMNS
    115
    kibi@armor:~$ echo $LINES
    25
    

    Listons les paquets :

    kibi@armor:~$ dpkg -l
    …
    ii  zonecheck              3.0.5-3          all              DNS configuration checker
    ii  zsh                    5.3.1-4+b3       amd64            shell with lots of features
    ii  zsh-common             5.3.1-4          all              architecture independent files for Zsh
    

    La même chose avec une largeur plus faible :

    kibi@armor:~$ COLUMNS=80 dpkg -l
    …
    ii  zonecheck      3.0.5-3      all          DNS configuration checker
    ii  zsh            5.3.1-4+b3   amd64        shell with lots of features
    ii  zsh-common     5.3.1-4      all          architecture independent files fo
    

    ou plus importante :

    kibi@armor:~$ COLUMNS=200 dpkg -l
    …
    ii  zonecheck                                    3.0.5-3                     all                         DNS configuration checker
    ii  zsh                                          5.3.1-4+b3                  amd64                       shell with lots of features
    ii  zsh-common                                   5.3.1-4                     all                         architecture independent files for Zsh
    

    Debian Consultant @ DEBAMAX

  • [^] # Re: non

    Posté par  (site web personnel) . En réponse au message generateur et performances. Évalué à 4.

    Ton pointeur de fichier fait déjà ça, non ?

    with open('miaou.csv') as fp:
        for line in fp:
            print(line)

    Debian Consultant @ DEBAMAX

  • [^] # Re: À tester

    Posté par  (site web personnel) . En réponse au message comment "rediriger" /devc/cdrom ?. Évalué à 5.

    Ça tombe bien, c'est exactement ce qui est fait pour sr0 via :

    KERNEL=="sr0", SYMLINK+="cdrom", OPTIONS+="link_priority=-100"
    

    dans /lib/udev/rules.d/60-cdrom_id.rules.

    Il devrait te suffire de localiser le bon fichier avec une règle similaire, et de le mettre à jour pour obtenir l'effet désiré. Pour être sûr que la nouvelle règle soit bien prise en compte, le plus simple est probablement de redémarrer.

    Attention, modifier à la main un fichier sous contrôle d'un gestionnaire de paquets risque d'être oublié lors de la prochaine mise à jour du paquet concerné, donc la modification in situ n'est probablement appropriée que pour un test ponctuel.

    Il peut être nécessaire de mettre en place un fichier spécifique (e.g. dans /etc/udev/rules.d/, sous contrôle de l'admin), pour pérenniser la solution. Dans l'exemple donné ci-dessus, le lien symbolique en place est peu prioritaire. D'après udev(7) :

           OPTIONS
               Rule and device options:
    
               link_priority=value
                   Specify the priority of the created symlinks. Devices with
                   higher priorities overwrite existing symlinks of other
                   devices. The default is 0.
    

    donc il me semble que mettre en place une règle pour sr1 comme suit devrait fonctionner sur le long terme, par exemple dans /etc/udev/rules.d/60-custom-cdrom_id.rules :

    KERNEL=="sr1", SYMLINK+="cdrom"
    

    (Ne pas hésiter à mettre un commentaire et/ou une option link_priority explicite pour te souvenir de comment tu en es arrivé là…)

    Debian Consultant @ DEBAMAX

  • # Vérification systématique

    Posté par  (site web personnel) . En réponse au message gros pb dns et réseau sur ubuntu 20.04 (résolu). Évalué à 2.

    Je te suggère de vérifier la configuration réseau effective sur chacune, par exemple avec :

    ip l
    ip a
    ip r
    cat /etc/resolv.conf
    

    Cela permettra de détecter des incohérences éventuelles.

    Pour les histoires de résolution qui fonctionne ou non, tu peux utiliser dig et poser la question à l'un et/ou l'autre des deux serveurs configurés.

    Debian Consultant @ DEBAMAX

  • [^] # Re: info complémentaire

    Posté par  (site web personnel) . En réponse au message [Résolu] Sozi ouvre toi. Évalué à 6. Dernière modification le 20 octobre 2020 à 08:42.

    Ça veut dire que tu donnes le droit à absolument toute commande dans ce répertoire de faire ce qu'elle veut en tant que root.

    C'est un tout petit peu à contre-emploi vis-à-vis de la sandbox dont le but est de filtrer ce qu'il est possible de faire ou non…

    Debian Consultant @ DEBAMAX

  • [^] # Re: dd, testdisk

    Posté par  (site web personnel) . En réponse au message DDE formaté par erreur - quelles solutions ?. Évalué à 8.

    status=progress

    Debian Consultant @ DEBAMAX

  • [^] # Re: Voici ma ligne de commande :

    Posté par  (site web personnel) . En réponse au message supprimer vielles lignes d'un log (Résolu). Évalué à 3.

    C'est pire que ça.

    Dès le branchement des redirections, le fichier de log est tronqué et ouvert en écriture, et tout son contenu est perdu.

    Deux possibilités pour éviter cela :

    • commencer par dupliquer le fichier, et travailler sur une copie, en générant le fichier allégé directement.
    • travailler sur le fichier original, générer un nouveau fichier allégé sous un autre nom, puis remplacer le fichier original.

    Dans les deux cas, cela ne résout pas le souci que tu mentionnais (les éventuelles lignes de log perdues en cours de route). Mais cela évite de tout perdre.

    Debian Consultant @ DEBAMAX

  • [^] # Re: Quelques précisions

    Posté par  (site web personnel) . En réponse au message Un enseignant dans la tourmente. Évalué à 2.

    C'est typiquement le cas d'utilisation où éditer la ligne de commande pour enlever quiet et splash peut s'avérer utile. ;-)

    Debian Consultant @ DEBAMAX

  • [^] # Re: tu ne perdras rien

    Posté par  (site web personnel) . En réponse au message Un enseignant dans la tourmente. Évalué à 3.

    En complément, ne pas hésiter à supprimer les mots quiet splash de la ligne du commande du noyau pour maximiser les chances d'avoir des messages à l'écran indiquant ce qui fonctionne… et ce qui pose problème.

    Note : l'édition n'est valable que pour le prochain démarrage. Elle est oubliée au redémarrage de la machine, donc pas de risque de corrompre la configuration du chargeur de démarrage en cas de fausse manipulation.

    Debian Consultant @ DEBAMAX

  • [^] # Re: pb config ?

    Posté par  (site web personnel) . En réponse au message Xubuntu Azus X205 TA port jack non reconnu ?. Évalué à 2.

    Je confirme, pavucontrol est souvent un très bon point de départ pour comprendre ce qui est configuré et comment. Cela peut être un problème de profil, cf. l'onglet Configuration. Peut-être un choix de Digital … par défaut, au lieu d'Analog Stereo Duplex, par exemple ?

    Debian Consultant @ DEBAMAX

  • [^] # Re: Script

    Posté par  (site web personnel) . En réponse au message soft bancaire?. Évalué à 4.

    Pour mes comptes pro et perso, j'utilise Skrooge qui a un connecteur weboob, ce qui me permet d'importer les opérations des différentes banques dans différents fichiers. Là, effectivement, j'ai un peu de glu pour dire tel fichier = telle(s) banque(s). Dans Skrooge, je catégorise+pointe les opérations.

    Côté pro uniquement, pour être sûr de faire le rapprochement entre les différentes opérations, factures, etc. je n'utilise pas de GED mais j'ai des tableurs LibreOffice. J'imagine qu'il pourrait y avoir plus d'automatisation entre Skrooge et LibreOffice, mais vu le peu d'opérations dans une année, c'est l'expert-comptable qui fait les vérifications ultimes et me rattrape par l'oreille s'il manque une facture ou un justificatif. ;)

    Debian Consultant @ DEBAMAX

  • [^] # Re: pour t’aider à diagnostiquer, essaie en anglais, ça t’aidera dans les recherches sur le web

    Posté par  (site web personnel) . En réponse au message Erreur copie fichier avec Caja à partir de CIFS/SMB [MATE Manjaro]. Évalué à 4.

    Effectivement, les applicatifs qui se relancent tout seuls peuvent être un peu pénibles pour les manipulations de leur environnement.

    Il est toutefois possible de faire la correspondance français→anglais en téléchargeant le paquet source et en localisant (no pun intended) la chaîne dans le fichier de traduction. L'outil habituel est gettext et c'est probablement po/fr.po qui va t'intéresser. Seulement, il y a des chances que ça vienne d'une des bibliothèques utilisées, donc ça peut ne pas donner de résultats directs… Et je ne trouve rien que ressemble via https://sources.debian.org/ — Manjaro propose peut-être un service similaire qui peut t'aider à trouver d'où ça vient.

    Pour ce qui est de la compréhension du problème, si tu avais un fonctionnement normal précédemment, c'est plutôt une bonne nouvelle : il doit être possible de comprendre d'où vient la régression. Dans ce genre de cas, ma priorité va aux logs de l'outil de mise à jour : est-ce que des paquets ont été mis à jour récemment, si oui est-ce que le timing correspond à l'apparition des symptômes, etc. En complément ou à la place d'une telle mise à jour, il peut y avoir eu un changement de configuration (/etc ou dans les préférences utilisateur). Enfin, dans ce cas particulier, il faut penser à vérifier ce genre de choses à la fois côté client et côté serveur. Bonne chance !

    Debian Consultant @ DEBAMAX