无法安装 Debian 软件包

无法安装 Debian 软件包

我正在运行 Docker 容器,但在安装软件包时遇到问题。经过几个小时的谷歌搜索后,我尝试了各种方法来解决该问题,但似乎没有任何效果。我对 Linux 的了解还不够,无法找出问题所在。

具体来说,我正在尝试使用php-commonapt-get 安装该软件包,并且不断收到E: Package 'php-common' has no installation candidate响应。我尝试安装的许多软件包都会出现此响应,但我不知道为什么。

Docker 镜像我使用的是官方 php 镜像php7.1-apache,基于 Debian 10 (Buster)。

运行uname -a打印:Linux 1fa97a139193 4.9.184-linuxkit #1 SMP Tue Jul 2 22:58:16 UTC 2019 x86_64 GNU/Linux

这是我的文件的内容/etc/apt/sources.list

# deb http://snapshot.debian.org/archive/debian/20190910T000000Z buster main
deb http://deb.debian.org/debian buster main
# deb http://snapshot.debian.org/archive/debian-security/20190910T000000Z buster/updates main
deb http://security.debian.org/debian-security buster/updates main
# deb http://snapshot.debian.org/archive/debian/20190910T000000Z buster-updates main
deb http://deb.debian.org/debian buster-updates main

输出cat /etc/os-release

PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

输出cat /etc/issue

Debian GNU/Linux 10 \n \l

答案1

我不知道该php7.1-apache图像托管在哪里,因此无法检查;但我怀疑您的问题源于这样一个事实:大多数基于 Debian 的映像都没有存储库索引,因此apt-get install最初无法工作。

使用此类容器时的第一步是运行apt-get update.一旦完成,apt-get install应该可以工作,假设您想要的包在配置的存储库中可用。

关于您的sources.list,如果您尝试从 Debian 10 安装软件包,我强烈建议您从基于 Debian 10 的映像开始,而不是基于旧版本的映像。你可以从debian:10...开始

答案2

这是故意的,如中所述“E:软件包‘php-XXX’没有安装候选”

恰当的解决此错误的方法是FROM debian:XXX直接使用并安装 Debian 的 PHP 软件包,或者使用docker-php-ext-installpecl和/或phpize安装必要的附加扩展和实用程序。

相关内容