Debian 12 Gnome et les mises à jour

Salut

Dans Debian 12 Gnome par défaut les mises à jour du système et des logiciels sont téléchargées et faites automatiquement.
Si cette fonctionnalité est désactivée, il n’y a pas de notification de mise à jour en attente. Pour en être informé il faut aller dans l’onglet « Mises à jour » de « Logiciels » et rafraichir la page pour voir et effectuer les nouvelles mises à jour
J’ai trouvé une extension de Gnome intéressante qui semble donner plus de renseignements
https://extensions.gnome.org/extension/6322/debian-linux-updates-indicator/
Mais pas possible d’installer sur les ordinateurs distribués par le Centre des Abeilles une extension en anglais trop technique
Avez-vous un conseil pour que ces utilisateurs de nos ordinateurs anciens ne soient pas bloqués par des mises à jour automatiques mais qu’ils soient informés comme cela existe actuellement sur la distribution Ubuntu 22.04
Merci de votre aide
René

Tant qu’on ne change pas de version, pas de problème pour les mises à jour automatiques à mon avis.
Changer de version nécessite de savoir modifier le sources.list. Possible seulement pour les artistes de la ligne de commande.

Les mises à jour automatiques sont intéressantes avec des ordis assez puissants et une bonne connexion même si ça interroge tous ces redémarrages… mais avec les ordis des Abeilles qui sont quelque fois pas très jeunes, l’ancienne méthode était plus facile à expliquer

1 « J'aime »

J’utilise package-update-indicator
Il informe des mises à jour mais ne fait rien (dans mon cas). Peut être qu’il est configurable.
Dès que je le vois, je lance les lignes de commande pour faire la mise à jour.
J’utilise XFCE

Je viens de l’installer sur ma Debian Gnome je vais voir ce que cela donne… :slight_smile:

C’est pas que les mises à jour de sécurité, t’es sûr de toi ? Est-ce que unattended-upgrades est installé ?
Si non je me demande quel paquet s’en charge - et si oui donne ta config, je pense qu’on y verra qu’il fait que les màj de secu. /usr/share/unattended-upgrades/50unattended-upgrades

Merci @Otyugh

Capture d’écran du 2023-11-30 10-53-30

J’ai installé unattended-upgrades
/ usr/share/unattended-upgrades/50unattended-upgrades ce fichier n’existe pas

Maj : désolé j’ai regardé sur mon poste sur lequel unattended-upgrades n’était pas installé. Après installation voici le résultat

// Unattended-Upgrade::Origins-Pattern controls which packages are
// upgraded.
//
// Lines below have the format "keyword=value,...".  A
// package will be upgraded only if the values in its metadata match
// all the supplied keywords in a line.  (In other words, omitted
// keywords are wild cards.) The keywords originate from the Release
// file, but several aliases are accepted.  The accepted keywords are:
//   a,archive,suite (eg, "stable")
//   c,component     (eg, "main", "contrib", "non-free")
//   l,label         (eg, "Debian", "Debian-Security")
//   o,origin        (eg, "Debian", "Unofficial Multimedia Packages")
//   n,codename      (eg, "jessie", "jessie-updates")
//     site          (eg, "http.debian.net")
// The available values on the system are printed by the command
// "apt-cache policy", and can be debugged by running
// "unattended-upgrades -d" and looking at the log file.
//
// Within lines unattended-upgrades allows 2 macros whose values are
// derived from /etc/debian_version:
//   ${distro_id}            Installed origin.
//   ${distro_codename}      Installed codename (eg, "buster")
Unattended-Upgrade::Origins-Pattern {
        // Codename based matching:
        // This will follow the migration of a release through different
        // archives (e.g. from testing to stable and later oldstable).
        // Software will be the latest available for the named release,
        // but the Debian release itself will not be automatically upgraded.
//      "origin=Debian,codename=${distro_codename}-updates";
//      "origin=Debian,codename=${distro_codename}-proposed-updates";
        "origin=Debian,codename=${distro_codename},label=Debian";
        "origin=Debian,codename=${distro_codename},label=Debian-Security";
        "origin=Debian,codename=${distro_codename}-security,label=Debian-Security";

        // Archive or Suite based matching:
        // Note that this will silently match a different release after
        // migration to the specified archive (e.g. testing becomes the
        // new stable).
//      "o=Debian,a=stable";
//      "o=Debian,a=stable-updates";
//      "o=Debian,a=proposed-updates";
//      "o=Debian Backports,a=${distro_codename}-backports,l=Debian Backports";
};

// Python regular expressions, matching packages to exclude from upgrading
Unattended-Upgrade::Package-Blacklist {
    // The following matches all packages starting with linux-
//  "linux-";

    // Use $ to explicitely define the end of a package name. Without
    // the $, "libc6" would match all of them.
//  "libc6$";
//  "libc6-dev$";
//  "libc6-i686$";

    // Special characters need escaping
//  "libstdc\+\+6$";

    // The following matches packages like xen-system-amd64, xen-utils-4.1,
    // xenstore-utils and libxenstore3.0
//  "(lib)?xen(store)?";

    // For more information about Python regular expressions, see
    // https://docs.python.org/3/howto/regex.html
};

// This option allows you to control if on a unclean dpkg exit
// unattended-upgrades will automatically run 
//   dpkg --force-confold --configure -a
// The default is true, to ensure updates keep getting installed
//Unattended-Upgrade::AutoFixInterruptedDpkg "true";

// Split the upgrade into the smallest possible chunks so that
// they can be interrupted with SIGTERM. This makes the upgrade
// a bit slower but it has the benefit that shutdown while a upgrade
// is running is possible (with a small delay)
//Unattended-Upgrade::MinimalSteps "true";

// Install all updates when the machine is shutting down
// instead of doing it in the background while the machine is running.
// This will (obviously) make shutdown slower.
// Unattended-upgrades increases logind's InhibitDelayMaxSec to 30s.
// This allows more time for unattended-upgrades to shut down gracefully
// or even install a few packages in InstallOnShutdown mode, but is still a
// big step back from the 30 minutes allowed for InstallOnShutdown previously.
// Users enabling InstallOnShutdown mode are advised to increase
// InhibitDelayMaxSec even further, possibly to 30 minutes.
//Unattended-Upgrade::InstallOnShutdown "false";

// Send email to this address for problems or packages upgrades
// If empty or unset then no email is sent, make sure that you
// have a working mail setup on your system. A package that provides
// 'mailx' must be installed. E.g. "user@example.com"
//Unattended-Upgrade::Mail "";

// Set this value to one of:
//    "always", "only-on-error" or "on-change"
// If this is not set, then any legacy MailOnlyOnError (boolean) value
// is used to chose between "only-on-error" and "on-change"
//Unattended-Upgrade::MailReport "on-change";

// Remove unused automatically installed kernel-related packages
// (kernel images, kernel headers and kernel version locked tools).
//Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";

// Do automatic removal of newly unused dependencies after the upgrade
//Unattended-Upgrade::Remove-New-Unused-Dependencies "true";

// Do automatic removal of unused packages after the upgrade
// (equivalent to apt-get autoremove)
//Unattended-Upgrade::Remove-Unused-Dependencies "false";

// Automatically reboot *WITHOUT CONFIRMATION* if
//  the file /var/run/reboot-required is found after the upgrade
//Unattended-Upgrade::Automatic-Reboot "false";

// Automatically reboot even if there are users currently logged in
// when Unattended-Upgrade::Automatic-Reboot is set to true
//Unattended-Upgrade::Automatic-Reboot-WithUsers "true";

// If automatic reboot is enabled and needed, reboot at the specific
// time instead of immediately
//  Default: "now"
//Unattended-Upgrade::Automatic-Reboot-Time "02:00";

// Use apt bandwidth limit feature, this example limits the download
// speed to 70kb/sec
//Acquire::http::Dl-Limit "70";

// Enable logging to syslog. Default is False
// Unattended-Upgrade::SyslogEnable "false";

// Specify syslog facility. Default is daemon
// Unattended-Upgrade::SyslogFacility "daemon";

// Download and install upgrades only on AC power
// (i.e. skip or gracefully stop updates on battery)
// Unattended-Upgrade::OnlyOnACPower "true";

// Download and install upgrades only on non-metered connection
// (i.e. skip or gracefully stop updates on a metered connection)
// Unattended-Upgrade::Skip-Updates-On-Metered-Connections "true";

// Verbose logging
// Unattended-Upgrade::Verbose "false";

// Print debugging information both in unattended-upgrades and
// in unattended-upgrade-shutdown
// Unattended-Upgrade::Debug "false";

// Allow package downgrade if Pin-Priority exceeds 1000
// Unattended-Upgrade::Allow-downgrade "false";

// When APT fails to mark a package to be upgraded or installed try adjusting
// candidates of related packages to help APT's resolver in finding a solution
// where the package can be upgraded or installed.
// This is a workaround until APT's resolver is fixed to always find a
// solution if it exists. (See Debian bug #711128.)
// The fallback is enabled by default, except on Debian's sid release because
// uninstallable packages are frequent there.
// Disabling the fallback speeds up unattended-upgrades when there are
// uninstallable packages at the expense of rarely keeping back packages which
// could be upgraded or installed.
// Unattended-Upgrade::Allow-APT-Mark-Fallback "true";

C’est dans "Software & Updates qu’à l’onglet Updates qui apparait lorsqu’on installe unattended-upgrades, qu’il y a possibilté de vérifier les mises à jour de sécurité

Le fichier /usr/share/unattended-upgrades/50unattended-upgrades après avoir choisi vérification quotidienne

// Unattended-Upgrade::Origins-Pattern controls which packages are
// upgraded.
//
// Lines below have the format "keyword=value,...".  A
// package will be upgraded only if the values in its metadata match
// all the supplied keywords in a line.  (In other words, omitted
// keywords are wild cards.) The keywords originate from the Release
// file, but several aliases are accepted.  The accepted keywords are:
//   a,archive,suite (eg, "stable")
//   c,component     (eg, "main", "contrib", "non-free")
//   l,label         (eg, "Debian", "Debian-Security")
//   o,origin        (eg, "Debian", "Unofficial Multimedia Packages")
//   n,codename      (eg, "jessie", "jessie-updates")
//     site          (eg, "http.debian.net")
// The available values on the system are printed by the command
// "apt-cache policy", and can be debugged by running
// "unattended-upgrades -d" and looking at the log file.
//
// Within lines unattended-upgrades allows 2 macros whose values are
// derived from /etc/debian_version:
//   ${distro_id}            Installed origin.
//   ${distro_codename}      Installed codename (eg, "buster")
Unattended-Upgrade::Origins-Pattern {
        // Codename based matching:
        // This will follow the migration of a release through different
        // archives (e.g. from testing to stable and later oldstable).
        // Software will be the latest available for the named release,
        // but the Debian release itself will not be automatically upgraded.
//      "origin=Debian,codename=${distro_codename}-updates";
//      "origin=Debian,codename=${distro_codename}-proposed-updates";
        "origin=Debian,codename=${distro_codename},label=Debian";
        "origin=Debian,codename=${distro_codename},label=Debian-Security";
        "origin=Debian,codename=${distro_codename}-security,label=Debian-Security";

        // Archive or Suite based matching:
        // Note that this will silently match a different release after
        // migration to the specified archive (e.g. testing becomes the
        // new stable).
//      "o=Debian,a=stable";
//      "o=Debian,a=stable-updates";
//      "o=Debian,a=proposed-updates";
//      "o=Debian Backports,a=${distro_codename}-backports,l=Debian Backports";
};

// Python regular expressions, matching packages to exclude from upgrading
Unattended-Upgrade::Package-Blacklist {
    // The following matches all packages starting with linux-
//  "linux-";

    // Use $ to explicitely define the end of a package name. Without
    // the $, "libc6" would match all of them.
//  "libc6$";
//  "libc6-dev$";
//  "libc6-i686$";

    // Special characters need escaping
//  "libstdc\+\+6$";

    // The following matches packages like xen-system-amd64, xen-utils-4.1,
    // xenstore-utils and libxenstore3.0
//  "(lib)?xen(store)?";

    // For more information about Python regular expressions, see
    // https://docs.python.org/3/howto/regex.html
};

// This option allows you to control if on a unclean dpkg exit
// unattended-upgrades will automatically run 
//   dpkg --force-confold --configure -a
// The default is true, to ensure updates keep getting installed
//Unattended-Upgrade::AutoFixInterruptedDpkg "true";

// Split the upgrade into the smallest possible chunks so that
// they can be interrupted with SIGTERM. This makes the upgrade
// a bit slower but it has the benefit that shutdown while a upgrade
// is running is possible (with a small delay)
//Unattended-Upgrade::MinimalSteps "true";

// Install all updates when the machine is shutting down
// instead of doing it in the background while the machine is running.
// This will (obviously) make shutdown slower.
// Unattended-upgrades increases logind's InhibitDelayMaxSec to 30s.
// This allows more time for unattended-upgrades to shut down gracefully
// or even install a few packages in InstallOnShutdown mode, but is still a
// big step back from the 30 minutes allowed for InstallOnShutdown previously.
// Users enabling InstallOnShutdown mode are advised to increase
// InhibitDelayMaxSec even further, possibly to 30 minutes.
//Unattended-Upgrade::InstallOnShutdown "false";

// Send email to this address for problems or packages upgrades
// If empty or unset then no email is sent, make sure that you
// have a working mail setup on your system. A package that provides
// 'mailx' must be installed. E.g. "user@example.com"
//Unattended-Upgrade::Mail "";

// Set this value to one of:
//    "always", "only-on-error" or "on-change"
// If this is not set, then any legacy MailOnlyOnError (boolean) value
// is used to chose between "only-on-error" and "on-change"
//Unattended-Upgrade::MailReport "on-change";

// Remove unused automatically installed kernel-related packages
// (kernel images, kernel headers and kernel version locked tools).
//Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";

// Do automatic removal of newly unused dependencies after the upgrade
//Unattended-Upgrade::Remove-New-Unused-Dependencies "true";

// Do automatic removal of unused packages after the upgrade
// (equivalent to apt-get autoremove)
//Unattended-Upgrade::Remove-Unused-Dependencies "false";

// Automatically reboot *WITHOUT CONFIRMATION* if
//  the file /var/run/reboot-required is found after the upgrade
//Unattended-Upgrade::Automatic-Reboot "false";

// Automatically reboot even if there are users currently logged in
// when Unattended-Upgrade::Automatic-Reboot is set to true
//Unattended-Upgrade::Automatic-Reboot-WithUsers "true";

// If automatic reboot is enabled and needed, reboot at the specific
// time instead of immediately
//  Default: "now"
//Unattended-Upgrade::Automatic-Reboot-Time "02:00";

// Use apt bandwidth limit feature, this example limits the download
// speed to 70kb/sec
//Acquire::http::Dl-Limit "70";

// Enable logging to syslog. Default is False
// Unattended-Upgrade::SyslogEnable "false";

// Specify syslog facility. Default is daemon
// Unattended-Upgrade::SyslogFacility "daemon";

// Download and install upgrades only on AC power
// (i.e. skip or gracefully stop updates on battery)
// Unattended-Upgrade::OnlyOnACPower "true";

// Download and install upgrades only on non-metered connection
// (i.e. skip or gracefully stop updates on a metered connection)
// Unattended-Upgrade::Skip-Updates-On-Metered-Connections "true";

// Verbose logging
// Unattended-Upgrade::Verbose "false";

// Print debugging information both in unattended-upgrades and
// in unattended-upgrade-shutdown
// Unattended-Upgrade::Debug "false";

// Allow package downgrade if Pin-Priority exceeds 1000
// Unattended-Upgrade::Allow-downgrade "false";

// When APT fails to mark a package to be upgraded or installed try adjusting
// candidates of related packages to help APT's resolver in finding a solution
// where the package can be upgraded or installed.
// This is a workaround until APT's resolver is fixed to always find a
// solution if it exists. (See Debian bug #711128.)
// The fallback is enabled by default, except on Debian's sid release because
// uninstallable packages are frequent there.
// Disabling the fallback speeds up unattended-upgrades when there are
// uninstallable packages at the expense of rarely keeping back packages which
// could be upgraded or installed.
// Unattended-Upgrade::Allow-APT-Mark-Fallback "true";

Oui là tu n’a que les màj de sécurité ?
Il faudrait que tu décommentes la ligne « updates » pour que les màj se fassent automatiquement à priori

//      "origin=Debian,codename=${distro_codename}-updates";

Intéressant. Ce serait déjà mieux que d’envoyer automatiquement toutes les mises à jour n’importe quand
Mais je suis peut-être exigeant :slight_smile: Ce que j’aimerais c’est que l’utilisateur des ordis des Abeilles ait par défaut une information claire des mises à jour à faire et qu’il puisse les effectuer quand il veut et qu’il ait aussi la possibilité d’activer facilement les mises à jour automatiques.

Je ne vois pas vraiment de différence avec le comportement normale d’une distribution… (?) Il me semble que toutes les distributions prétendent faire ça…

Avec Ubuntu 22.04 il y a cette fenètre qui permet de choisir s’il y aura installation automatique ou information sauf pour les snap. Dans le cas de Debian 12 Gnome on n’a pas cette possibilité

Avis très général qui va pas faire avancer le truc : si c’est pas dans l’«esprit» de la distrib de fournir ça, c’est donc nécessairement casse-gueule à faire soit-même :wink:

Perso, dans les machines installées, je supprime TOUTE mise à jour plus ou moins intempestive (e.g. noyau). Si la machine répond au besoin de l’utilisateur au départ, alors il n’y pas de raison de mettre à jour au fil de l’eau. Ça marche, on ne touche pas. Si l’utilisateur un jour s’aperçoit de ceci-celà, «alors» une bonne raison peut apparaître pour intervenir/mise à jour.

Cette démarche est d’autant plus jouable de nos jours que les fournitures en flatpak permettent de donner suffisamment les clés (user-space) à l’utilisateur.

Nous distribuons entre dix et vingt ordis sous Linux par semaine à des personnes qui viennent en majorité pour avoir un ordi et non Linux. Nos machines ne sont pas récentes, dix ans pour certaines. Pour que ces personnes aient une bonne opinion de Linux qu’elles découvrent sans l’avoir demandé, il faut que la machine soit plus rapide que sous Windows et que les mises à jour automatiques ne viennent pas la ralentir sans que l’utilisateur⋅rice ne sache pourquoi
Par contre je pense que toutes les mises à jour sont importantes même si elles n’ont pas à être exécutées immédiatement. Par exemple pour naviguer sur Internet, il est nécessaire d’avoir une version récente de Firefox, pas la dernière, la veille de sa sortie bien sur :slight_smile: Nous voulons passer à Debian pour avoir les versions stables mais à jour
A noter qu’un grand nombre des bénéficiaires de ces ordis sont des utilisateur⋅rices lambda et même novices donc il faut que ce soit simple, très simple :wink:

2 « J'aime »

Avec DF on a eu un peu les mêmes préoccupations. On a finalement opté pour la mise à jour automatique à l’époque de buster faute de mieux. On a pas investigué depuis (largement par flemme et parce que les mise à jour debian automatisée passent 99% du temps sans que personne ne le remarque, elles tendent à être ultra légères par rapport à Ubuntu : perso je constate mes màj seulement quand firefox exige d’être relancé à cause d’une mise à niveau :face_with_spiral_eyes: une fois tous les 2-3 mois).

À l’époque j’avais fait le tour des GUI d’installation de mise à jour, mais je les ai toutes trouvés médiocres (…Celle d’Ubuntu aussi je dois avouer, je dois trop être exigeant : je veux un truc léger qui fait pas des bugs bizarres à moins imprévu >_<)

Mais depuis il y a ptéte des apps qui font mieux le taff. C’est pas totalement impossible !

J’ai soumis la question à mes ami⋅e⋅s linuxien⋅ne⋅ s des Abeilles
Je crois que nous avons suffisamment d’éléments pour faire un choix…
Pour ma part je serais pour la méthode manuelle avec Debian Linux Updates Indicator
A suivre…

Les cycles de mise à jour Debian et Ubuntu (ou autre) ne sont pas vraiment comparables. Entre une Debian qui n’a pas de mises à jour [aussi] régulières, c’est une peu comme une Ubuntu figée. Reste la question des applis du quotidien qui évoluent bien plus vite que la base distrib…

Le plus simple, ça reste de ne pas toucher une machine qui fonctionne. Le mieux est l’ennemi du bien.
Juste deux exemples en tête, les maj de (niveaux) SSL, « imposés » par les distrib, peuvent induire que du matos environnant (box, bornes wifi, etc) ne fonctionnent plus chez l’utilisateur. Idem pour les protocoles genre smb/smba et cie, ça peut bouger sur les distribs mais pas chez les gens…
L’abandon dans le noyau ou dans les pilotes d’une vieille imprimante, le passage à un autre sous-système de son (pulseaudio vers tripwire)…

Toute mise à jour est une prise de risque. J’ai « plein » d’exemples dans ma mémoire. Et dès que je vois du marketing pour toute distrib qui annonce des mises à jours sans problème, je sais déjà que c’est une « arnaque » (même de bonne foi). Cela n’est pas possible.

Mais je suis curieux d’avoir de vrais retours d’expérience à échelle (encore plus large). D’où mon attention ici :wink:

1 « J'aime »

Pour Debian Stable, il n’y a aucun risque à faire la mise à jour les yeux fermés.
Pour une mise à jour automatique, ça pourrait se faire via un cron ou un timer systemd

2 « J'aime »

https://wiki.debian.org/DebianUpgrade
" Upgrading from one stable release to the next […]
Performing a release upgrade is never without risk. The upgrade may fail, leaving the system in a non-functioning state. "