TL;DR
Recently, during the normal software upgrade process (i.e., apt upgrade
or apt dist-upgrade
) I started getting messages like this:
[...]
The following packages have been kept back:
[...]
0 upgraded, 0 newly installed, 0 to remove and [...] not upgraded.
What are my options?
Note: This is not a duplicate of the myriad similar questions asked already here. You should consider my question as a follow-up to this question.
I had exactly the same problem on my main Ubuntu 22.04 system as the question mentioned above. I changed servers, tried to manually install the named package, and somehow the problem was solved, yesterday. Today, when I tried to install any new updates, I got the message that I had 32 packages that have been kept back.
I have a similar 22.04 version (virtual) Ubuntu installation, which is fully updated now and this problem does not yet occur there (with a similar /etc/apt/sources.list
file). So, I tried to compare the packages. I took the package gir1.2-gstreamer-1.0
which was "kept back" in my main system as an example and ran on my main system:
$ sudo apt --installed list | grep gir1.2-gstreamer-1.0
[...]
gir1.2-gstreamer-1.0/jammy,now 1.20.1-1 amd64 [installed,upgradable to: 1.20.3-0ubuntu1]
The same command gives the output:
gir1.2-gstreamer-1.0/jammy,now 1.20.1-1 amd64 [installed,automatic]
on my secondary (virtual) system.
Why do we have this difference? And, how can I make my main system behave as the (virtual) system where the package is installed "automatic"ally?
The output of the command apt-cache policy gir1.2-gstreamer-1.0
on my "main" system is like this:
gir1.2-gstreamer-1.0:
Installed: 1.20.1-1
Candidate: 1.20.3-0ubuntu1
Version table:
1.20.3-0ubuntu1 500 (phased 30%)
500 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages
*** 1.20.1-1 500
500 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages
100 /var/lib/dpkg/status
And on my "secondary" (virtual) system is like this:
gir1.2-gstreamer-1.0:
Installed: 1.20.1-1
Candidate: 1.20.1-1
Version table:
1.20.3-0ubuntu1 1 (phased 30%)
500 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages
*** 1.20.1-1 500
500 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages
100 /var/lib/dpkg/status
What does the value 500
(in the (phased...
line) mean?
On both systems grep -ri phased /etc/apt
returns nothing.
After the command sudo apt update && sudo apt upgrade gir1.2-gstreamer-1.0
was executed on my main system:
$ sudo apt --installed list | grep gir1.2-gstreamer-1.0
[...]
gir1.2-gstreamer-1.0/jammy-updates,now 1.20.3-0ubuntu1 amd64 [installed]
$ apt-cache policy gir1.2-gstreamer-1.0
gir1.2-gstreamer-1.0:
Installed: 1.20.3-0ubuntu1
Candidate: 1.20.3-0ubuntu1
Version table:
*** 1.20.3-0ubuntu1 500 (phased 40%)
500 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages
100 /var/lib/dpkg/status
1.20.1-1 500
500 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages
Now, on my secondary system I started getting this too:
$ sudo apt upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
language-pack-gnome-en
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
apt-cache policy gir1.2-gstreamer-1.0
on both system. – nobody Jul 29 '22 at 11:32sudo apt update && sudo apt upgrade gir1.2-gstreamer-1.0
on your main system please. – nobody Jul 29 '22 at 15:50