可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
im installing docker on my ubuntu machine and im following this tutorial
https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/#extra-steps-for-aufs
when i run sudo apt-get install -y docker-ce
it does not install docker on my machine and giving following error
$ sudo apt-get install -y docker-ce
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-ce : Depends: libseccomp2 (>= 2.3.0) but 2.2.3-3ubuntu3 is to be installed
E: Unable to correct problems, you have held broken packages.
When i run sudo apt-get install libseccomp2, it already installed in my system and still getting same error when i try to install docker on my machine.
Here is the information of my Ubuntu OS
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"
NAME="Ubuntu"
VERSION="16.04.2 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.2 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial
回答1:
I encounter the same problem when installing docker-ce version 18. I won't use aptitude to install the old version because nvidia-docker only supports docker version above 18!
The solution is quite easy:
sudo add-apt-repository ppa:ubuntu-sdk-team/ppa
sudo apt-get update
Then you can use command sudo apt-get install docker-ce
to solve the libseccomp2 version conflict problem.
Reference: https://gist.github.com/mingrui/187f0e629007443268ce8c1414012ed5
回答2:
I had same issue on ubuntu 16. Almost tried all solution.
Following command run for me.
sudo apt install docker.io
But i have noticed that now the latest version are installing using docker-ce. docker.io is older version. But in order to fix the issue you have to find compatible version.
For me the following command is running by specifying version name.
apt install docker-ce=17.12.0~ce-0~ubuntu
The following command will list you available version list you can try one after another from top to bottom.
apt-cache madison docker-ce
Hope this will fix your issue.
回答3:
How are you?
I am in Linux Mint (Ubuntu Xenial).
I had the exact error.
The solution is from here:
https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-docker-ce-1
I think you are required a specific version like this (I choose the xenial
version latest):
patrikx3@workstation:~$ sudo -i
[sudo] password for patrikx3:
root@workstation:~# apt-cache madison docker-ce
docker-ce | 17.12.1~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 17.12.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 17.09.1~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 17.09.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 17.06.2~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 17.06.1~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 17.06.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 17.03.2~ce-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 17.03.1~ce-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 17.03.0~ce-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
root@workstation:~# apt install docker-ce=17.03.2~ce-0~ubuntu-xenial
Reading package lists... Done
Building dependency tree
Reading state information... Done
docker-ce is already the newest version (17.03.2~ce-0~ubuntu-xenial).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@workstation:~#
For the pure ubuntu
was not working.
回答4:
I have same problems on linux mint 18.3
i was install manuall from :
http://launchpadlibrarian.net/344879847/libseccomp2_2.3.1-2.1ubuntu2~16.04.1_amd64.deb
i dont remove old version
after install that libseccomp2 install docker-ce work like acharm.
回答5:
The best solution for me was just add the libseccomp2's repo by myself and update the packaged, then i haven't had to change the steps on the dockers site tutorial
I used the link of the debian's package (https://packages.debian.org/pt-br/sid/libseccomp2)
In my case i needed the 2.4 version, so on the Download section i clicked in the amd64 and follow the instruction to simple add
deb http://ftp.de.debian.org/debian sid main
on the /etc/apt/sources.list
file
After that i ran
$ sudo apt-get install libseccomp2
And the lib was updated and i perfect installed docker
回答6:
I had a similar problem. I got it over using aptitude
instead of apt
:
$ sudo aptitude install docker-ce
Skip any solutions and accept the one where it claims to resolve any conflicting dependencies:
The following actions will resolve these dependencies:
Install the following packages:
1) docker-ce [17.04.0~ce-0~debian-stretch (stretch)]
Accept this solution? [Y/n/q/?] y
Let aptitude
do its work and it should then install docker-ce
.
$ docker --version
Docker version 17.04.0-ce, build 4845c56
回答7:
For Ubuntu 16.04.1 or newer exists libseccomp2 in ver 2.3 in Xenial updates,
to install it check if you have checked:
System settings -> Software & updates -> Updates: Recomended updates
Then:
sudo apt update
sudo apt upgrade
回答8:
I get ubuntu server from our ops, have the same issue
When start to digging appears than in file /etc/apt/sources.list are broken urls to packages repos
in my case it was
deb http://ubuntu-mirror/ubuntu/ xenial universe
after change in each line ubuntu-mirror to de.archive.ubuntu.com
you will get valid /etc/apt/sources.list file with urls
deb http://de.archive.ubuntu.com/ubuntu/ xenial universe
then
sudo apt update
sudo apt upgrade
sudo apt install -y docker-ce
p.s. ops update old 10.04 to 16.04 and repos after update was brokend
回答9:
sudo apt-get install -y libltdl7 libseccomp2
回答10:
I found codersquirrel's answer very helpful.
Just to add to it.
Do the following:
Run the command below to add the libseccomp2 repository:
add-apt-repository "deb http://ftp.de.debian.org/debian sid main"
Update your apt repository:
apt-get update
Install libseccomp2:
apt-get install libseccomp2
That's all.
I hope this helps
回答11:
You can run apt --fix-broken install
with no packages or you can specify it.