Ubuntu - I am what I am because of who we all are


Phased updates

What are phased updates ?
It's a safety process which makes a new version of a package available only to a fraction of users so that, should there be a problem, it will not hit everybody.
How does it work ?
  1. When a new version of a package is released, initially only 10% of users can get it.
  2. In case of a regression, this percentage is set to 0% to stop its deployment.
  3. On the other hand, if the package has no bug, the percentage is increased by 10% every 6 hours. As a result, every released package is made available to everybody within 54 hours.
What should I do when I see The following packages have been kept back: ?
This is not an error : nothing's broken. Just be patient : packages will be available for install in about 2 days.
Why are apt's messages regarding phased updates so unclear?
This is an issue Ubuntu developers are working on. Scroll a little bit to a detailed answer.
Can I disable phased updates ?
This is just an apt setting away, so you can. But you shouldn't : disabling this means clicking on .
How can I have details about the progress of phased updates ?
  • Global status : Phasing Ubuntu Stable Release Updates
  • For a single package :
    apt-cache policy gstreamer1.0-pipewire
      Installed: 0.3.48-1ubuntu3
      Candidate: 0.3.48-1ubuntu3
      Version table:
     *** 0.3.48-1ubuntu3 500 (phased 40%)
            500 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages
            100 /var/lib/dpkg/status
         0.3.48-1ubuntu1 500
            500 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages
    Retry this in a few hours and see the percentage increase.
  • For all packages :
    • count packages in every update step (source) :
      apt show -a $(apt list --upgradable 2>&1 | grep / | cut -d/ -f1) 2>&1 | grep Phased | sort -n | uniq -c
      	3 Phased-Update-Percentage: 0			looks like phased updates just saved my life ?
      	1 Phased-Update-Percentage: 50
    • list packages and their Phased-Update-Percentage :
      apt show -a $(apt list --upgradable 2>&1 | grep / | cut -d/ -f1) 2>&1 | awk '/^Package:/ { packageName=$2 } /^Phased-Update-Percentage:/ { print packageName" "$2"%" }' | sort -k2 -n | column -t