AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1145855
Accepted
David C
David C
Asked: 2023-10-14 06:23:38 +0800 CST2023-10-14 06:23:38 +0800 CST 2023-10-14 06:23:38 +0800 CST

是否可以对系统隐藏二进制文件

  • 772

Centos 7 上的 VPS 附带了非常旧版本的 openssl。我构建并安装了较新版本的 openssl。(详细信息如下)安装这个较新的 openssl 只是为了升级到更新版本的curl。其目的是按位置专门调用此curl,而不是将其集成到任何其他程序中。

显然,安装导致了 exim 的问题(谁知道还有什么问题)。现在,由于找不到 libssl.so.1.1,更新 exim 失败。

openssl 二进制文件可以对系统/usr/local/openssl/bin/openssl隐藏吗?(以便 exim 会更新)我不太确定 exim 构建中发生了什么,但当然它之前有效。

我想有两种解决方案是将 openssl 安装移动到 /opt 或将 openssl 重命名为其他名称。不过,我想了解是否有更简单的解决方案。

欢迎所有想法。感谢您考虑这一点。

一些系统信息:

[root@vps ~]# which openssl
/usr/bin/openssl

[root@vps ~]# whereis openssl
openssl: /usr/bin/openssl /usr/lib64/openssl /usr/include/openssl /usr/local/openssl /usr/share/man/man1/openssl.1ssl.gz /usr/share/man/man1/openssl.1

[root@vps ~]# /usr/bin/openssl version
OpenSSL 1.0.2k-fips  26 Jan 2017

[root@vps ~]# /usr/lib64/openssl version
-bash: /usr/lib64/openssl: Is a directory

[root@vps ~]# /usr/include/openssl version
-bash: /usr/include/openssl: Is a directory

[root@vps ~]# /usr/local/openssl/bin/openssl version
OpenSSL 1.1.1t  7 Feb 2023
---
*** Could not run ./exim -bV -C /dev/null to find version number ***
*** Exim installation failed ***
./exim: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
make: *** [install] Error 1
Moving exim binary.
---
linux
  • 2 2 个回答
  • 94 Views

2 个回答

  • Voted
  1. Best Answer
    Nikita Kipriyanov
    2023-10-14T12:17:21+08:002023-10-14T12:17:21+08:00

    首先,您没有显示任何内容来真正显示某些“二进制文件被隐藏”。

    Exim 可能希望在 /usr/local/lib(64) 中而不是在 /usr/lib(64) 或 /lib(64) 中找到该库。检查您的/etc/ld.so.conf详细信息。您可以使用环境变量引导您的应用程序选择某个路径LD_LIBRARY_PATH,例如运行LD_LIBRARY_PATH=/some/path exim以仅为一个命令定义此变量。这是人们在较新的系统上运行古老程序的方式(对于一种情况,我需要使用旧的 OpenSSL 和特定程序的旧版本,但我不想在系统范围内使用旧的 OpenSSL,所以我放置了足够的旧库将该程序放入自定义目录并像这样启动它)。

    另外,请注意 soname:如果您构建了较新的 OpenSSL,则必须重建所有依赖软件;不同的soname 意味着ABI 可能会改变。新的 OpenSSL 会创建libssl3.so或不会创建libssl.so.1.1您的应用程序构建所期望的内容。在某些情况下,您可以将一个符号链接到另一个,但可能会出现问题;为了解决这些问题,需要重建。(这就是为什么长期支持发行版如此难以维护:需要将所有修复程序反向移植到旧版本的应用程序和库中,而不更改 ABI 和 soname,这样您就可以只升级库包版本,而不会为依赖的应用程序带来其他问题.)

    最后,当使用生产服务器时,永远不要使用make和make install,它会让你的系统变得一团糟,你永远无法清理。从 SRPM(或 DEB-SRC,如果我们谈论基于 Debian 的系统)构建您自己的软件包,并使用软件包管理器安装它们。

    • 4
  2. vidarlo
    2023-10-14T14:45:51+08:002023-10-14T14:45:51+08:00

    当您选择 CentOS 这样的稳定​​发行版时,部分原因是事情不会崩溃。当然,您不会获得新功能,但 RedHat/CentOS 将支持旧版本软件的端口安全修复和错误修复,以便您看到最小的更改。

    你不会得到新的卷发。为此,您必须更新到较新的版本;CentOS 7 仍停留在其附带的版本上。

    此外,curl 和 openssl 都是必不可少的系统库,被许多其他软件使用。当你开始搞这些事情时,事情就会崩溃。不。

    升级到较新的发行版。如果您想要新的闪亮玩具,请考虑发布周期更频繁的发行版。

    • 0

相关问题

  • Linux 主机到主机迁移

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 在 RHEL4 上修改 CUPS 中的现有打印机设置

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve