【问题标题】:How to Install mongod with libcurl4?如何使用 libcurl4 安装 mongodb?
【发布时间】:2021-07-21 22:31:57
【问题描述】:

Debian10 升级到 libcurl4 导致安装 mongo 服务器失败。是否可以使用 libcurl4 运行 mongod?

在执行 mongod 二进制文件时,我得到 /usr/bin/mongod: /usr/lib/x86_64-linux-gnu/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by /usr/bin/mongod) .

在尝试安装 libcurl3 时,我收到 libcurl4 替换它的消息。

【问题讨论】:

  • 到目前为止,这是我找到的最有希望的解决方案,但我不太愿意为此添加 PPA:askubuntu.com/questions/1061431/…
  • 可以简单地使用为 ubuntu 构建的 deb 文件,而不是为 Debian 构建的 deb 文件。
  • 不。同样的问题。
  • 这解决了我在 Ubuntu 18.04(也基于 Debian)上的问题。 askubuntu.com/a/1110328

标签: mongodb debian


【解决方案1】:

解决库依赖问题的另一种方法是使用 docker 容器。

例如,在这种情况下,一旦安装了 docker-ce,您就可以运行如下内容:

docker run -d --name mongo-4.0.9  -p 127.0.0.1:27017:27017  --restart unless-stopped -v /var/lib/mongodb:/data/db mongo:4.0.9 

这样,你就不会依赖你的系统依赖。

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    这个问题已经过时了。现在有 Debian10 版本可用。

    (旧答案) 现在,只需使用为 Ubuntu 18.4 构建的版本 访问https://www.mongodb.com/try/download/community 并下载 Ubuntu 18.4 版本。 Ubuntu 基于 Debian 测试,因此使用该版本应该没有问题。 Mongo 可能会很快更新他们的 Debian 版本。然后你可以安装Debian10

    同一链接中已有 Debian 10 版本。

    下载后可以使用这个命令安装(前提是你的shell和下载的包在同一个文件夹下):

    sudo dpkg -i mongodb-org-server*.deb
    

    【讨论】:

    • 只需将“server”替换为“shell”即可下载 MongoDB Shell :)
    • 链接已损坏。另外,你能添加一些分步说明吗?
    • 现在有一个 debian10 版本可用。不再需要使用 Ubuntu 18.4 版本。添加了关于安装下载的 debian 包的说明。
    【解决方案3】:

    在我遵循 MongoDB 官方文档在新的 Debian 机器上设置旧的 Mongodb 版本 (4.0) 之后,我在 2021 年 7 月在 Debian 10 (Buster) 上收到了同样的问题。

    执行这些步骤后,您将同时安装 licurl3 和 libcurl4。到目前为止,我还没有发现任何损坏的依赖项。

    root@mongo21-1 ➜  sources.list.d  cat <<EOF > /etc/apt/sources.list.d/mongodb_org_deb.list
    deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main
    EOF
    
    
    root@mongo21-1 ➜  sources.list.d  apt update
    
    
    
    root@mongo21-1 ➜  sources.list.d  apt install -y mongodb-org-server
    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:
     mongodb-org-server : Depends: libcurl3 (>= 7.16.2) but it is not installable
    E: Unable to correct problems, you have held broken packages.
    
    
    

    所以问题是 Mongo 明确需要 libcurl3,但在最新的 Debian 10 版本中不再支持它。但是,您可以执行以下操作:

    root@ecollect-mongo21-1 ➜  sources.list.d  cat <<EOF > /etc/apt/sources.list.d/oldstable.list
    deb http://security.debian.org/ oldstable/updates main
    EOF
    
    root@mongo21-1 ➜  sources.list.d  apt update
    
    root@mongo21-1 ➜  sources.list.d  apt install -y libcurl3/oldstable
    
    root@mongo21-1 ➜  sources.list.d  apt install -y mongodb-org-server
    
    

    像魅力一样工作!

    编辑:这里有一些自动化的任务:

    ---
    
      - name: Ensure deb keyring for mongodb
        apt_key:
          state: present
          url: https://www.mongodb.org/static/pgp/server-4.0.asc
    
    
    
    
    
      - name: Ensure mongodb deb source
        apt_repository:
          filename: /etc/apt/sources.list.d/repo-mongodb_org-debian-apt
          state: present
          repo: "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main"
    
    
    
    
      - name: Ensure libcurl3 source
        apt_repository:
          filename: /etc/apt/sources.list.d/oldstable.list
          state: present
          repo: "deb http://security.debian.org/ oldstable/updates main"
    
    
    
    
    
      - name: Install packages - mongodb-org-server
        apt:
          name: mongodb-org-server
          state: present
    
    
      - name: Install packages - mongodb-org-shell
        apt:
          name: mongodb-org-shell
          state: present
    
    
      - name: Install packages - mongodb-org-tools
        apt:
          name: mongodb-org-tools
          state: present
    
    
    
    
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-25
      • 2019-04-10
      相关资源
      最近更新 更多