• cron: changer de rythme sans en mettre partout

    From Marc Chantreux@21:1/5 to All on Thu Jan 23 16:40:01 2025
    salut tous,

    Soit l'operation suivante

    ( cd /etc/
    mv cron.weekly/$job cron.monthly/$job)

    Conclusions:

    * "chez moi ça marche (tm)"
    * je n'ai pas trouvé un outils plus propre¹
    * je me rassure en téléchargeant les sources de dwww pour constater
    que j'y trouve un fichier

    debian/dwww.cron.weekly

    Du coup je me pose la question de la prochaine mise à jour: il me dis que
    le nouveau paquet va déployer une nouvelle version dans le répertoire
    par défaut en plus de l'ancienne que j'aurais bougé dans un autre
    répertoire. me trompe-je et comment les sysops de serveurs gèrent leurs
    mises à jour dans ce cas ?

    En vous remerciant par avance pour toute suite.

    ¹: j'espérais un système de lien symbolique à la update-alternative
    ou a2ensite qui puisse permettre les operations:
    * activer
    * désactiver
    * changer de fréquence
    mais ce que j'ai trouvé dans
    https://www.debian.org/doc/manuals/debian-handbook/sect.task-scheduling-cron-atd.fr.html#sect.format-crontab
    semble confirmer la conclusion que je tire de l'inspection du paquet.

    --
    Marc Chantreux
    Pôle CESAR (Calcul et services avancés à la recherche)
    Université de Strasbourg
    14 rue René Descartes,
    BP 80010, 67084 STRASBOURG CEDEX
    03.68.85.60.79

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?utf-8?Q?Fran=C3=A7ois_TOURDE?=@21:1/5 to All on Thu Jan 23 19:50:01 2025
    Le 20111ième jour après Epoch,
    Marc Chantreux écrivait:

    [...]
    ( cd /etc/
    mv cron.weekly/$job cron.monthly/$job)

    [...]
    Du coup je me pose la question de la prochaine mise à jour: il me dis que
    le nouveau paquet va déployer une nouvelle version dans le répertoire
    par défaut en plus de l'ancienne que j'aurais bougé dans un autre répertoire. me trompe-je et comment les sysops de serveurs gèrent leurs mises à jour dans ce cas ?

    Je vois au moins deux options:

    - Tu gères l'install / la mise à jour avec un outil genre Salt ou
    Ansible, avec lequel tu peux systématiquement vérifier et changer le
    fichier cron déposé par le paquet

    - Au lieu de faire un "mv", tu copies le fichier dans monthly, et tu
    commentes dans le weekly la/les lignes qui vont bien. Dans ce cas, une
    mise à jour te préviendra qu'un fichier de conf a été modifié
    localement, et te proposera des choix de mise à jour.

    Mes 3 ¢ (inflation oblige)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?utf-8?Q?=C3=89tienne?= Mollier@21:1/5 to All on Thu Jan 23 19:40:01 2025
    Bonsoir Marc,

    Marc Chantreux, on 2025-01-23:
    Soit l'operation suivante

    ( cd /etc/
    mv cron.weekly/$job cron.monthly/$job)

    Conclusions:

    * "chez moi ça marche (tm)"
    * je n'ai pas trouvé un outils plus propre¹
    * je me rassure en téléchargeant les sources de dwww pour constater
    que j'y trouve un fichier

    debian/dwww.cron.weekly

    Du coup je me pose la question de la prochaine mise à jour: il me dis que
    le nouveau paquet va déployer une nouvelle version dans le répertoire
    par défaut en plus de l'ancienne que j'aurais bougé dans un autre répertoire. me trompe-je et comment les sysops de serveurs gèrent leurs mises à jour dans ce cas ?

    En laissant un fichier vide /etc/cron.weekly/$job, dpkg devrait
    voir qu'il y a une différence entre l'ancienne version du
    fichier de configuration et la nouvelle. Soit il prompt en
    demandant s'il faut garder l'original (par défaut), remplacer,
    ou propose différentes options pour examiner la situation. Sur
    une mise à jour automatisée et détachée de tout prompt, le
    défaut sera de préserver le fichier de configuration vide.

    En espérant que ça aide,
    --
    .''`. Étienne Mollier <emollier@debian.org>
    : :' : pgp: 8f91 b227 c7d6 f2b1 948c 8236 793c f67e 8f0d 11da
    `. `' sent from /dev/tty1, please excuse my verbosity
    `- on air: Fates Warning - Still Remains (Live 2018)

    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCgAdFiEEj5GyJ8fW8rGUjII2eTz2fo8NEdoFAmeSjMcACgkQeTz2fo8N EdqzPhAAoGAjknatRNQk8Rh+QfNa17j1GkgkhWGwH8+/KtTeIsnD/xjaDSeaU8HF SUaeIoXkUeoaryciYmOhdwD4l6/BnU7vNB2C1vd2AIgdRtMyjcodGMhdygFNMJTe hIO5AQofZZxy15IZPHspcwtpWo8PDr6syCKzIc+Q0oZWF5FyW9q3TusUpba7jEV7 t8v2YXg1QjclHxukJKksnaBe9WHnwm+a2/RS/sqUu/pmMoakLZVlSxnQveCxOv/Q 7XtJXWDcbwguRsdGgVN3SOaMLWiysGx6U7NaU462Jl7C9680XVVwCRGBoGBacIFT tO7A2BICPYKApUJbEOtTkBBb0Hy3hipmfXVdLyv23BRQrSuJjPAJpOvglaTHIBOe zuuwJ7cycQVkduH74QL0lOV2VCzIrwqeHOJCouxar7A+W7iThNC0OVC8U4VYAtzf YmjRg8pEh7aJYaZqLhhuripB5pnLaE5clat2tJSDrZvTHEiyH8jptemKwfaCuV/m q64YOp4GHI+koWq7Dmvc5dAh38aU4VKWKXnOrv98+xB1HflPWhMxJqsB6mFNs7qS DveFGhaWJZIreE0+MkaVXIxuIPvci1R4Jg0Ys1LWluhQmvyfLWRoKJqbzunOqxMv q5o8ahJ0ho+ykHhjQHphx9UxV
  • From Marc Chantreux@21:1/5 to All on Thu Jan 23 21:40:01 2025
    salut,

    On Thu, Jan 23, 2025 at 07:39:03PM +0100, Étienne Mollier wrote:
    En espérant que ça aide

    samper! en te lisant je suis en train de me demander si il compare
    les contenus sans verifier le type. si tel est le cas je pourrais
    simplement faire un lien symbolique. et quite à faire un lien
    symbolique, autant se fendre d'un petit script dash pour proposer le
    mechanisme que je décrivais comme "ce à quoi je m'attendais" dans mon
    mail initial.

    merci pour ta réponse

    --
    Marc Chantreux
    Pôle CESAR (Calcul et services avancés à la recherche)
    Université de Strasbourg
    14 rue René Descartes,
    BP 80010, 67084 STRASBOURG CEDEX
    03.68.85.60.79

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Marc Chantreux@21:1/5 to All on Thu Jan 23 21:30:02 2025
    bonsoir François,

    On Thu, Jan 23, 2025 at 07:14:45PM +0100, François TOURDE wrote:
    - Tu gères l'install / la mise à jour avec un outil genre Salt ou
    Ansible, avec lequel tu peux systématiquement vérifier et changer le
    fichier cron déposé par le paquet

    over my dead body …

    - Au lieu de faire un "mv", tu copies le fichier dans monthly, et tu
    commentes dans le weekly la/les lignes qui vont bien. Dans ce cas, une
    mise à jour te préviendra qu'un fichier de conf a été modifié
    localement, et te proposera des choix de mise à jour.

    Mes 3 ¢ (inflation oblige)

    on se rapproche de ce que je cherche. je pense que je vais faire un
    paquet

    * qui depend du paquet original
    * avec un postinst

    printf cron.%s/$job weekly monthly | xargs cp
    :> cron.weekly/$job

    muchas gracias pour l'idée.

    --
    Marc Chantreux
    Pôle CESAR (Calcul et services avancés à la recherche)
    Université de Strasbourg
    14 rue René Descartes,
    BP 80010, 67084 STRASBOURG CEDEX
    03.68.85.60.79

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?utf-8?Q?=C3=89tienne?= Mollier@21:1/5 to All on Thu Jan 23 22:20:01 2025
    Bonsoir Marc,

    Marc Chantreux, on 2025-01-23:
    samper! en te lisant je suis en train de me demander si il compare
    les contenus sans verifier le type. si tel est le cas je pourrais
    simplement faire un lien symbolique. et quite à faire un lien
    symbolique, autant se fendre d'un petit script dash pour proposer le mechanisme que je décrivais comme "ce à quoi je m'attendais" dans mon
    mail initial.

    Je ne suis pas sûr d'avoir bien compris l'idée avec le lien
    symbolique. S'il s'agit d'avoir un lien du script depuis le
    cron.weekly vers le cron.monthly, du coup est ce que cron ne va
    pas interpréter à la fois le lien dans le weekly et le fichier
    d'origine dans le monthly ?

    Ce que j'ai en tête, ce serait dans /etc/cron.weekly/$job
    d'avoir tout au plus ce genre de commentaire :

    # WARNING: frequency of the job has been reduced.
    # Please refer to /etc/cron.monthly/$job for the real job.
    # This file is left on purpose to prevent dpkg from duplicating
    # the configuration in /etc/cron.weekly/ upon dwww upgrade.

    Le seul souci que je vois avec cette approche est que si le
    fichier de configuration du paquet change avec des changements
    intéressants (par exemple lors d'une mise à jour majeure du
    système), alors les différences avec le fichier d'origine (qui
    est désormais dans /etc/cron.monthly/$job) passent à la trappe
    dans le diff proposé par dpkg lors de la résolution du conflit
    sur le fichier de configuration.

    Bonne nuit, :)
    --
    .''`. Étienne Mollier <emollier@debian.org>
    : :' : pgp: 8f91 b227 c7d6 f2b1 948c 8236 793c f67e 8f0d 11da
    `. `' sent from /dev/pts/3, please excuse my verbosity
    `- on air: Red Sand - Forsaken Part 2

    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCgAdFiEEj5GyJ8fW8rGUjII2eTz2fo8NEdoFAmeSsZwACgkQeTz2fo8N EdqPMg/+KO1jGYFc0CaWM84rHdH/aDbtqZ4Lsm7tTgTm5HzV8jw0vBRNmrY3NYZl lKMLUnV3hCaEaWjk/B9ECYOiqiKj+TEf57SNjUDHS9ptxiHii1v8vpi+fnh4RyA5 48Xasm9/yqRPY4OeSN9fDVMpdVh9/nFrYymM3g/eXOU2MHGREoqhhye1NOmkkaOb oBW/S2t0JfXwqRuqMh+Nr6gS25DXf93lLongXAsK+3GvE2rPg20WCr5BK7H6mwVM AB+GATobeGnUUDW2xn6oFtwfHiVxhDvNd6w9hu3d4yvuh2l5F3niR4ZFqLnBoq+x Y/y9JsSF0V2VIaMHuuX7AsLhhfNaStWE5u8TqouChJho5nn5aJmAKP0iGgJ39IBY e6Lwj6d2uf0n9muj/XczYw6DL1kZbe4PCW6480leJN7Pek8N80JWtxNT66sPMsTB U3aZCuYoHZ3/JNLoWI6RKTaYhA82o3CYUJs3vvFHgLZmPX0DazxQV9KTcAlLsTYl RWmxV+K8na8Jf9r5ObVpR9COUwmrgZt9XSaKfaFf20VxohteSW5FTBFrI9yutIXM PDm9bALV7Dpei2B1mebTSN5hI/8WXBdc64T6HUQduE+rcdFsLbIiBI/Zq7BUUSJi 0UMxvIVdBjuARAz+dNAoqc9LNm6qHCZDoxRmzAD
  • From Marc Chantreux@21:1/5 to All on Fri Jan 24 16:20:01 2025
    salut Etienne,

    Bon déjà j'ai vu que "chez moi ça marche" c'est uniquement parce
    je me suis débarassé de systemd. ma réflexion est donc valable
    pour ces installs uniquements (ce qui veut dire "probablement très
    peu d'installs").

    Après je dois avouer que lorsque j'ai viré systemd c'était idéalement au
    profit de sinit et je n'ai jamais fini. Je me retrouve avec openrc sans
    être satisfait non plus. L'idée est d'avoir une "suckless debian" fondé
    sur deux idées:

    * les outils les plus petits possibles pour pouvoir debugger/adapter facilement
    (dwm et sinit sont des outils du projet https://suckless.org/ mais
    j'utilise aussi des outils comme slim pour le display manager). par
    exemple je gère mon réseau comme suit et avec un autre helper pour
    wpa_supplicant:
    https://git.unistra.fr/mc/demo/-/blob/stable/suckless-debian/office

    * faire en sorte qu'une suite empirique de commandes apt-get install
    finisse in fine sous la forme d'un paquet pour:
    * faire le ménage facilement (apt purge lepaquet-en-question)
    * permettre à d'autres de ne pas tâtonner comme je l'ai fais
    (genre à la fin d'une tentative d'installation d'alphafold, j'ai un
    paquet unistra-alphafold-builddeps que je pourrais ensuite traduire
    en vrai build dep)

    pour le reste je suis très content de la qualité de debian (sauf pour l'évolution des tentatives de faire mieux que les apt-tools. aptitude
    un peu délaissé alors que cça roxe et apt qui devient un peu standard
    alors que je le trouve très mauvais) et suis heureux de ne pas avoir
    à me soucier du kernel ou de blender.

    On Thu, Jan 23, 2025 at 10:16:12PM +0100, Étienne Mollier wrote:
    Je ne suis pas sûr d'avoir bien compris l'idée avec le lien
    symbolique. S'il s'agit d'avoir un lien du script depuis le
    cron.weekly vers le cron.monthly, du coup est ce que cron ne va
    pas interpréter à la fois le lien dans le weekly et le fichier
    d'origine dans le monthly?

    comme un bout de code vaut mieux qu'une longue explication, voilà
    coemment j'aurais tendance à gérer le truc (en tout cas la dernière
    version que j'avais en tête):

    https://git.unistra.fr/mc/demo/-/blob/stable/suckless-debian/system-cron-manager

    du coup:

    * les auteurs de paquets ne seraient pas impactés
    * on peut revenir facilement au comportement précédent

    évidement c'est un peu naif: il faudrait pouvoir gérer un lien
    symbolique vers un chemin absolu.

    Ce que j'ai en tête, ce serait dans /etc/cron.weekly/$job
    d'avoir tout au plus ce genre de commentaire :
    # WARNING: frequency of the job has been reduced.
    # Please refer to /etc/cron.monthly/$job for the real job.
    # This file is left on purpose to prevent dpkg from duplicating
    # the configuration in /etc/cron.weekly/ upon dwww upgrade.

    Le seul souci que je vois avec cette approche est que si le
    fichier de configuration du paquet change avec des changements
    intéressants (par exemple lors d'une mise à jour majeure du
    système), alors les différences avec le fichier d'origine (qui
    est désormais dans /etc/cron.monthly/$job) passent à la trappe
    dans le diff proposé par dpkg lors de la résolution du conflit
    sur le fichier de configuration.

    ce qui m'a probablement inspiré le script pointé ci-avant. en tout cas
    merci pour ton retour et bon WE.


    --
    Marc Chantreux
    Pôle CESAR (Calcul et services avancés à la recherche)
    Université de Strasbourg
    14 rue René Descartes,
    BP 80010, 67084 STRASBOURG CEDEX
    03.68.85.60.79

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?utf-8?Q?=C3=89tienne?= Mollier@21:1/5 to All on Sat Jan 25 09:20:01 2025
    Bonjour Marc,

    Marc Chantreux, on 2025-01-24:
    On Thu, Jan 23, 2025 at 10:16:12PM +0100, Étienne Mollier wrote:
    Je ne suis pas sûr d'avoir bien compris l'idée avec le lien
    symbolique. S'il s'agit d'avoir un lien du script depuis le
    cron.weekly vers le cron.monthly, du coup est ce que cron ne va
    pas interpréter à la fois le lien dans le weekly et le fichier
    d'origine dans le monthly?

    comme un bout de code vaut mieux qu'une longue explication, voilà
    coemment j'aurais tendance à gérer le truc (en tout cas la dernière version que j'avais en tête):

    https://git.unistra.fr/mc/demo/-/blob/stable/suckless-debian/system-cron-manager

    du coup:

    * les auteurs de paquets ne seraient pas impactés
    * on peut revenir facilement au comportement précédent

    évidement c'est un peu naif: il faudrait pouvoir gérer un lien
    symbolique vers un chemin absolu.

    Merci pour le lien vers le bout de code, je comprend maintenant
    mieux la relation avec la gestion des greffons de apache2. Ton
    répertoire /etc/cron/ m'a mis sur la piste.

    Bonne journée, :)
    --
    .''`. Étienne Mollier <emollier@debian.org>
    : :' : pgp: 8f91 b227 c7d6 f2b1 948c 8236 793c f67e 8f0d 11da
    `. `' sent from /dev/tty1, please excuse my verbosity
    `- on air: Galahad - Salvation I - Overture

    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCgAdFiEEj5GyJ8fW8rGUjII2eTz2fo8NEdoFAmeUnV0ACgkQeTz2fo8N EdoUBBAAjxVbNkDRHdQWWGiflPH/mg3Bq/rmVDTctzMKHw5sGNpLR1BYLz7KJ7Tr Gh1gUUmqJpbrZgrilBsAqaRJLblybQ1dSKvBAuUOC2LVFhuNrm/GlBqE3YhtXIEh ZbEVBw6gBJyml7OIJtRqTT9MJvFb65AS+o4sQgytOIZhUxhgMfiUbCAUcFrkuViU YV9+RjtoMkrfLpAAQa7sTW9qp6HBzCrySy1K/GKSLhdHhEFF0T96lJCElcqHZ9/M pYb45rI95AFpSRnsScZni1CQAhAopFFnS0GnvaQ0RN5EIn0iphu5trsxuBMk42cd BTLoqAfKWKJeHFF6WGsF3v/zvfABtSZM53Tq3Siv5N+s2yfzWha2HDHYFysRaNCQ k+V9b4XpXRFAtQJSvnjwX7aUEXdZC3g7u4jbhg1rxn1tYSlxaly4dY6WtpzrIrt7 VARJ4krkmLwasYoYaUjlztf+N/IHZK4Q2FcPrQF2HADSBLoja/NAFLI94BsmEyNy gSHdD6Oq29FBUrhbCKljpW/3WkjzmmuEmU0RHsq345Z9CGhMUHbscmos2Htk5gfm t3jiAL7ZBvUV5ZMMg84dwRcvXW4F9+qqvtzAwH06SGcMrtyBoBCpf7RbNUhNQET+ VV3kzow+l0C+Xs9yzI/sziwXqWJXemMPpb