• systemd systemd-random-seed.service et mount

    From Christophe Maquaire@21:1/5 to All on Mon Jan 30 11:40:02 2023
    Bonjour la liste,

    J'ai une machine en unstable depuis un certain temps (plusieurs années)

    J'ai un souci avec le service systemd-random-seed (depuis plusieurs
    mois)

    root@salicyline:~# systemctl status --failed
    × systemd-random-seed.service - Load/Save Random Seed
    Loaded: loaded (/lib/systemd/system/systemd-random-seed.service;
    static)
    Active: failed (Result: exit-code) since Mon 2023-01-30 10:18:34
    CET; 18min ago
    Docs: man:systemd-random-seed.service(8)
    man:random(4)
    Main PID: 568 (code=exited, status=1/FAILURE)
    CPU: 4ms

    janv. 30 10:18:34 salicyline systemd[1]: Starting Load/Save Random
    Seed...
    janv. 30 10:18:34 salicyline systemd-random-seed[568]: Failed to create directory /var/lib/systemd: No such file or directory
    janv. 30 10:18:34 salicyline systemd[1]: systemd-random-seed.service:
    Main process exited, code=exited, status=1/FAILURE
    janv. 30 10:18:34 salicyline systemd[1]: systemd-random-seed.service:
    Failed with result 'exit-code'.
    janv. 30 10:18:34 salicyline systemd[1]: Failed to start Load/Save
    Random Seed.
    root@salicyline:~# systemctl start systemd-random-seed
    root@salicyline:~# systemctl status --failed
    root@salicyline:~#

    Son démarrage échoue systematiquement au boot, mais tout se passe bien ensuite...

    Il semble qu'il y ait un problème d'accès au système de fichier.

    Mon fstab ne présente pas de bizarerie

    root@salicyline:~# cat /etc/fstab
    # /etc/fstab: static file system information.
    #
    # Use 'blkid' to print the universally unique identifier for a
    # device; this may be used with UUID= as a more robust way to name
    devices
    # that works even if disks are added and removed. See fstab(5).
    #
    # <file system> <mount point> <type> <options> <dump> <pass> /dev/mapper/salicyline--vg-root / ext4 errors=remount-
    ro 0 1
    # /boot was on /dev/sda1 during installation UUID=90a03453-e990-418c-8dd6-92f7748e2f8c /boot ext2
    defaults 0 2
    # /lent was on /dev/sdb2 during installation UUID=141168c4-7dc2-4d10-83ef-80dd68829111 /lent ext4
    defaults 0 2
    # swap was on /dev/sdb1 during installation UUID=7558e382-d940-4e14-856d-7695f3c1d7db none swap sw
    0 0

    Et je ne maîtrise pas suffisemment systemd pour avoir toucher à

    root@salicyline:/# cat /usr/lib/systemd/system/sysinit.target.wants/systemd-random-
    seed.service
    # SPDX-License-Identifier: LGPL-2.1-or-later
    #
    # This file is part of systemd.
    #
    # systemd is free software; you can redistribute it and/or modify it
    # under the terms of the GNU Lesser General Public License as
    published by
    # the Free Software Foundation; either version 2.1 of the License, or
    # (at your option) any later version.

    [Unit]
    Description=Load/Save Random Seed Documentation=man:systemd-random-seed.service(8) man:random(4) DefaultDependencies=no
    RequiresMountsFor=/var/lib/systemd/random-seed
    Conflicts=shutdown.target
    After=systemd-remount-fs.service
    Before=first-boot-complete.target shutdown.target Wants=first-boot-complete.target
    ConditionVirtualization=!container
    ConditionPathExists=!/etc/initrd-release

    [Service]
    Type=oneshot
    RemainAfterExit=yes
    ExecStart=/lib/systemd/systemd-random-seed load ExecStop=/lib/systemd/systemd-random-seed save

    # This service waits until the kernel's entropy pool is initialized,
    and may be
    # used as ordering barrier for service that require an initialized
    entropy
    # pool. Since initialization can take a while on entropy-starved
    systems, let's
    # increase the timeout substantially here.
    TimeoutSec=10min

    Bon, ce n'est pas bien grave, mais si quelqu'un a une idée...

    Christophe

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From didier gaumet@21:1/5 to All on Mon Jan 30 13:10:01 2023
    Le lundi 30 janvier 2023 à 11:12 +0100, Christophe Maquaire a écrit :
    Bonjour la liste,

    J'ai une machine en unstable depuis un certain temps (plusieurs
    années)

    J'ai un souci avec le service systemd-random-seed (depuis plusieurs
    mois)
    [...]
    janv. 30 10:18:34 salicyline systemd-random-seed[568]: Failed to
    create directory /var/lib/systemd: No such file or directory
    [...]

    Bonjour,

    pour situer mon niveau: tu viens de m'apprendre l'existence de ce
    service, donc ne t'attends à des conseils pointus de ma part ;-)

    mais le deuxième paragraphe de la page man du service semble pointer
    vers l'origine de ton souci:
    [...]
    Note that this service runs relatively late during the early boot
    phase, i.e. generally after the initial RAM disk (initrd) completed its
    work, and the /var/ file system has been mounted writable. Many system
    services require entropy much earlier than this — this service is hence
    of limited use for complex system. It is recommended to use a
    bootloader that can pass an initial random seed to the kernel to ensure
    that entropy is available from earliest boot on, for example systemd-
    boot(7), with its bootctl random-seed functionality.
    [...]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From ajh-valmer@21:1/5 to All on Mon Jan 30 13:40:01 2023
    On Monday 30 January 2023 11:12:06 Christophe Maquaire wrote:

    Désolé, ce lien (désolé sur Ubuntu) semble répondre à la question :

    https://askubuntu.com/questions/1404691/fwupd-refresh-service-failed

    # systemctl daemon-reload && sudo systemctl start fwupd-refresh.service

    ne m'affiche plus d'erreurs.

    To fix, edit the file: /lib/systemd/system/fwupd-refresh.service :
    And change this line:
    SuccessExitStatus=2
    So that it reads:
    SuccessExitStatus=1
    Dynamic User=no

    Hope it helps,

    A. Valmer

    On Monday 30 January 2023 11:12:06 Christophe Maquaire wrote:
    J'ai une machine en unstable depuis un certain temps (plusieurs années)
    J'ai un souci avec le service systemd-random-seed (depuis plusieurs mois) root@salicyline:~# systemctl status --failed
    Son démarrage échoue systematiquement au boot, mais tout se passe bien ensuite...
    Il semble qu'il y ait un problème d'accès au système de fichier.
    Bon, ce n'est pas bien grave, mais si quelqu'un a une idée...
    Christophe

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Christophe Maquaire@21:1/5 to All on Tue Jan 31 11:10:01 2023
    Le lundi 30 janvier 2023 à 13:13 +0100, ajh-valmer a écrit :

    Bonjour et merci de t'être peché sur la question
    Désolé, ce lien (désolé sur Ubuntu) semble répondre à la question :

    https://askubuntu.com/questions/1404691/fwupd-refresh-service-failed

    Oui, mais ici il est proposé de de considérer le code de sortie comme
    un succès, réel ou non.

    Dans mon cas l'échec est réel. en fait après réflexion, mon problème
    est lié à mon arborescence de fichiers, mon /var est en fait un lien;
    il semble que le montage de toute l'arborescence soit postérieur à l'execution du service; donc en continuant ma reflexion je me dis qu'il faudrait que je sache comment faire pour que l'execution du service
    soit postérieure au montage complet de l'arborescence.

    Bon, bin je vais regarder de plus près cette section de systemd-random- seed.service, bien que ça sorte largement de mon domaine de compétence
    sur systemd...



    [Unit]
    Description=Load/Save Random Seed Documentation=man:systemd-random-seed.service(8) man:random(4) DefaultDependencies=no
    RequiresMountsFor=/var/lib/systemd/random-seed
    Conflicts=shutdown.target
    After=systemd-remount-fs.service
    Before=first-boot-complete.target shutdown.target Wants=first-boot-complete.target
    ConditionVirtualization=!container
    ConditionPathExists=!/etc/initrd-release

    Merci encore,
    Christophe

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Christophe Maquaire@21:1/5 to All on Tue Jan 31 11:00:02 2023
    Le lundi 30 janvier 2023 à 12:53 +0100, didier gaumet a écrit :

    Bonjour,

    pour situer mon niveau: tu viens de m'apprendre l'existence de ce
    service, donc ne t'attends à des conseils pointus de ma part ;-)

    Bonjour, et merci de ta proposition de réponse.

    mais le deuxième paragraphe de la page man du service semble pointer
    vers l'origine de ton souci:
    [...]
    Note that this service runs relatively late during the early boot
    phase, i.e. generally after the initial RAM disk (initrd) completed
    its
    work, and the /var/ file system has been mounted writable. Many
    system
    services require entropy much earlier than this — this service is
    hence
    of limited use for complex system. It is recommended to use a
    bootloader that can pass an initial random seed to the kernel to
    ensure
    that entropy is available from earliest boot on, for example systemd- boot(7), with its bootctl random-seed functionality.
    [...]

    Moui mais:
    - Il n'y a pas de raison, même si l'entropie générée est faible, que le service ne démarre pas correctement, j' ai vérifié sur d'autres
    machines (bon en stable, certes), et c'est un service "standard" de
    systemd installé par debian
    - pour changer de bootloader, humm... disons que grub ne m'a pas posé
    de problèmes depuis longtemps et systemd, en général, c'est bien quand
    ça marche mais en cas de problème, on a bien du mal à suivre le fil
    pour retrouver qui fait quoi...

    Bon en regardant de plus près, mon /var est un lien sur /lent/var... root@salicyline:~# ls -la /
    lrwxrwxrwx 1 root root 9 26 mars 2014 var -> /lent/var

    Je suppose que c'est l'origine de mon problème...

    Merci encore

    Christophe

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From didier gaumet@21:1/5 to All on Tue Jan 31 12:10:01 2023
    Le 31/01/2023 à 10:37, Christophe Maquaire a écrit :

    Moui mais:
    - Il n'y a pas de raison, même si l'entropie générée est faible, que le service ne démarre pas correctement, j' ai vérifié sur d'autres
    machines (bon en stable, certes), et c'est un service "standard" de
    systemd installé par debian
    [...]

    *hypothèses* (vu mes connaissances sur le sujet) :-) :

    - ton lien vers /var est *peut-être* la cause parce qu'il serait présent
    en situation ordinaire mais absent lors du début du boot?
    - donc dans ton cas *peut-être* que créer ce lien dans l'initramfs (je
    n'ai jamais fait mais je suppose que c'est possible?) pourrait résoudre
    ton problème sans nécessité de passer un paramètre d'entropie au
    bootloader (peut-être d'ailleurs grub2 aussi est-il capable de gérer ça...)? - par contre tu aurais *peut-être* besoin d'en passer par là si tu
    utilisais un swap chiffré à chiffrement aléatoire?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Basile Starynkevitch@21:1/5 to Christophe Maquaire on Tue Jan 31 12:10:02 2023
    This is a multi-part message in MIME format.
    On 31/01/2023 10:48, Christophe Maquaire wrote:
    Le lundi 30 janvier 2023 à 13:13 +0100, ajh-valmer a écrit :
    Bonjour et merci de t'être peché sur la question
    Désolé, ce lien (désolé sur Ubuntu) semble répondre à la question :

    https://askubuntu.com/questions/1404691/fwupd-refresh-service-failed
    Oui, mais ici il est proposé de de considérer le code de sortie comme
    un succès, réel ou non.

    Dans mon cas l'échec est réel. en fait après réflexion, mon problème
    est lié à mon arborescence de fichiers, mon /var est en fait un lien;


    A mon avis le problème est là! Avoir mis un lien symbolique sur /var est probablement une mauvaise idée!


    Toutes les fois où (sous Debian comme Ubuntu) /var est un lien
    symbolique (vers un autre système de fichier que la racine) j'ai eu des problèmes.

    On pourrait peut-être (mais c'est compliqué) envisager un montage bind.

    Personnellement je suggère de *laisser **/var**dans le système de
    fichier racine* et peut-être d'utiliser des montages bind pour des
    parties moins importantes, par exemple /usr/src

    Dans mon /etc/fstab j'ai mis la ligne suivante:

    /home/UsrSrc /usr/src                     none            bind

    Certains d'entre vous pourraient être intéressés par mon utilitaire sync-periodically.c <https://github.com/bstarynk/misc-basile/blob/master/sync-periodically.c>
    ou par le projet logiciel libre RefPerSys <http://refpersys.org/>.

    Dans ce cas, n'hésitez pas à me contacter (pour vos questions ou améliorations) par courriel vers basile@starynkevitch.net <mailto:basile@starynkevitch.net>

    Librement

    --
    Basile Starynkevitch<basile@starynkevitch.net>
    (only mine opinions / les opinions sont miennes uniquement)
    92340 Bourg-la-Reine, France
    web page: starynkevitch.net/Basile/

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 31/01/2023 10:48, Christophe
    Maquaire wrote:<br>
    </div>
    <blockquote type="cite"
    cite="mid:31c1e666ebb709f7c0721c98c78a22c0442cc54d.camel@ce2c.com">
    <pre class="moz-quote-pre" wrap="">Le lundi 30 janvier 2023 à 13:13 +0100, ajh-valmer a écrit :
    </pre>
    <blockquote type="cite">
    <pre class="moz-quote-pre" wrap="">
    </pre>
    </blockquote>
    <pre class="moz-quote-pre" wrap="">Bonjour et merci de t'être peché sur la question
    </pre>
    <blockquote type="cite">
    <pre class="moz-quote-pre" wrap="">Désolé, ce lien (désolé sur Ubuntu) semble répondre à la question :

    <a class="moz-txt-link-freetext" href="https://askubuntu.com/questions/1404691/fwupd-refresh-service-failed">https://askubuntu.com/questions/1404691/fwupd-refresh-service-failed</a>
    </pre>
    </blockquote>
    <pre class="moz-quote-pre" wrap="">
    Oui, mais ici il est proposé de de considérer le code de sortie comme
    un succès, réel ou non.

    Dans mon cas l'échec est réel. en fait après réflexion, mon problème
    est lié à mon arborescence de fichiers, mon /var est en fait un lien;</pre>
    </blockquote>
    <p><br>
    </p>
    <p>A mon avis le problème est là! Avoir mis un lien symbolique sur <font
    face="Courier New, Courier, monospace">/var</font> est
    probablement une mauvaise idée!<br>
    </p>
    <p><br>
    </p>
    <p>Toutes les fois où (sous Debian comme Ubuntu) /var est un lien
    symbolique (vers un autre système de fichier que la racine) j'ai
    eu des problèmes.</p>
    <p>On pourrait peut-être (mais c'est compliqué) envisager un montage
    <font face="Courier New, Courier, monospace">bind</font>.</p>
    <p>Personnellement je suggère de <b>laisser </b><b><font
    face="Courier New, Courier, monospace">/var</font></b><b> dans
    le système de fichier racine</b> et peut-être d'utiliser des
    montages bind pour des parties moins importantes, par exemple <font
    face="Courier New, Courier, monospace">/usr/src</font> <br>
    </p>
    <p>Dans mon <font face="Courier New, Courier, monospace">/etc/fstab</font>
    j'ai mis la ligne suivante:</p>
    <p><font face="Courier New, Courier, monospace">/home/UsrSrc
    /usr/src                     none            bind</font><br>
    <br>
    </p>
    <p>Certains d'entre vous pourraient être intéressés par mon
    utilitaire <a moz-do-not-send="true" href="https://github.com/bstarynk/misc-basile/blob/master/sync-periodically.c">sync-periodically.c</a>
    ou par le projet logiciel libre <a moz-do-not-send="true"
    href="http://refpersys.org/">RefPerSys</a>.</p>
    <p>Dans ce cas, n'hésitez pas à me contacter (pour vos questions ou
    améliorations) par courriel vers <a moz-do-not-send="true"
    href="mailto:basile@starynkevitch.net"><font face="Courier New,
    Courier, monospace">basile@starynkevitch.net</font></a></p>
    <p>Librement<br>
    </p>
    <p>
    </p>
    <pre class="moz-signature" cols="72">--
    Basile Starynkevitch <a class="moz-txt-link-rfc2396E" href="mailto:basile@starynkevitch.net">&lt;basile@starynkevitch.net&gt;</a>
    (only mine opinions / les opinions sont miennes uniquement)
    92340 Bourg-la-Reine, France
    web page: starynkevitch.net/Basile/

    </pre>
    </body>
    </html>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Christophe Maquaire@21:1/5 to All on Tue Jan 31 12:50:02 2023
    Le mardi 31 janvier 2023 à 11:49 +0100, didier gaumet a écrit :


    *hypothèses* (vu mes connaissances sur le sujet) :-) :

    - ton lien vers /var est *peut-être* la cause parce qu'il serait
    présent

    C'est bien la cause.

    en situation ordinaire mais absent lors du début du boot?
    - donc dans ton cas *peut-être* que créer ce lien dans l'initramfs
    (je
    n'ai jamais fait mais je suppose que c'est possible?) pourrait
    résoudre
    ton problème sans nécessité de passer un paramètre d'entropie au bootloader (peut-être d'ailleurs grub2 aussi est-il capable de gérer ça...)?
    - par contre tu aurais *peut-être* besoin d'en passer par là si tu utilisais un swap chiffré à chiffrement aléatoire?


    En fait en remplaçant le lien par un montage bind dans le fstab, le
    problème disparaît.

    Merci pour ton aide.

    Christophe

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)