文件系统输出ls -lsa /usr/lib/libcurl*

文件系统输出ls -lsa /usr/lib/libcurl*

语境:ArchLinux 包管理器: 吃豆人

运行几乎任何pacman命令都会产生警告:

pacman: /opt/plexmediaserver/libcurl.so.4: no version information available (required by /usr/lib/libalpm.so.10)

我已经看到了解决方案和错误报告,但是在下一个更新出现之前,管理员如何解决这个问题?我听说要学习管理思维过程,而不是寻找极简主义的答案。

  1. 删除符号链接并冒破坏依赖关系的风险?
  2. 安装旧版本并安装了两个版本?
  3. 恢复到旧版本(pacman -U pkgname/var/cache/pacman/pkg/)并将 pkg 名称添加到/etc/pacman.conf?的 IgnPackage 部分
  4. 等待并希望最好的结果?
  5. 还有其他技术吗?

文件系统输出ls -lsa /usr/lib/libcurl*

很明显 libcurl.so.4 -> libcurl.so.4.5.0* 是链接的。

  0 lrwxrwxrwx 1 root root     16 23. Okt 13:27 libcurl.so -> libcurl.so.4.5.0*
  0 lrwxrwxrwx 1 root root     16 23. Okt 13:27 libcurl.so.4 -> libcurl.so.4.5.0*
520 -rwxr-xr-x 1 root root 530656 23. Okt 13:28 libcurl.so.4.5.0*

答案1

当您有一个不工作的 aur 包时,请执行以下步骤:

  • 重建 aur 包,它可能会链接到新版本的库。
  • 如果维护者更新了 PKGBUILD,则更新 aur 包
  • 如果没有帮助,请更新/修复 PKGBUILD
  • 如果失败,请安装旧版本并等待。
  • 如果您需要更新其他软件包,请删除有问题的 aur 软件包。

第一步抓住了 sonamebumps。在其他情况下,您确实应该更新或删除 aur 包。如果有新的 PKGBUILD 可用,您不应该等待。

如果您确实想保留特定版本,只需执行第一步和第三步。

答案2

为了子孙后代,我找到了真正的罪魁祸首。事实是,在写问题时,我误解了这个问题。

解决方案

在一些实验中,我添加了export LD_LIBRARY_PATH=/opt/plexmediaserver我的 bash 配置文件。

我只需要删除它。共享库路径恢复正常 ( /usr/lib),生活也恢复正常。

printenv我通过以正确的用户身份运行来解决这个问题。

相关内容