通过Ubuntu Docker安装google-chrome-stable时的依赖性问题

nqwrtyyt  于 2023-02-10  发布在  Go
关注(0)|答案(1)|浏览(780)

我有一个Dockerfile,它试图在Ubuntu(我想是v16 Xenial)的其他包中安装google-chrome-stable包,作为Gitlab管道步骤的一部分。我一直没有遇到任何问题,直到最近,当这个步骤开始失败时,出现了这个问题:

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:
 google-chrome-stable : Depends: libu2f-udev but it is not installable
E: Unable to correct problems, you have held broken packages.

看起来libu2f-udev最近变成了depends而不是recommends-但我不知道如何解决这个问题。

FROM -.dkr.ecr.us-east-1.amazonaws.com/ubuntu:xenial

EXPOSE 9222

# Install ubuntu dependencies
RUN apt-get update && \
  apt-get -y upgrade && \
  apt-get install -yq curl libgconf-2-4

# Install Google Chrome Stable
RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
  apt-get install -y wget gnupg && \
  echo 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb stable main' >> /etc/apt/sources.list.d/google-chrome.list && \
  apt-get update && \
  apt-get install -y  --no-install-recommends \
  google-chrome-stable \
  fonts-ipafont-gothic \
  fonts-wqy-zenhei \
  fonts-thai-tlwg \
  fonts-kacst ttf-freefont && \
  rm -fr /var/lib/apt/lists/* && \
  apt-get purge --auto-remove -y curl && \
  rm -fr /src/*.deb

我认为安装前的apt-get update可以修复这个问题,但事实并非如此。任何帮助都将不胜感激,谢谢!
编辑:另外,我知道Ubuntu 16不再接受标准支持(这是我使用的一个相当老的服务),如果升级到v18或更高版本会有所帮助,这也是很好的了解

vs3odd8k

vs3odd8k1#

创建一个提供libu 2f-udev的虚拟包可以解决这个问题。我在Ubuntu 16.04中遵循了以下步骤。

sudo apt install equivs
equivs-control libu2f-udev

这将创建一个文件libu 2f-udev。编辑此文件并给予libu 2f-udev作为“Package”和“Provides”键的值。

equivs-build libu2f-udev

这将创建虚拟包libu 2f-udev_1.0_all.deb.

sudo dpkg -i libu2f-udev_1.0_all.deb

一切就绪。

相关问题