Fellow Fedora Immutable users, have any of you automated your system updates to occur at shutdown? If so, do you find it makes a practical difference?

I’m thinking of doing the same with Tony Walker’s silverblue-update service.

I shutdown most of my machines daily, and that often means getting an updated image shortly after startup the next day and being forced to reboot or nearly always remain one day behind in updates. By checking for updates again at shutdown, this should help ensure I’ve always got the latest daily image at boot. Thoughts?

  • CapillaryUpgrade@lemmy.sdf.org
    link
    fedilink
    arrow-up
    8
    ·
    5 months ago

    I run the built-in automatic rpm-ostree upgrade service every 6 hours.

    If you think that’s too inefficient, maybe read the docs for shutdown.target and see if you can use that to run an upgrade service before shutdown?

    I’m not too experienced with that part of systemd but it seems like it could be a “proper” way to run things on shutdown?

    • thayer@lemmy.caOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      5 months ago

      Thanks, yeah I’ve found a few articles already on running scripts at shutdown…something like this should do it (using Tony Walker’s update script), though I’ve not tested it yet:

      /etc/systemd/system/silverblue-update-at-shutdown.service:
      
      [Unit]
      Description=Fedora Silverblue Update at Shutdown 
      ConditionPathExists=/run/ostree-booted
      DefaultDependencies=no
      Before=shutdown.target
      
      [Service]
      Type=oneshot
      ExecStart=/usr/local/bin/silverblue-update
      TimeoutStartSec=0
      
      [Install]
      WantedBy=shutdown.target
      
  • d3Xt3r@lemmy.nzM
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    5 months ago

    I use uBlue and update manually (using a custom alias/script) whenever I get the time, like say during my lunch break or something. Reason being, I actually like watching the update process and seeing what gets updated, watching out for major version number changes or major package upgrades, and if I’m interested I may look up some of their changelogs to find out about their new features etc.

    and being forced to reboot

    You should be forced to reboot though? And if you don’t want to reboot, can’t you just do an --apply-live? I mean you’d still need to reboot for a kernel update but for the most part, you should be able to use most of your new packages without a reboot. And this holds true even more so if you’re updating Flatpak/container/Nix/pip/cargo/brew packages. And I hope you’re not doing the rookie mistake of actually installing stuff at the ostree layer instead of using Flatpaks/containers/Nix etc.

    • thayer@lemmy.caOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      5 months ago

      I too like to review changes between images, but I’m just as content to run rpm-ostree status and/or rpm-ostree db diff to see what exactly has changed.

      You should be forced to reboot though? And if you don’t want to reboot, can’t you just do an --apply-live?

      I’m hoping to eliminate the extra reboot each day that is usually necessary to activate the latest image. I know that a lot of this will depend on exactly when the image drops from the repos (versus when I shutdown a host), which is why I was looking for some general feedback from others who might have done the same thing…I didn’t know if it’d be worthwhile in the long run, but I guess there’s only one way to find out. As for the --apply-live, I use it on occasion but I don’t want to rely on it for system updates (if that’s even possible).

      • d3Xt3r@lemmy.nzM
        link
        fedilink
        arrow-up
        1
        ·
        5 months ago

        As for the --apply-live, I use it on occasion but I don’t want to rely on it for system updates (if that’s even possible).

        As I said before, it does work for system updates, the only exception being the kernel. The --apply-live flag was added for that exact reason, to avoid the need for an unnecessary reboot.

    • moreeni
      link
      fedilink
      arrow-up
      1
      ·
      5 months ago

      It’s trivially easy to script such an option

  • Pantherina@feddit.de
    link
    fedilink
    arrow-up
    3
    ·
    5 months ago

    You could change the action of the power button I guess, some dconf stuff?

    #!/bin/bash
    sudo waydroid upgrade
    distrobox upgrade --all
    flatpak update -y
    flatpak cleanup --unused -y
    rpm-ostree update
    shutdown -h now
    

    On KDE this will work too. I simply alias that command to “update” and “upfin” (including the shutdown) but yeah that needs an improvement.