.png)
Estou tendo problemas para instalar o docker no Ubuntu 20.04.
wolf@linux:~$ sudo apt install docker.io
Reading package lists... Done
Building dependency tree
Reading state information... 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:
docker.io : Depends: containerd (>= 1.2.6-0ubuntu1~)
E: Unable to correct problems, you have held broken packages.
wolf@linux:~$
A mensagem de erro diz que precisocontainerd (>= 1.2.6-0ubuntu1~)
É estranho porque já tenho uma versão ainda mais recente que é1.2.13-2
wolf@linux:~$ dpkg -l containerd.io
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-============-============-======================================
ii containerd.io 1.2.13-2 amd64 An open and reliable container runtime
wolf@linux:~$
O sistema está atualizado. Já executei sudo apt update && sudo apt upgrade
e não é necessária nova atualização.
Atualização conforme solicitado no comentário
wolf@linux:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.1 LTS
Release: 20.04
Codename: focal
wolf@linux:~$
Responder1
containerd
e containerd.io
são 2 pacotes diferentes.
Experimente dpkg -l containerd*
e você verá os dois pacotes.
$ dpkg -l containerd*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-==============-============-======================================
ii containerd 1.3.3-0ubuntu2 amd64 daemon to control runC
rc containerd.io 1.2.13-2 amd64 An open and reliable container runtime
$
Se containerd
não estiver lá, vá em frente e instale-o com sudo apt install containerd
.
Avise-me se isso ajudar.
Responder2
Eu tive o mesmo erro, mas uma situação mais complexa:
~# dpkg -l | grep containerd
ii containerd 1.3.3-0ubuntu2.3 amd64 daemon to control runC
~# apt-get install docker.io
Reading package lists... Done
Building dependency tree
Reading state information... 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:
docker.io : Depends: containerd (>= 1.2.6-0ubuntu1~) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
obviamente, esqueci um aviso claro durante a atualização:
~# apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
bridge-utils cgroupfs-mount dns-root-data dnsmasq-base git git-man iptables libcurl3-gnutls liberror-perl libip6tc2 libnetfilter-conntrack3 libnfnetlink0 libnftnl11 libnghttp2-14 librtmp1 libssh-4 patch pigz ubuntu-fan
Use 'apt autoremove' to remove them.
The following packages will be REMOVED:
docker.io ^^^^^^^ !!!
The following packages will be upgraded:
containerd
1 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
Need to get 27.8 MB of archives.
After this operation, 192 MB disk space will be freed.
Do you want to continue? [Y/n]
Não fui mais fundo, mas existem pacotes mais recentes de segurança, que não se encaixam. Mas não explica porque docker.io
não aceita a containerd
versão instalada 1.3.3-0ubuntu2.3
que na verdade é>= 1.2.6-0ubuntu1~
~# apt-cache policy docker.io containerd
docker.io:
Installed: (none)
Candidate: 19.03.8-0ubuntu1.20.04.1
Version table:
19.03.8-0ubuntu1.20.04.1 500
500 http://ch.archive.ubuntu.com/ubuntu focal-security/universe amd64 Packages
100 /var/lib/dpkg/status
19.03.8-0ubuntu1 500
500 http://ch.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
containerd:
Installed: 1.3.3-0ubuntu2.3
Candidate: 1.3.3-0ubuntu2.3
Version table:
*** 1.3.3-0ubuntu2.3 500
500 http://ch.archive.ubuntu.com/ubuntu focal-security/main amd64 Packages
100 /var/lib/dpkg/status
1.3.3-0ubuntu2 500
500 http://ch.archive.ubuntu.com/ubuntu focal/main amd64 Packages
Gambiarra
Eu poderia corrigir esse problema fazendo downgrade containerd
para o pacote do pool principal e reinstalando docker.io
:
~# apt-get install containerd=1.3.3-0ubuntu2
The following packages will be DOWNGRADED:
containerd
~# apt-get install docker.io
Relatório de erro
Relatório de bug aqui:https://bugs.launchpad.net/ubuntu/+source/docker.io/+bug/1940920