安装 docker,得到:`PreDepends: init-system-helpers (>= 1.54~) but 1.51 is to be install`

Ste*_*art 12 upgrade package-management apt software-installation docker

这些是Docker 的安装说明

设置 GPG 密钥和先决条件后,它基本上包括:

  1. .deb发布页面获取(最新)版本
  2. sudo apt install ./docker-desktop-<version>-<arch>.deb

我收到以下错误:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'docker-desktop' instead of './docker-desktop-4.8.1-amd64.deb'
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-desktop : PreDepends: init-system-helpers (>= 1.54~) but 1.51 is to be installed
E: Unable to correct problems, you have held broken packages.
Run Code Online (Sandbox Code Playgroud)

但如果我尝试的sudo apt upgrade init-system-helpers话我得到:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
init-system-helpers is already the newest version (1.51).
Run Code Online (Sandbox Code Playgroud)

安装 Docker 可以解决这个问题吗?

Ste*_*art 20

经过一番谷歌搜索后,这个解决方案被证明是有用的:

  1. wget http://ftp.kr.debian.org/debian/pool/main/i/init-system-helpers/init-system-helpers_1.60_all.deb
  2. sudo apt install ./init-system-helpers_1.60_all.deb
  3. 最后sudo apt install ./docker-desktop-4.8.1-amd64.deb

  • 恕我直言,这不是一个解决方案。一个解决方案是,如果 docker 的维护者正确地完成了他们的工作,并且如果他们声明仍然支持 Ubuntu 18 LTS,则构建一个包,这实际上取决于他们假装支持的 LTS 版本的最新_provided_版​​本。手动安装较新的版本只是一种解决方法,在企业环境中,大多数情况下甚至不可能。 (2认同)
  • @UniversE 是的,你是对的。更好的做法是说,“好吧,那是 Docker 男孩们的事了”,然后带着一种失败的感觉坐在那里,直到其他人修复它,因为你知道,这“不是一个解决方案”。 (2认同)

Uni*_*rsE 1

虽然手动安装更新版本init-system-helpers可能适用于私人安装或作为临时解决方法,但更稳定的解决方案似乎是将 Ubuntu 版本至少升级到 Focal,并希望 docker 人员不会提高依赖性这么快又来了。

由于各种其他原因,这可能也很困难,但这里的关键见解似乎是 Docker - 尽管在其文档中另有说明 - 不支持Bionic(至少docker-desktop不支持,对于 docker 的其他部分来说情况可能有所不同) )。