`apt get install librdkafka1`在debian 9.x上由于libssl依赖而失败

qnzebej0  于 2021-06-08  发布在  Kafka
关注(0)|答案(3)|浏览(639)

基本 apt-get install librdkafka1 在Debian8.x上工作,但在Debian9.x上失败。这看起来像是关于libssl的依赖版本问题。Debian8.x有libssl1.0.0,Debian9.x有libssl1.0.2和libssl1.1,但没有libssl1.0.0,这个版本的bump只会导致librdkafka1安装中断。
这在最新的docker debian 9官方图片上很容易复制:

docker pull debian:9
docker run --rm -it debian:9

然后在虚拟机中

cat /etc/debian_version

# 9.4

apt-get update

# Get basics to setup Confluent repository

apt-get install -y wget gnupg2 software-properties-common libssl1.0.2

wget -qO - http://packages.confluent.io/deb/4.1/archive.key | apt-key add -
add-apt-repository "deb [arch=amd64] http://packages.confluent.io/deb/4.1 stable main"
apt-get update
``` `apt-cache policy libssl1.0.2` 结果:

libssl1.0.2:
Installed: 1.0.2l-2+deb9u3
Candidate: 1.0.2l-2+deb9u3
Version table:

***1.0.2l-2+deb9u3 500

    500 http://security.debian.org/debian-security stretch/updates/main amd64 Packages
    100 /var/lib/dpkg/status
 1.0.2l-2+deb9u2 500
    500 http://deb.debian.org/debian stretch/main amd64 Packages

``` apt-cache policy librdkafka1 结果:

librdkafka1:
  Installed: (none)
  Candidate: 0.11.4~1confluent4.1.0-1
  Version table:
     0.11.4~1confluent4.1.0-1 500
        500 http://packages.confluent.io/deb/4.1 stable/main amd64 Packages
     0.9.3-1 500
        500 http://deb.debian.org/debian stretch/main amd64 Packages

以及 apt-get install librdkafka1 结果:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
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:
 librdkafka1 : Depends: libssl1.0.0 (>= 1.0.0) but it is not installable
E: Unable to correct problems, you have held broken packages.
``` `apt-cache search libssl` 产生以下结果。请注意,有一个 `libssl1.0.2` 以及 `libssl1.1` 但是没有 `libssl1.0.0` ```
libssl-ocaml - OCaml bindings for OpenSSL (runtime)
libssl-ocaml-dev - OCaml bindings for OpenSSL
libssl-dev - Secure Sockets Layer toolkit - development files
libssl-doc - Secure Sockets Layer toolkit - development documentation
libssl1.1 - Secure Sockets Layer toolkit - shared libraries
libssl1.0-dev - Secure Sockets Layer toolkit - development files
libssl1.0.2 - Secure Sockets Layer toolkit - shared libraries

更新:这个问题在Confluent4.1、librdkafka0.11.4和Debian9.4中仍然存在。

ztigrdn8

ztigrdn81#

仅供参考,librdkafka的主要维护者edenhill在评论中回答了这个问题:
confluent还没有为Debian9提供librdkafka包,但很快就会提供。在此之前,我建议您从源代码构建librdkafka,或者检查标准debian包(很可能会有旧版本的librdkafka)
librdkafka根本不支持debian9。在汇合平台4.1中仍然如此。debian 9仍然没有得到confluent平台的官方支持:https://docs.confluent.io/current/installation/installing_cp.html

tcbh2hod

tcbh2hod2#

我认为你的报告有错误 apt 消息来源。
正如日志所说,存储库 packages.confluent.io 正在使用debian的存储库并提出一个新版本。
您可以使用 apt show python-kafka 或者从缓存中 apt-cache show python-kafka 是吗 dist-upgradeJessieStretch ?

6xfqseft

6xfqseft3#

librdkafka1 已添加到拉伸后端口:
https://packages.debian.org/stretch-backports/librdkafka1
要安装:

add-apt-repository "deb http://deb.debian.org/debian stretch-backports main contrib non-free"
apt-get update
apt-get install librdkafka1/stretch-backports

的版本 librdkafka1 在官方的合流回购不支持Debian9。从confluent 5.0开始,confluent平台本身并不正式支持debian 9:https://docs.confluent.io/current/installation/system-requirements.html#system-要求

相关问题