Score:2

can't upgrade because of "grub-efi-amd64 : Dépend: grub-efi-amd64-bin (= 2.04-1ubuntu44)"

ni flag

My system is a Ubuntu 20.4 server install with webmin installed for the management, Icinga for supervision of problem, postfix, nodejs, apache, etc. Normally, upgrades are done automatically, but since Jun 4, apt is failing with the following error:

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Vous pouvez lancer « apt --fix-broken install » pour corriger ces problèmes.
Les paquets suivants contiennent des dépendances non satisfaites :
 grub-efi-amd64 : Dépend: grub-efi-amd64-bin (= 2.04-1ubuntu44)
E: Dépendances non satisfaites. Essayez « apt --fix-broken install » sans paquet
   (ou indiquez une solution).

So I tried apt --fix-broken install which returned

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Correction des dépendances... Fait
Les paquets supplémentaires suivants seront installés : 
  grub-efi-amd64
Les paquets suivants seront mis à jour :
  grub-efi-amd64
1 mis à jour, 0 nouvellement installés, 0 à enlever et 64 non mis à jour.
Il est nécessaire de prendre 0 o/47,3 ko dans les archives.
Après cette opération, 7.168 o d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] O
Préconfiguration des paquets...
(Lecture de la base de données... 259242 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../grub-efi-amd64_2.04-1ubuntu44.1.2_amd64.deb ...
Dépaquetage de grub-efi-amd64 (2.04-1ubuntu44.1.2) sur (2.04-1ubuntu44) ...
dpkg: erreur de traitement de l'archive /var/cache/apt/archives/grub-efi-amd64_2.04-1ubuntu44.1.2_amd64.deb (--unpack) :
 tentative de remplacement de « /etc/kernel/postinst.d/zz-update-grub », qui appartient aussi au paquet grub2-common 2.02+dfsg1-20+deb10u4
Des erreurs ont été rencontrées pendant l'exécution :
 /var/cache/apt/archives/grub-efi-amd64_2.04-1ubuntu44.1.2_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

any tentative of apt autoremove, apt --only-upgrade install grub-efi-amd64, apt install --reinstall grub-efi-amd64 end up with the same errors.

Reading multiple post on the web (and on this site) refers to the conflicting package, grub2-common in my case, and to remove it then run apt install -f. But the package grub2-efi-amd64 depends on that package, and I'm a bit scared of removing this and end up with a non booting system.

I would need a confirmation of this "solution" before I try it to avoid having to reinstall my whole system as it took me a few weeks to install and configure it correctly the first time.

running apt-cache policy grub-efi-amd64 return the following:

grub-efi-amd64:
  Installé : 2.04-1ubuntu44
  Candidat : 2.04-1ubuntu44.1.2
 Table de version :
     2.04-1ubuntu44.1.2 500
        500 http://be.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages
 *** 2.04-1ubuntu44 100
        100 /var/lib/dpkg/status
     2.02+dfsg1-20+deb10u4 500
        500 http://ftp.de.debian.org/debian buster/main amd64 Packages
     2.02-2ubuntu8 500
        500 http://be.archive.ubuntu.com/ubuntu bionic/main amd64 Packages

the list of repository: more /etc/apt/sources.list

deb http://be.archive.ubuntu.com/ubuntu/ bionic main restricted
deb http://be.archive.ubuntu.com/ubuntu/ bionic-updates main restricted
deb http://be.archive.ubuntu.com/ubuntu/ bionic universe
deb http://be.archive.ubuntu.com/ubuntu/ bionic-updates universe
deb http://be.archive.ubuntu.com/ubuntu/ bionic multiverse
deb http://be.archive.ubuntu.com/ubuntu/ bionic-updates multiverse
deb http://be.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu bionic-security main restricted
deb http://security.ubuntu.com/ubuntu bionic-security universe
deb http://security.ubuntu.com/ubuntu bionic-security multiverse

more /etc/apt/sources.list.d/*

::::::::::::::
/etc/apt/sources.list.d/bionic-icinga.list
::::::::::::::
deb http://packages.icinga.com/ubuntu icinga-bionic main

::::::::::::::
/etc/apt/sources.list.d/nodesource.list
::::::::::::::
deb https://deb.nodesource.com/node_14.x buster main
deb-src https://deb.nodesource.com/node_14.x buster main
::::::::::::::
/etc/apt/sources.list.d/nonfree.list
::::::::::::::
deb http://ftp.de.debian.org/debian/ buster main non-free
::::::::::::::
/etc/apt/sources.list.d/tk-main-xenial.list
::::::::::::::
deb http://archive.thomas-krenn.com/packages xenial main
::::::::::::::
/etc/apt/sources.list.d/tk-optional-xenial.list
::::::::::::::
deb http://archive.thomas-krenn.com/packages xenial optional
::::::::::::::
/etc/apt/sources.list.d/webmin.list
::::::::::::::
deb http://download.webmin.com/download/repository sarge contrib

A strange thing I found that could maybe be a reason of the problem is that my system is not being referenced as Ubuntu but debian(had to add the debian repo to install a version of node):

o LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 10 (buster)
Release:        10
Codename:       buster

The problem is that due to this problem, I can't install any update anymore. Thanks for any confirmation/help you could provide,

Yoann.

Yoann avatar
ni flag
I read the proposed post, but I need confirmation that I can safely remove grub2-common and the packages that depends on it like grub2-efi-amd64, I'm afraid this could broke the system and prevent future boot of the machine.
Yoann avatar
ni flag
No one to help or advise?
mx flag
See also https://askubuntu.com/questions/1337637/
Score:1
ca flag

Just had exactly the same problem on a current Linux Mint and ran into your question whilse searching for a solution. In the end the solution was this:

apt download grub-efi-amd64
apt download grub-efi-amd64-bin
sudo dpkg -i --force-overwrite grub-efi-amd64-bin_2.04-1ubuntu44.1.2_amd64.deb 
sudo dpkg -i --force-overwrite grub-efi-amd64_2.04-1ubuntu44.1.2_amd64.deb
sudo apt install -f 

This manually downloads the conflicting package and its requirements and forces an overwrite during the installation.

I made a backup of the conflicting file /etc/kernel/postinst.d/zz-update-grub beforehand and ran diff and md5sum on the old and new versions. They are the same file.

Yoann avatar
ni flag
Thanks a lot @Asgatoril. This did solve the problem. I'll take note of this and keep it safe should I face such a problem again.
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.