I'm trying to upgrade 22 LTS to 24 LTS by running sudo do-release-upgrade -d but I get this message:
Checking for a new Ubuntu release
Please install all available updates for your release before upgrading.
sudo apt list --upgradable output:
Listing... Done
grub-efi-amd64-bin/oldoldstable 2.06-3~deb10u1 amd64 [upgradable from: 2.06-2ubuntu14.4]
libfile-fcntllock-perl/oldoldstable 0.22-3+b5 amd64 [upgradable from: 0.22-3build7]
sudo apt upgrade output:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
Get more security updates through Ubuntu Pro with 'esm-apps' enabled:
python2.7-minimal libheif1 imagemagick libpathplan4 graphviz libavdevice58
libgvpr2 libgvc6 ffmpeg libopenexr25 libpostproc55 libcgraph6
libmagickcore-6.q16-6-extra libcdt5 libavcodec58 libmagickwand-6.q16-6
libavutil56 imagemagick-6.q16 libswscale5 xrdp libmagickcore-6.q16-6
liblab-gamut1 libswresample3 imagemagick-6-common libavformat58 python2.7
libde265-0 libpython2.7-minimal libpython2.7-stdlib libavfilter7
Learn more about Ubuntu Pro at https://ubuntu.com/pro
The following packages have been kept back:
grub-efi-amd64-bin libfile-fcntllock-perl
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
sudo apt upgrade grub-efi-amd64-bin libfile-fcntllock-perl output:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libfile-fcntllock-perl : Depends: perlapi-5.28.0
shim-signed : Depends: grub-efi-amd64-signed (>= 1.187.2~) but it is not going to be installed or
grub-efi-arm64-signed (>= 1.187.2~) but it is not installable
A bit of searching revealed that perlapi is (it appears) included in perl-base.
So next is: sudo apt install perl-base=5.28.0:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package perl-base is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
perl-modules-5.28 libperl5.28 perl:i386 libperl5.34:i386 perl-modules-5.34 perl libperl5.34
sudo apt install perl-modules-5.28 libperl5.28 output:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
libperl5.28 perl-modules-5.28
0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
Need to get 6,768 kB of archives.
After this operation, 46.2 MB of additional disk space will be used.
Get:1 http://ftp.us.debian.org/debian buster/main amd64 perl-modules-5.28 all 5.28.1-6+deb10u1 [2,873 kB]
Get:2 http://ftp.us.debian.org/debian buster/main amd64 libperl5.28 amd64 5.28.1-6+deb10u1 [3,894 kB]
Fetched 6,768 kB in 3s (2,664 kB/s)
Selecting previously unselected package perl-modules-5.28.
dpkg: warning: files list file for package 'grub-efi-amd64-signed' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'grub2-common' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'grub-pc-bin' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'grub-pc' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'grub-common' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'grub-gfxpayload-lists' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'grub-efi-amd64-bin' missing; assuming package has no files currently installed
(Reading database ... 415876 files and directories currently installed.)
Preparing to unpack .../perl-modules-5.28_5.28.1-6+deb10u1_all.deb ...
Unpacking perl-modules-5.28 (5.28.1-6+deb10u1) ...
Selecting previously unselected package libperl5.28:amd64.
Preparing to unpack .../libperl5.28_5.28.1-6+deb10u1_amd64.deb ...
Unpacking libperl5.28:amd64 (5.28.1-6+deb10u1) ...
Setting up perl-modules-5.28 (5.28.1-6+deb10u1) ...
Setting up libperl5.28:amd64 (5.28.1-6+deb10u1) ...
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for libc-bin (2.35-0ubuntu3.8) ...
So I try: sudo apt upgrade libfile-fcntllock-perl to fix the held back packages one at a time and get:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libfile-fcntllock-perl : Depends: perlapi-5.28.0
E: Broken packages`
Following the link provided on the aforementioned search I see that there is no 5.28 package listed.
So I'm feeling kind of stuck. Any suggestions are gratefully received.
EDIT #1
Thanks karel, I followed the instructions on How do I restore the default repositories? but am having an issue and am seeing references to Debian sources after running sudo apt --fix-broken install:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Correcting dependencies... Done
The following package was automatically installed and is no longer required:
libodbccr2
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
libodbc1 odbcinst odbcinst1debian2
Suggested packages:
msodbcsql17 unixodbc-bin
The following NEW packages will be installed:
libodbc1 odbcinst odbcinst1debian2
0 upgraded, 3 newly installed, 0 to remove and 2 not upgraded.
3 not fully installed or removed.
Need to get 0 B/607 kB of archives.
After this operation, 945 kB of additional disk space will be used.
Do you want to continue? [Y/n]
dpkg: warning: files list file for package 'grub-efi-amd64-signed' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'grub2-common' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'grub-pc-bin' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'grub-pc' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'grub-common' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'grub-gfxpayload-lists' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'grub-efi-amd64-bin' missing; assuming package has no files currently installed
(Reading database ... 417757 files and directories currently installed.)
Preparing to unpack .../odbcinst_2.3.11-1_amd64.deb ...
Unpacking odbcinst (2.3.11-1) ...
dpkg: error processing archive /var/cache/apt/archives/odbcinst_2.3.11-1_amd64.deb (--unpack):
trying to overwrite '/etc/odbc.ini', which is also in package unixodbc-common 2.3.9-5ubuntu0.1
Preparing to unpack .../odbcinst1debian2_2.3.11-1_amd64.deb ...
Unpacking odbcinst1debian2:amd64 (2.3.11-1) ...
dpkg: error processing archive /var/cache/apt/archives/odbcinst1debian2_2.3.11-1_amd64.deb (--unpack):
trying to overwrite '/usr/lib/x86_64-linux-gnu/libodbcinst.so.2.0.0', which is also in package libodbcinst2:amd64 2.3.9-5ubuntu0.1
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
Preparing to unpack .../libodbc1_2.3.11-1_amd64.deb ...
Unpacking libodbc1:amd64 (2.3.11-1) ...
dpkg: error processing archive /var/cache/apt/archives/libodbc1_2.3.11-1_amd64.deb (--unpack):
trying to overwrite '/usr/lib/x86_64-linux-gnu/libodbc.so.2.0.0', which is also in package libodbc2:amd64 2.3.9-5ubuntu0.1
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/odbcinst_2.3.11-1_amd64.deb
/var/cache/apt/archives/odbcinst1debian2_2.3.11-1_amd64.deb
/var/cache/apt/archives/libodbc1_2.3.11-1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)