问题:
source 的时候:
flatpak: symbol lookup error: /lib64/libk5crypto.so.3: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b
然后导致 yum 命令直接报错不能用了。
解决方式:
首先我们用ldd 命令
ldd 是一个在 Unix 和类 Unix 系统上用来检查可执行文件或共享库所依赖的共享库的实用程序。你提供的输出是 ldd 命令针对 /lib64/libk5crypto.so.3 这个共享库运行的结果。
ldd /lib64/libk5crypto.so.3
这个输出显示了 /lib64/libk5crypto.so.3 依赖的其他共享库以及它们的位置。从输出中可以看到,libk5crypto.so.3 依赖于多个共享库,如 libkrb5support.so.0、libkeyutils.so.1、libcrypto.so.1.1 等。
上图红框的要注意:
libcrypto.so.1.1 是从 /usr/local/openssl/lib/ 路径加载的,这通常意味着系统上可能安装了多个版本的 OpenSSL,
并且这个特定版本的 libk5crypto 是配置为使用 /usr/local/openssl/lib/ 下的 OpenSSL 库。
当 libcrypto.so.1.1 是从 /usr/local/openssl111/lib/ 路径加载时,这意味着系统上的某个进程或库特别指定了这个非标准路径来获取 OpenSSL 库。
在 Unix 和 Linux 系统中,/usr/local/ 通常是预留给本地管理员安装软件的目录,这些软件不是通过系统的包管理器安装的。
解决方法: 删除 非标准库中的 libcrypto.so.1.1
$ find / -name 'libcrypto.so.1.1'
/usr/lib64/libcrypto.so.1.1
/usr/local/openssl111/lib/libcrypto.so.1.1
$ mv /usr/local/openssl111/lib/libcrypto.so.1.1 /usr/local/openssl111/lib/libcrypto.so.1.1_001
$ cd /usr/local/openssl111/lib/
$ ls -lha | grep libcrypto.so.1.1
lrwxrwxrwx 1 root root 16 1月 18 15:18 libcrypto.so -> libcrypto.so.1.1
lrwxrwxrwx 1 root root 20 3月 27 16:14 libcrypto.so.1.1 -> libcrypto.so.1.1_001
-rwxr-xr-x 1 root root 3.3M 1月 18 15:18 libcrypto.so.1.1_001
$ rm libcrypto.so.1.1
rm:是否删除符号链接 'libcrypto.so.1.1'?y
$ ls -lha | grep libcrypto.so.1.1
lrwxrwxrwx 1 root root 16 1月 18 15:18 libcrypto.so -> libcrypto.so.1.1
-rwxr-xr-x 1 root root 3.3M 1月 18 15:18 libcrypto.so.1.1_001
$ rm libcrypto.so
rm:是否删除符号链接 'libcrypto.so'?y
$ yum --help
usage: yum [options] COMMAND
主要命令列表:
alias 列出或创建命令别名
autoremove 删除所有原先因为依赖关系安装的不需要的软件包
删除完后我们再进行
ldd /lib64/libk5crypto.so.3
欢迎来撩 : 汇总all