我最喜欢的网络浏览器依赖于 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
- 在临时文件夹中打开终端。使用
dpkg-deb -x /path/to/deb/file .
- 打开 control.tar.gz。导航至
./control
- 将具有依赖关系的行从 更改
libcurl3
为libcurl3 | libcurl4
- 跑步
dpkg-deb -b . name-of-new-deb-file.deb
- 现在运行
dpkg-deb -e path-to-deb-file-crated-in-step-4
- 使用临时文件夹作为根文件夹安装包。
- 用红色小石头做五角星。满月时,用刀子献祭一只身上有 666 处刺的山羊,同时对着月亮大喊“SUDO”。
- 以 root 身份启动文件浏览器,并将所有文件夹和文件从临时文件夹复制到真实文件夹(
temporary_folder/usr
到/usr
,temporary_folder/bin
到/bin
.etc) - 全部完成,程序已安装。
我确定其中一个步骤是不必要的,但我不知道哪一个。
答案3
这是一个符合您的理由的替代方案,但实际上并不同时在您的系统中包含 libcurl3 和 libcurl4。
我建议在你的系统中为你的主要应用程序安装 libcurl4,希望它能提供更好的安全性,并快速添加 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")