如何同时安装 libcurl3 和 libcurl4?

如何同时安装 libcurl3 和 libcurl4?

我最喜欢的网络浏览器依赖于 libcurl3(Opera 36.0),但许多应用程序都依赖于 libcurl4,包括 PlayOnLinux 或 Steam 客户端。安装 PlayOnLinux 或 Steam 会很好,但我不会放弃我最喜欢的网络浏览器。有人知道如何同时安装它们吗?我在某处读到 libcurl4 基于 libcurl3,所以我不知道为什么它们总是互相卸载。

答案1

最终,我找到了更好的通用解决方案。互联网上的一个人创建了支持 CURL3 和 CURL4 的 CURL 版本。可通过 PPA 获取。到目前为止,它运行良好。不幸的是,尽管这个版本的 CURL 解决了所有 Ubuntu 用户都普遍存在的问题,但我确信它并不出名。所以,我不得不请求以你喜欢或喜欢的任何形式分享这些知识

https://launchpad.net/~xapienz/+archive/ubuntu/curl34

编辑:如果由于 Ubuntu 规范版本优先而无法安装,请首先检查版本号,如下所示:

$ apt-cache policy libcurl4
libcurl4:
  Installed: 7.68.0-1ubuntu2.7
  Candidate: 7.68.0-1ubuntu2.7
  Version table:
 *** 7.68.0-1ubuntu2.7 500
        500 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
        500 http://us.archive.ubuntu.com/ubuntu focal-security/main amd64 Packages
        100 /var/lib/dpkg/status
     7.68.0-1ubuntu2.5ppa1 500
        500 http://ppa.launchpad.net/xapienz/curl34/ubuntu focal/main amd64 Packages
     7.68.0-1ubuntu2 500
        500 http://us.archive.ubuntu.com/ubuntu focal/main amd64 Packages

然后像这样安装特定版本:

$ sudo apt install libcurl4=7.68.0-1ubuntu2.5ppa1

答案2

看来我完全想多了。我执行了几个步骤,它成功了!谢谢@guiverc,你的“这是一种替代方案”让我想到强制程序接受 libcurl3或者libcurl4

  1. 在临时文件夹中打开终端。使用dpkg-deb -x /path/to/deb/file .
  2. 打开 control.tar.gz。导航至./control
  3. 将具有依赖关系的行从 更改libcurl3libcurl3 | libcurl4
  4. 跑步dpkg-deb -b . name-of-new-deb-file.deb
  5. 现在运行dpkg-deb -e path-to-deb-file-crated-in-step-4
  6. 使用临时文件夹作为根文件夹安装包。
  7. 用红色小石头做五角星。满月时,用刀子献祭一只身上有 666 处刺的山羊,同时对着月亮大喊“SUDO”。
  8. 以 root 身份启动文件浏览器,并将所有文件夹和文件从临时文件夹复制到真实文件夹(temporary_folder/usr/usrtemporary_folder/bin/bin.etc)
  9. 全部完成,程序已安装。

我确定其中一个步骤是不必要的,但我不知道哪一个。

答案3

这是一个符合您的理由的替代方案,但实际上并不同时在您的系统中包含 libcurl3 和 libcurl4。

我建议在你的系统中为你的主要应用程序安装 libcurl4,希望它能提供更好的安全性,并快速添加 Opera 浏览器

https://snapcraft.io/opera

Snap 将所需的库包含在 snap 本身中(即自包含),从而避免了您询问的问题。因此,libcurl3 将包含在包含您的 opera 浏览器的 snap 中,并且不会影响任何其他需要 libcurl4 的软件。这是一个快速的解决方法 :)

答案4

正如@vsnicolas 回答的那样,我从 2018.04 升级到 2020.04 时遇到了这个问题。

对于 R,我还必须重新安装 curl

sudo add-apt-repository ppa:xapienz/curl34
sudo apt-get update

然后在 R 中

remove.packages("curl")
install.packages("curl")

相关内容