在 Debian 10 Buster 中安装 php-db 时出错

在 Debian 10 Buster 中安装 php-db 时出错

我曾尝试在 Debian 10 Buster 中安装 php-db,这是 PandoraFMS 控制台所需的依赖项(我正在安装它),但对我不起作用。

当我尝试安装时,我缺少依赖项:

[...]
dpkg: dependency problems prevent configuration of pandorafms-console:
   pandorafms-console depends on php-db; however:
      Package php-db is not installed.

如果我尝试手动安装 php-db:

# apt install php-db
[...]
Package php-db is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'php-db' has no installation candidate

在packages.debian.org 中我可以搜索该包,我发现:

php-db 包

+ jessie (oldoldstable) (php): PHP PEAR Database Abstraction Layer
  1.7.14-3: all
+ stretch (oldstable) (php): Database Abstraction Layer
  1.9.2-1: all
+ sid (unstable) (php): Database Abstraction Layer
  1.9.2-2: all

有关更多信息,/etc/apt/sources.list 的内容是(省略注释):

deb http://deb.debian.org/debian buster main
deb-src http://deb.debian.org/debian buster main

deb http://security.debian.org/ buster/updates main
deb-src http://security.debian.org/ buster/updates main
deb http://deb.debian.org/debian buster-updates main
deb-src http://deb.debian.org/debian buster-updates main

deb http://deb.debian.org/debian buster-backports main
deb-src http://deb.debian.org/debian buster-backports main

目录 /etc/apt/sources.list.d/ 为空。

我可以做什么?

答案1

正如用户 GAD3R 指出的那样,php-db已被删除由于一个漏洞。这里给出的确切推理:

  • (- 至 1.9.2-2)的迁移状态php-db: 已阻止:被拒绝/违反迁移政策/引入回归

  • 阻碍迁移的问题:

  • 更新php-db引入了新的错误:#889532

  • 不是基于 buildd 构建的:对 sathieu 上传的所有二进制文件进行归档,需要新的仅源上传才能允许迁移

....

但是,您仍然应该能够手动安装它。

从以下位置下载软件包这里,请注意您也安装了依赖项。 ( apt install php-common php-pear) 下载后,您可以dpkg像这样安装它:

dpkg -i php-db_1.9.2-1_all.deb

如果软件包安装成功,您可以使用它apt-mark来确保您的软件包管理器不会删除此软件包。

apt-mark hold php-db

如果所有这些步骤成功完成,您应该能够完成 PandoraFMS 的安装过程。

然而,可以考虑一些替代方案来防止这个问题。是否可以将这项服务容器化?是否可以继续使用 Debian Stretch? (将在 2022 年 EOL LTS 下更新。)

查看错误报告并查看上游是否修复了回归。还可以考虑花时间提交一份错误报告如果将其从存储库中排除是一个错误,请向 Debian 团队报告。

祝你好运!

答案2

我也面临着遗漏包的问题,​​有两种方法可以解决这个问题,

1.您可以下载具体缺少的包。

现在,当我追求真正稳定的系统时,我真的很讨厌这一点。如果您没有完全意识到自己的行为,这可能会破坏您的系统。

2. 您可以添加包含此软件包的最新 Debian 发行版的存储库。

在你的场景中,它说 oldstable 有那个包,

 + stretch (oldstable) (php): Database Abstraction Layer
  1.9.2-1: all

为什么不附加旧的稳定存储库,只需将以下内容添加到您的/etc/apt/sources.list

deb http://deb.debian.org/debian/ oldstable main contrib non-free

然后像常规包一样更新和安装即可。

sudo apt update && sudo apt install php-db && apt-mark hold php-db

但请注意不要添加不稳定或测试存储库。

相关内容