我正在尝试在我的工作站 Ubuntu 14.04 LTS 上安装 Docker,如下所示:https://docs.docker.com/engine/installation/linux/ubuntulinux/
当我做 :
sudo apt-get install linux-image-extra-$(uname -r)
它说“linux-image-extra-3.13.0-39-generic”已经是最新的,但是当我这样做时:
sudo apt-get install linux-image-extra-virtual
上面写着(抱歉,是法语):
Les paquets suivants contiennent des dépendances non satisfaites :
linux-image-extra-virtual : Dépend: linux-image-generic (= 3.13.0.24.28) mais 3.13.0.39.46 devra être installé
E: Impossible de corriger les problèmes, des paquets défectueux sont en mode « garder en l'état ».
谷歌翻译给出:
The following packages contain unsatisfied dependencies:
linux-image-extra-virtual: Depends on: linux-image-generic (= 3.13.0.24.28) but will need to be installed 3.13.0.39.46
E: Unable to correct problems, defective packages are in "keep as is" mode.
编辑2:真正的错误信息是:
E: Unable to correct problems, you have held broken packages
这意味着如果我理解的话,linux-image-generic 不是预期的版本,但由于它处于“保持原样”模式,因此无法升级。
我该怎么做才能从那里安装 Docker?
编辑:安装之前,我已经完成:
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
答案1
好的,我解决了。法语消息是错误的,它不是“但必须安装 3.13.0.39.46”,而是“但已安装 3.13.0.39.46”,因此它要求降级。
当您对 aptitude 执行相同操作时,您会收到正确的消息,它会建议您降级。
答案2
当我尝试在具有“4.4.0-75-generic”内核版本的 Ubuntu 14.04 上安装 docker 时,我解决了一个类似但不相同的错误。
错误信息为:
设置 linux-image-extra-3.13.0-119-generic (3.13.0-119.166) ...
运行部分:执行 /etc/kernel/postinst.d/apt-auto-removal 3.13.0-119-generic /boot/vmlinuz-3.13.0-119-generic
运行部分:执行 /etc/kernel/postinst.d/initramfs-tools 3.13.0-119-generic /boot/vmlinuz-3.13.0-119-generic
update-initramfs:生成 /boot/initrd.img-3.13.0-119-generic
运行部分:执行 /etc/kernel/postinst.d/pm-utils 3.13.0-119-generic /boot/vmlinuz-3.13.0-119-generic
运行部分:执行 /etc/kernel/postinst.d/statoverride 3.13.0-119-generic /boot/vmlinuz-3.13.0-119-generic
dpkg-statoverride:错误:‘/boot/vmlinuz-3.13.0-119-generic’ 的覆盖已存在;中止
run-parts:/etc/kernel/postinst.d/statoverride 退出,返回代码 2 dpkg:处理软件包 linux-image-extra-3.13.0-119-generic 时出错(--configure):
子进程安装后安装脚本返回错误退出状态 1 由于已达到 MaxReports,因此未写入 apport 报告
dpkg:依赖性问题阻止了 linux-image-generic 的配置:linux-image-generic 依赖于 linux-image-extra-3.13.0-119-generic;但是:软件包 linux-image-extra-3.13.0-119-generic 尚未配置。
dpkg:错误处理软件包 linux-image-generic (--configure):依赖性问题 - 未配置
dpkg:依赖性问题阻止了 linux-image-extra-virtual 的配置:linux-image-extra-virtual 依赖于 linux-image-generic(= 3.13.0.119.129);但是:软件包 linux-image-generic 尚未配置。
我的解决方案参考这个答案在#28:
[jeremy@compute]$ su - root [root@compute]# cp /etc/kernel/postinst.d/statoverride ~/ [root@compute]# sed -i '/dpkg-statoverride/s/$/||:/' /etc/kernel/postinst.d/statoverride
希望它对其他遇到这个问题的人有帮助。