Answers:
我假设您希望使用旧库运行特定的可执行文件。我们称之为可执行文件myprogram
。
例如,如果放置libicuuc.so.55
在其他目录中,/opt/oldlibs/libicuuc.so.55
则可以myprogram
通过以下命令来指示使用旧库:
LD_LIBRARY_PATH=/opt/oldlibs myprogram
可以从包文件中提取库文件(您可能在中找到/var/cache/pacman/pkg
)。
如果这不能解决您打算如何使用该应用程序的问题,则可以考虑在chroot或容器中运行它。
/opt/oldlibs/
了/etc/ld.so.conf.d/R.conf
。(该R.conf
文件已经存在,其中包含R
的标准lib路径。)
我对Arch Linux的经验
systemctl start mongodb给进程启动错误
我只是点击 journalctl -xe来检查当前日志
它显示缺少libboost_system.so.1.64.1(旧的)
这是一个sumlink我使用解决它
readlink -f /lib/libboost_system.so.1.65.1 (new one)
readlink告诉我symlink指向/usr/lib/libboost_system.so.1.65.1
我从/ var / cache / pacman / pkg中提取boost-libs 1.64并将其所有/ lib文件粘贴到/ usr / lib中,也跳过以覆盖旧文件
这解决了我打破依赖关系的进一步工作,如果不解决,使符号链接丢失像
ln -s /lib/libboost_system.so.1.64.1 /usr/lib/libboost_system.so.1.64.1
经验积累
不要寻找补丁,请始终使用 pacman -Suy && pacman -S package_name安装任何内容。不支持部分更新(对于arch)