• =?UTF-8?Q?comment_d=c3=a9marrer_un_d=c3=a9mon_syncperiodically_=28e?= =

    From Basile Starynkevitch@21:1/5 to All on Sun Nov 6 22:10:02 2022
    This is a multi-part message in MIME format.
    Bonsoir la liste APRIL et Debian User French


    J'ai développé en un soir l'utilitaire /sync-periodically/ https://github.com/bstarynk/misc-basile/blob/master/sync-periodically.c

    (GPLv3+)

    Comme son nom l'indique, il appelle toutes les quelques secondes sync(2) <https://man7.org/linux/man-pages/man2/sync.2.html> sur un ordinateur
    Linux (desktop ou laptop avec beaucoup de RAM, par exemple plus de 32Go
    de RAM) pour vidanger les caches des fichiers sur le disque.

    1. Comment le démarrer proprement au démarrage d'un Debian (ou Ubuntu) récent?

    2. *Comment le packager dans Debian?*


    Par ailleurs, *je cherche des partenaires HorizonEurope intéressés par
    les systèmes experts et l'IA _symbolique_ en Europe*. Ceci pour officialiser/financer le projet RefPerSys <http://refppersys.org/> en soumettant une proposition HorizonEurope <https://research-and-innovation.ec.europa.eu/funding/funding-opportunities/funding-programmes-and-open-calls/horizon-europe_en>
    (ou peut-être en France, ANR <https://anr.fr/>). Me contacter alors à
    mon bureau, au CEA LIST <https://list.cea.fr/>, en
    basile.starynkevitch@cea.fr


    J'invite d'ailleurs les lecteurs de cette liste à lire les livres de
    Jacques Pitrat <https://fr.wikipedia.org/wiki/Jacques_Pitrat> (qui
    présida mon jury de thèse de doctorat en informatique, soutenue en 1990
    au LIP6) et regarder les exposés en hommage à Jacques Pitrat <https://afia.asso.fr/journee-hommage-j-pitrat/> (dont celui de votre serviteur)

    et à lire son dernier livre (en anglais):


    Artificial Beings, the conscience of a conscious machine

    ISBN-13 978-1848211018 (Wiley 2009)


    Jacques Pitrat (décédé en oct. 2019) m'a fait l'amitié de me confier
    (pour publication sur github en https://github.com/bstarynk/caia-pitrat)
    le code de son système CAIA décrit en détail dans ce livre et sur son
    blog http://bootstrappingartificialintelligence.fr/WordPress3/

    Librement

    --
    Basile Starynkevitch<basile@starynkevitch.net>
    (only mine opinions / les opinions sont miennes uniquement)
    8 rue de la Faïencerie
    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>Bonsoir la liste APRIL et Debian User French</p>
    <p><br>
    </p>
    <p>J'ai développé en un soir l'utilitaire <i>sync-periodically</i>
    <a moz-do-not-send="true" href="https://github.com/bstarynk/misc-basile/blob/master/sync-periodically.c"
    class="moz-txt-link-freetext">https://github.com/bstarynk/misc-basile/blob/master/sync-periodically.c</a></p>
    <p>(GPLv3+)</p>
    <p>Comme son nom l'indique, il appelle toutes les quelques secondes
    <a moz-do-not-send="true"
    href="https://man7.org/linux/man-pages/man2/sync.2.html">sync(2)</a>
    sur un ordinateur Linux (desktop ou laptop avec beaucoup de RAM,
    par exemple plus de 32Go de RAM) pour vidanger les caches des
    fichiers sur le disque.<br>
    </p>
    <p>1. Comment le démarrer proprement au démarrage d'un Debian (ou
    Ubuntu) récent?</p>
    <p>2. <b>Comment le packager dans Debian?</b></p>
    <p><br>
    </p>
    <p>Par ailleurs, <b>je cherche des partenaires HorizonEurope
    intéressés par les systèmes experts et l'IA <u>symbolique</u>
    en Europe</b>. Ceci pour officialiser/financer le projet <a
    moz-do-not-send="true" href="http://refppersys.org/">RefPerSys</a>
    en soumettant une proposition <a moz-do-not-send="true" href="https://research-and-innovation.ec.europa.eu/funding/funding-opportunities/funding-programmes-and-open-calls/horizon-europe_en">HorizonEurope</a>
    (ou peut-être en France, <a moz-do-not-send="true"
    href="https://anr.fr/">ANR</a>). Me contacter alors à mon
    bureau, au <a moz-do-not-send="true" href="https://list.cea.fr/">CEA
    LIST</a>, en <a moz-do-not-send="true"
    href="mailto:basile.starynkevitch@cea.fr"
    class="moz-txt-link-freetext">basile.starynkevitch@cea.fr</a></p>
    <p><br>
    </p>
    <p>J'invite d'ailleurs les lecteurs de cette liste à lire les livres
    de <a moz-do-not-send="true"
    href="https://fr.wikipedia.org/wiki/Jacques_Pitrat">Jacques
    Pitrat</a> (qui présida mon jury de thèse de doctorat en
    informatique, soutenue en 1990 au LIP6) et regarder les exposés en
    <a moz-do-not-send="true"
    href="https://afia.asso.fr/journee-hommage-j-pitrat/">hommage à
    Jacques Pitrat</a> (dont celui de votre serviteur)<br>
    </p>
    <p>et à lire son dernier livre (en anglais): <br>
    </p>
    <h1 id="title" class="a-spacing-none a-text-normal"><span
    id="productTitle" class="a-size-extra-large">Artificial Beings,
    the conscience of a conscious machine</span></h1>
    <p><span>ISBN-13 </span><span>978-1848211018 (Wiley 2009)</span></p>
    <p><span><br>
    </span></p>
    <p><span>Jacques Pitrat (décédé en oct. 2019) m'a fait l'amitié de
    me confier (pour publication sur github en <a
    moz-do-not-send="true"
    href="https://github.com/bstarynk/caia-pitrat"
    class="moz-txt-link-freetext">https://github.com/bstarynk/caia-pitrat</a>)
    le code de son système CAIA décrit en détail dans ce livre et
    sur son blog <a moz-do-not-send="true"
    href="http://bootstrappingartificialintelligence.fr/WordPress3/"
    class="moz-txt-link-freetext">http://bootstrappingartificialintelligence.fr/WordPress3/</a><br>
    </span><span></span></p>
    <p>Librement<br>
    </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)
    8 rue de la Faïencerie
    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 AleX@21:1/5 to All on Mon Nov 7 07:20:01 2022
    Le dim. 6 nov. 2022 à 22:09, Basile Starynkevitch <basile@starynkevitch.net>
    a écrit :

    Bonsoir la liste APRIL et Debian User French


    J'ai développé en un soir l'utilitaire *sync-periodically* https://github.com/bstarynk/misc-basile/blob/master/sync-periodically.c

    (GPLv3+)

    Comme son nom l'indique, il appelle toutes les quelques secondes sync(2) <https://man7.org/linux/man-pages/man2/sync.2.html> sur un ordinateur
    Linux (desktop ou laptop avec beaucoup de RAM, par exemple plus de 32Go de RAM) pour vidanger les caches des fichiers sur le disque.

    1. Comment le démarrer proprement au démarrage d'un Debian (ou Ubuntu) récent?

    2. *Comment le packager dans Debian?*


    Par ailleurs, *je cherche des partenaires HorizonEurope intéressés par
    les systèmes experts et l'IA symbolique en Europe*. Ceci pour officialiser/financer le projet RefPerSys <http://refppersys.org/> en soumettant une proposition HorizonEurope <https://research-and-innovation.ec.europa.eu/funding/funding-opportunities/funding-programmes-and-open-calls/horizon-europe_en>
    (ou peut-être en France, ANR <https://anr.fr/>). Me contacter alors à mon bureau, au CEA LIST <https://list.cea.fr/>, en basile.starynkevitch@cea.fr


    J'invite d'ailleurs les lecteurs de cette liste à lire les livres de Jacques Pitrat <https://fr.wikipedia.org/wiki/Jacques_Pitrat> (qui présida mon
    jury de thèse de doctorat en informatique, soutenue en 1990 au LIP6) et regarder les exposés en hommage à Jacques Pitrat <https://afia.asso.fr/journee-hommage-j-pitrat/> (dont celui de votre serviteur)

    et à lire son dernier livre (en anglais):
    Artificial Beings, the conscience of a conscious machine

    ISBN-13 978-1848211018 (Wiley 2009)


    Jacques Pitrat (décédé en oct. 2019) m'a fait l'amitié de me confier (pour
    publication sur github en https://github.com/bstarynk/caia-pitrat) le
    code de son système CAIA décrit en détail dans ce livre et sur son blog http://bootstrappingartificialintelligence.fr/WordPress3/

    Librement

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

    --
    Pour connaître la configuration de la liste, gérer votre abonnement à la liste technique et vos informations personnelles : https://listes.april.org/wws/info/technique




    Bonjour,

    je précise que je n'ai aucune compétence pointue en code, mais je
    m'interroge sur l'utilité de ce genre de fonction.

    Si on est sur un flux de données 'critiques', alors il faut travailler en amont pour qu'elles ne soient pas mises en cache (realtime / kernel ? mount/FStab ?)
    Si on est sur des données 'normales', l'usage de la RAM permet de limiter
    les lectures/écritures physiques et donc le vieillissement du matériel.

    Ca me fait penser aux utilitaires qui existait il y a bien longtemps
    (windows 98, je ne connaissais pas encore le libre) pour 'libérer de la
    RAM', ce qui n'a aucun sens puisque justement, plus on exploite la RAM et
    plus le système est réactif : ça ne sert à rien d'avoir 50% de la ram non employée (il faut par contre qu'elle se libère bien automatiquement lorsque l'on a un autre besoin, mais c'est le rôle de l'OS de gérer ça)

    Au final, quel peut bien être l'intérêt de forcer une E/S régulièrement sur
    disque physique ? (et d'ailleurs, je ne trouve pas de 'seuil'.. le
    mécanisme s'applique dès le premier octet ?)

    .AleX.

    <div dir="ltr"><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le dim. 6 nov. 2022 à 22:09, Basile Starynkevitch &lt;<a href="mailto:basile@starynkevitch.net">basile@starynkevitch.net</a>&gt; a écrit :<br></div><blockquote class="
    gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">




    <div>
    <p>Bonsoir la liste APRIL et Debian User French</p>
    <p><br>
    </p>
    <p>J&#39;ai développé en un soir l&#39;utilitaire <i>sync-periodically</i>
    <a href="https://github.com/bstarynk/misc-basile/blob/master/sync-periodically.c" target="_blank">https://github.com/bstarynk/misc-basile/blob/master/sync-periodically.c</a></p>
    <p>(GPLv3+)</p>
    <p>Comme son nom l&#39;indique, il appelle toutes les quelques secondes
    <a href="https://man7.org/linux/man-pages/man2/sync.2.html" target="_blank">sync(2)</a>
    sur un ordinateur Linux (desktop ou laptop avec beaucoup de RAM,
    par exemple plus de 32Go de RAM) pour vidanger les caches des
    fichiers sur le disque.<br>
    </p>
    <p>1. Comment le démarrer proprement au démarrage d&#39;un Debian (ou
    Ubuntu) récent?</p>
    <p>2. <b>Comment le packager dans Debian?</b></p>
    <p><br>
    </p>
    <p>Par ailleurs, <b>je cherche des partenaires HorizonEurope
    intéressés par les systèmes experts et l&#39;IA <u>symbolique</u>
    en Europe</b>. Ceci pour officialiser/financer le projet <a href="http://refppersys.org/" target="_blank">RefPerSys</a>
    en soumettant une proposition <a href="https://research-and-innovation.ec.europa.eu/funding/funding-opportunities/funding-programmes-and-open-calls/horizon-europe_en" target="_blank">HorizonEurope</a>
    (ou peut-être en France, <a href="https://anr.fr/" target="_blank">ANR</a>). Me contacter alors à mon
    bureau, au <a href="https://list.cea.fr/" target="_blank">CEA
    LIST</a>, en <a href="mailto:basile.starynkevitch@cea.fr" target="_blank">basile.starynkevitch@cea.fr</a></p>
    <p><br>
    </p>
    <p>J&#39;invite d&#39;ailleurs les lecteurs de cette liste à lire les livres
    de <a href="https://fr.wikipedia.org/wiki/Jacques_Pitrat" target="_blank">Jacques
    Pitrat</a> (qui présida mon jury de thèse de doctorat en
    informatique, soutenue en 1990 au LIP6) et regarder les exposés en
    <a href="https://afia.asso.fr/journee-hommage-j-pitrat/" target="_blank">hommage à
    Jacques Pitrat</a> (dont celui de votre serviteur)<br>
    </p>
    <p>et à lire son dernier livre (en anglais): <br>
    </p>
    <h1 id="m_-3611743639624176663title"><span id="m_-3611743639624176663productTitle">Artificial Beings,
    the conscience of a conscious machine</span></h1>
    <p><span>ISBN-13 </span><span>978-1848211018 (Wiley 2009)</span></p>
    <p><span><br>
    </span></p>
    <p><span>Jacques Pitrat (décédé en oct. 2019) m&#39;a fait l&#39;amitié de
    me confier (pour publication sur github en <a href="https://github.com/bstarynk/caia-pitrat" target="_blank">https://github.com/bstarynk/caia-pitrat</a>)
    le code de son système CAIA décrit en détail dans ce livre et
    sur son blog <a href="http://bootstrappingartificialintelligence.fr/WordPress3/" target="_blank">http://bootstrappingartificialintelligence.fr/WordPress3/</a><br>
    </span><span></span></p>
    <p>Librement<br>
    </p>
    <pre cols="72">--
    Basile Starynkevitch <a href="mailto:basile@starynkevitch.net" target="_blank">&lt;basile@starynkevitch.net&gt;</a>
    (only mine opinions / les opinions sont miennes uniquement)
    8 rue de la Faïencerie
    92340 Bourg-la-Reine, France
    web page: <a href="http://starynkevitch.net/Basile/" target="_blank">starynkevitch.net/Basile/</a>

    </pre>
    </div>

    --<br>
    Pour connaître la configuration de la liste, gérer votre abonnement à la liste technique et vos informations personnelles :<br>
    <a href="https://listes.april.org/wws/info/technique" rel="noreferrer" target="_blank">https://listes.april.org/wws/info/technique</a></blockquote><div><br></div><div><br></div><div><br></div><div>
    <div>Bonjour,</div><div><br></div><div>je précise que je n&#39;ai aucune compétence pointue en code, mais je m&#39;interroge sur l&#39;utilité de ce genre de fonction.<br><br></div><div>Si
    on est sur un flux de données &#39;critiques&#39;, alors il faut travailler en
    amont pour qu&#39;elles ne soient pas mises en cache (realtime / kernel ? mount/FStab
    ?)<br></div><div>Si on est sur des données &#39;normales&#39;, l&#39;usage de la RAM
    permet de limiter les lectures/écritures physiques et donc le
    vieillissement du matériel.<br><br></div><div>Ca me fait penser aux utilitaires qui existait il y a bien longtemps (windows 98, je ne
    connaissais pas encore le libre) pour &#39;libérer de la RAM&#39;, ce qui n&#39;a
    aucun sens puisque justement, plus on exploite la RAM et plus le système
    est réactif : ça ne sert à rien d&#39;avoir 50% de la ram non employée (il
    faut par contre qu&#39;elle se libère bien automatiquement lorsque l&#39;on a un
    autre besoin, mais c&#39;est le rôle de l&#39;OS de gérer ça)</div><div><br></div><div>Au
    final, quel peut bien être l&#39;intérêt de forcer une E/S régulièrement sur disque physique ? (et d&#39;ailleurs, je ne trouve pas de &#39;seuil&#39;.. le
    mécanisme s&#39;applique dès le premier octet ?)<br><br></div><div>.AleX.<br></div><div><br></div>  <br></div></div></div>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Basile Starynkevitch@21:1/5 to AleX on Mon Nov 7 07:20:01 2022
    This is a multi-part message in MIME format.
    On 07/11/2022 06:56, AleX wrote:

    Le dim. 6 nov. 2022 à 22:09, Basile Starynkevitch <basile@starynkevitch.net> a écrit :

    Bonsoir la liste APRIL et Debian User French


    J'ai développé en un soir l'utilitaire /sync-periodically/
    https://github.com/bstarynk/misc-basile/blob/master/sync-periodically.c

    (GPLv3+)

    Comme son nom l'indique, il appelle toutes les quelques secondes
    sync(2) <https://man7.org/linux/man-pages/man2/sync.2.html> sur un
    ordinateur Linux (desktop ou laptop avec beaucoup de RAM, par
    exemple plus de 32Go de RAM) pour vidanger les caches des fichiers
    sur le disque.

    1. Comment le démarrer proprement au démarrage d'un Debian (ou
    Ubuntu) récent?

    2. *Comment le packager dans Debian?*

    Ca me fait penser aux utilitaires qui existait il y a bien longtemps
    (windows 98, je ne connaissais pas encore le libre) pour 'libérer de
    la RAM', ce qui n'a aucun sens puisque justement, plus on exploite la
    RAM et plus le système est réactif : ça ne sert à rien d'avoir 50% de
    la ram non employée (il faut par contre qu'elle se libère bien automatiquement lorsque l'on a un autre besoin, mais c'est le rôle de
    l'OS de gérer ça)

    Au final, quel peut bien être l'intérêt de forcer une E/S
    régulièrement sur disque physique ? (et d'ailleurs, je ne trouve pas
    de 'seuil'.. le mécanisme s'applique dès le premier octet ?)

    je précise que je n'ai aucune compétence pointue en code, mais je m'interroge sur l'utilité de ce genre de fonction.


    D'après la page du manuel de l'appel système sync(2) <https://man7.org/linux/man-pages/man2/sync.2.html>


    <https://man7.org/linux/man-pages/man2/sync.2.html#top_of_page>

    *sync*() causes all pending modifications to filesystem metadata
    and cached file data to be written to the underlying filesystems.




    Si on a la chance d'avoir une machine puissante de bureau -sans batterie
    ni onduleur-, avec plein de RAM (par exemple 32Go), et qu'on modifie
    souvent des fichiers (par exemple parce qu'on code quelquechose sous GNU
    emacs <https://www.gnu.org/software/emacs/> en C++) et qu'on a la
    malchance de subir une coupure de courant inopinée (orage, quelqu'un qui
    se prend les pieds dans le cable, etc...), appeler sync(2) <https://man7.org/linux/man-pages/man2/sync.2.html> toutes les deux
    secondes évite de perdre trop de fichiers. En effet, leurs données et métadonnées sont pratiquement maintenues en RAM

    Pour un dévelopeur, ça peut éviter une heure de perdue. Bien sûr, si on
    un disque rotatif, ça l'use un peu plus (la mécanique est sollicitée
    toutes les deux secondes). Mais de nos jours ces disques sont fiables mécaniquement.

    D'ailleurs, à l'époque de SunOS3.5 (dans les années 1985, station
    Sun3/160), sur des disques rotatifs, la documentation précisait /explicitement/ qu'il fallait lancer la commande sync(1) <https://man7.org/linux/man-pages/man1/sync.1.html> (qui appelle sync(2) <https://man7.org/linux/man-pages/man2/sync.2.html>...) avant tout
    risque de coupure de courant, ou tout arrêt de la machine par la
    commande shutdown.

    A l'époque, un fsck de réparation pouvait durer des dizaines de minutes,
    et le sync faisant gagner des heures de travail. Perdre un fichier
    source est énervant pour un dévelopeur.


    --
    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 07/11/2022 06:56, AleX wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:CAJRrEe7eLXqP0iuaR+mKsgf_p13HCDgNiDr9t9hmQxq6mjt_vA@mail.gmail.com">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <div dir="ltr"><br>
    <div class="gmail_quote">
    <div dir="ltr" class="gmail_attr">Le dim. 6 nov. 2022 à 22:09,
    Basile Starynkevitch &lt;<a
    href="mailto:basile@starynkevitch.net"
    moz-do-not-send="true" class="moz-txt-link-freetext">basile@starynkevitch.net</a>&gt;
    a écrit :<br>
    </div>
    <blockquote class="gmail_quote" style="margin:0px 0px 0px
    0.8ex;border-left:1px solid
    rgb(204,204,204);padding-left:1ex">
    <div>
    <p>Bonsoir la liste APRIL et Debian User French</p>
    <p><br>
    </p>
    <p>J'ai développé en un soir l'utilitaire <i>sync-periodically</i>
    <a href="https://github.com/bstarynk/misc-basile/blob/master/sync-periodically.c"
    target="_blank" moz-do-not-send="true"
    class="moz-txt-link-freetext">https://github.com/bstarynk/misc-basile/blob/master/sync-periodically.c</a></p>
    <p>(GPLv3+)</p>
    <p>Comme son nom l'indique, il appelle toutes les quelques
    secondes <a
    href="https://man7.org/linux/man-pages/man2/sync.2.html"
    target="_blank" moz-do-not-send="true">sync(2)</a> sur
    un ordinateur Linux (desktop ou laptop avec beaucoup de
    RAM, par exemple plus de 32Go de RAM) pour vidanger les
    caches des fichiers sur le disque.<br>
    </p>
    <p>1. Comment le démarrer proprement au démarrage d'un
    Debian (ou Ubuntu) récent?</p>
    <p>2. <b>Comment le packager dans Debian?</b></p>
    </div>
    </blockquote>
    <div>
    <div>Ca me fait penser aux utilitaires qui existait il y a
    bien longtemps (windows 98, je ne connaissais pas encore
    le libre) pour 'libérer de la RAM', ce qui n'a aucun sens
    puisque justement, plus on exploite la RAM et plus le
    système est réactif : ça ne sert à rien d'avoir 50% de la
    ram non employée (il faut par contre qu'elle se libère
    bien automatiquement lorsque l'on a un autre besoin, mais
    c'est le rôle de l'OS de gérer ça)</div>
    <div><br>
    </div>
    <div>Au final, quel peut bien être l'intérêt de forcer une
    E/S régulièrement sur disque physique ? (et d'ailleurs, je
    ne trouve pas de 'seuil'.. le mécanisme s'applique dès le
    premier octet ?)
    <div><br>
    </div>
    je précise que je n'ai aucune compétence pointue en code,
    mais je m'interroge sur l'utilité de ce genre de fonction.</div>
    </div>
    </div>
    </div>
    </blockquote>
    <p><br>
    </p>
    <p>D'après la page du manuel de l'appel système <font
    face="monospace"><a moz-do-not-send="true"
    href="https://man7.org/linux/man-pages/man2/sync.2.html">sync(2)</a></font><br>
    </p>
    <h2><a
    href="https://man7.org/linux/man-pages/man2/sync.2.html#top_of_page"><span
    class="top-link"></span></a></h2>
    <pre> <b>sync</b>() causes all pending modifications to filesystem metadata
    and cached file data to be written to the underlying filesystems.




    </pre>
    <p>Si on a la chance d'avoir une machine puissante de bureau -sans
    batterie ni onduleur-, avec plein de RAM (par exemple 32Go), et
    qu'on modifie souvent des fichiers (par exemple parce qu'on code
    quelquechose sous <a moz-do-not-send="true"
    href="https://www.gnu.org/software/emacs/">GNU emacs</a> en C++)
    et qu'on a la malchance de subir une coupure de courant inopinée
    (orage, quelqu'un qui se prend les pieds dans le cable, etc...),
    appeler <font face="monospace"><a
    href="https://man7.org/linux/man-pages/man2/sync.2.html"
    target="_blank">sync(2)</a></font> toutes les deux secondes
    évite de perdre trop de fichiers. En effet, leurs données et
    métadonnées sont pratiquement maintenues en RAM<br>
    </p>
    <p>Pour un dévelopeur, ça peut éviter une heure de perdue. Bien sûr,
    si on un disque rotatif, ça l'use un peu plus (la mécanique est
    sollicitée toutes les deux secondes). Mais de nos jours ces
    disques sont fiables mécaniquement.<br>
    </p>
    <p>D'ailleurs, à l'époque de SunOS3.5 (dans les années 1985, station
    Sun3/160), sur des disques rotatifs, la documentation précisait <i>explicitement</i>
    qu'il fallait lancer la commande <font face="monospace"><a
    moz-do-not-send="true"
    href="https://man7.org/linux/man-pages/man1/sync.1.html">sync(1)</a></font>
    (qui appelle <font face="monospace"><a moz-do-not-send="true"
    href="https://man7.org/linux/man-pages/man2/sync.2.html">sync(2)</a></font>...)
    avant tout risque de coupure de courant, ou tout arrêt de la
    machine par la commande <font face="monospace">shutdown</font>.<br>
    </p>
    <p>A l'époque, un <font face="monospace">fsck</font> de réparation
    pouvait durer des dizaines de minutes, et le <font
    face="monospace">sync </font>faisant gagner des heures de
    travail. Perdre un fichier source est énervant pour un dévelopeur.<br>
    </p>
    <blockquote type="cite" cite="mid:CAJRrEe7eLXqP0iuaR+mKsgf_p13HCDgNiDr9t9hmQxq6mjt_vA@mail.gmail.com">
    <div dir="ltr">
    <div class="gmail_quote">
    <div>  <br>
    </div>
    </div>
    </div>
    </blockquote>
    <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 didier gaumet@21:1/5 to All on Mon Nov 7 10:10:01 2022
    Le 06/11/2022 à 22:07, Basile Starynkevitch a écrit :
    Bonsoir la liste APRIL et Debian User French

    Bonjour,

    J'ai développé en un soir l'utilitaire
    [...]
    1. Comment le démarrer proprement au démarrage d'un Debian (ou Ubuntu) récent?

    A priori le plus simple serait de créer un service Systemd. Il ya une
    page du wiki Debian qui propose un exposé avec un exemple simple: https://wiki.debian.org/systemd/Services

    https://wiki.debian.org/systemd/Services
    2. *Comment le packager dans Debian?*
    [...]
    et pour créer un paquet Debian il y a aussi:
    - un paragraphe du guide de l'administrateur Debian en français: https://www.debian.org/doc/manuals/debian-handbook/sect.building-first-package.fr.html
    - une page du wiki Debian:
    https://wiki.debian.org/Packaging/Intro

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Basile Starynkevitch@21:1/5 to Bernard Choppy on Mon Nov 7 10:10:01 2022
    This is a multi-part message in MIME format.
    On 11/7/22 09:07, Bernard Choppy wrote:
    Bonjour la liste et Basile,

    Le 07/11/2022 à 07:17, Basile Starynkevitch a écrit :
    Le dim. 6 nov. 2022 à 22:09, Basile Starynkevitch
    <basile@starynkevitch.net> a écrit :

        J'ai développé en un soir l'utilitaire /sync-periodically/
    https://github.com/bstarynk/misc-basile/blob/master/sync-periodically.c

    Si je comprends bien ton approche destinée à réduire l'impact d'une
    panne de courant, j'ai plus de mal à identifier l'intérêt d'un développement spécifique.


    Oui


    Pour ma part, je pense que j'aurais simplement lancé sync(2) depuis la
    bonne vieille crontab. La résolution de la crontab est d'une minute.
    Cela ne répondrait-il pas à ton problème ?


    Non, avec 32Go ou 64Go de RAM - c'est ce que j'ai à la maison selon l'ordinateur fixe ou portable - (ou même 128Go de RAM au bureau, sans
    UPS et avec des pannes de courant occasionnelles)  en une minute les
    tampons du noyau ont le temps de se remplir avec plein de données.


    Et quand je développe du code sous Emacs (ou rédige pour LaTeX), je sauvegarde (avec _CtrlX_ _CtrlS_) plus souvent que toutes les minutes.




    --

    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 11/7/22 09:07, Bernard Choppy wrote:<br>
    </div>
    <blockquote type="cite"
    cite="mid:9a39800d-bfdb-50b6-f370-7ffe3602aa80@free.fr">Bonjour la
    liste et Basile,
    <br>
    <br>
    Le 07/11/2022 à 07:17, Basile Starynkevitch a écrit :
    <br>
    <blockquote type="cite">
    <blockquote type="cite">Le dim. 6 nov. 2022 à 22:09, Basile
    Starynkevitch <a class="moz-txt-link-rfc2396E" href="mailto:basile@starynkevitch.net">&lt;basile@starynkevitch.net&gt;</a> a écrit :
    <br>
    </blockquote>
    </blockquote>
    <br>
    <blockquote type="cite">
    <blockquote type="cite">    J'ai développé en un soir
    l'utilitaire /sync-periodically/
    <br>
       
    <a class="moz-txt-link-freetext" href="https://github.com/bstarynk/misc-basile/blob/master/sync-periodically.c">https://github.com/bstarynk/misc-basile/blob/master/sync-periodically.c</a>
    <br>
    </blockquote>
    </blockquote>
    <br>
    Si je comprends bien ton approche destinée à réduire l'impact
    d'une panne de courant, j'ai plus de mal à identifier l'intérêt
    d'un développement spécifique.
    <br>
    </blockquote>
    <p><br>
    </p>
    <p>Oui</p>
    <p><br>
    </p>
    <blockquote type="cite"
    cite="mid:9a39800d-bfdb-50b6-f370-7ffe3602aa80@free.fr">Pour ma
    part, je pense que j'aurais simplement lancé sync(2) depuis la
    bonne vieille crontab. La résolution de la crontab est d'une
    minute.
    <br>
    Cela ne répondrait-il pas à ton problème ?
    <br>
    </blockquote>
    <p><br>
    </p>
    <p>Non, avec 32Go ou 64Go de RAM - c'est ce que j'ai à la maison
    selon l'ordinateur fixe ou portable - (ou même 128Go de RAM au
    bureau, sans UPS et avec des pannes de courant occasionnelles)  en
    une minute les tampons du noyau ont le temps de se remplir avec
    plein de données.</p>
    <p><br>
    </p>
    <p>Et quand je développe du code sous Emacs (ou rédige pour LaTeX),
    je sauvegarde (avec <u>CtrlX</u> <u>CtrlS</u>) plus souvent que
    toutes les minutes.</p>
    <p><br>
    </p>
    <p><br>
    </p>
    <p><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 Haricophile@21:1/5 to All on Mon Nov 7 13:00:01 2022
    Le Sun, 6 Nov 2022 22:07:47 +0100,
    Basile Starynkevitch <basile@starynkevitch.net> a écrit :

    J'ai développé en un soir l'utilitaire sync-periodically https://github.com/bstarynk/misc-basile/blob/master/sync-periodically.c

    (GPLv3+)

    Comme son nom l'indique, il appelle toutes les quelques secondes
    sync(2) sur un ordinateur Linux (desktop ou laptop avec beaucoup de
    RAM, par exemple plus de 32Go de RAM) pour vidanger les caches des
    fichiers sur le disque.


    Ce n'est pas le boulot de hdparm ou udisk ?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Basile Starynkevitch@21:1/5 to Haricophile on Mon Nov 7 13:20:01 2022
    This is a multi-part message in MIME format.
    On 11/7/22 12:15, Haricophile wrote:
    Le Sun, 6 Nov 2022 22:07:47 +0100,
    Basile Starynkevitch<basile@starynkevitch.net> a écrit :

    J'ai développé en un soir l'utilitaire sync-periodically
    https://github.com/bstarynk/misc-basile/blob/master/sync-periodically.c

    (GPLv3+)

    Comme son nom l'indique, il appelle toutes les quelques secondes
    sync(2) sur un ordinateur Linux (desktop ou laptop avec beaucoup de
    RAM, par exemple plus de 32Go de RAM) pour vidanger les caches des
    fichiers sur le disque.

    Ce n'est pas le boulot de hdparm ou udisk ?


    Je ne crois pas.


    Dans ma compréhension de sync, le noyau Linux tamponne les données des systèmes de fichiers dans du code qui est soit système de fichier
    spécifique (donc différent pour ext4 ou btfs) soit commun à la couche VFS.


    hdparm(8) <http://www.delafond.org/traducmanfr/man/man8/hdparm.8.html>
    (me semble-t-il) ignore la couche VFS ou système de fichier.



    --
    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 11/7/22 12:15, Haricophile wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:20221107121500.0e3555f9@jd.aranha">
    <pre class="moz-quote-pre" wrap="">Le Sun, 6 Nov 2022 22:07:47 +0100, Basile Starynkevitch <a class="moz-txt-link-rfc2396E" href="mailto:basile@starynkevitch.net">&lt;basile@starynkevitch.net&gt;</a> a écrit :

    </pre>
    <blockquote type="cite">
    <pre class="moz-quote-pre" wrap="">J'ai développé en un soir l'utilitaire sync-periodically
    <a class="moz-txt-link-freetext" href="https://github.com/bstarynk/misc-basile/blob/master/sync-periodically.c">https://github.com/bstarynk/misc-basile/blob/master/sync-periodically.c</a>

    (GPLv3+)

    Comme son nom l'indique, il appelle toutes les quelques secondes
    sync(2) sur un ordinateur Linux (desktop ou laptop avec beaucoup de
    RAM, par exemple plus de 32Go de RAM) pour vidanger les caches des
    fichiers sur le disque.
    </pre>
    </blockquote>
    <pre class="moz-quote-pre" wrap="">

    Ce n'est pas le boulot de hdparm ou udisk ?</pre>
    </blockquote>
    <p><br>
    </p>
    <p>Je ne crois pas.</p>
    <p><br>
    </p>
    <p>Dans ma compréhension de <font face="monospace">sync</font>, le
    noyau Linux tamponne les données des systèmes de fichiers dans du
    code qui est soit système de fichier spécifique (donc différent
    pour ext4 ou btfs) soit commun à la couche VFS.</p>
    <p><br>
    </p>
    <p><a moz-do-not-send="true"
    href="http://www.delafond.org/traducmanfr/man/man8/hdparm.8.html">hdparm(8)</a>
    (me semble-t-il) ignore la couche VFS ou système de fichier.</p>
    <p><br>
    </p>
    <blockquote type="cite" cite="mid:20221107121500.0e3555f9@jd.aranha">
    <pre class="moz-quote-pre" wrap="">

    </pre>
    </blockquote>
    <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)