![FreeBSD:更新 LDAP 后出现 Postfix 问题](https://linux22.com/image/538520/FreeBSD%EF%BC%9A%E6%9B%B4%E6%96%B0%20LDAP%20%E5%90%8E%E5%87%BA%E7%8E%B0%20Postfix%20%E9%97%AE%E9%A2%98.png)
在服务器上我安装了openldap 服务器,此计算机已安装 open-ldap 客户端。版本openldap 客户端 (2.4.16)比新旧openldap 服务器 (2.4.21)并且客户端版本也已更新。OpenLDAP 客户端适用于后缀在此服务器上,所有更新后,postfix 无法再次启动。postfix stop|start 时的错误是:
/libexec/ld-elf.so.1: 未找到共享对象“libldap-2.4.so.6”,“postfix” 所需
在图书馆类别中libldap-2.4.so.7, 但libldap-2.4.so.6已从服务器中删除。当我想卸载当前版本的 openldap-client 时,系统写入
===> Deinstalling for net/openldap24-client
O.K., but when I start "make install" system write:
===> Installing for openldap-sasl-client-2.4.23
===> openldap-sasl-client-2.4.23 depends on shared library: sasl2.2 - found
===> Generating temporary packing list
===> Checking if net/openldap24-client already installed
===> An older version of net/openldap24-client is already installed (openldap-client-2.4.21)
You may wish to ``make deinstall'' and install this port again
by ``make reinstall'' to upgrade it properly.
If you really wish to overwrite the old port of net/openldap24-client
without deleting it first, set the variable "FORCE_PKG_REGISTER"
in your environment or the "make install" command line.
*** Error code 1
Stop in /usr/ports/net/openldap24-client.
*** Error code 1
Stop in /usr/ports/net/openldap24-client.
更新端口没有帮助,并且postfix 写入错误:
/libexec/ld-elf.so.1: 未找到共享对象“libldap-2.4.so.6”,“postfix” 所需
答案1
您升级了 OpenLDAP 客户端,从而删除了旧版本的共享库。Postfix 是针对旧版本的共享库构建和链接的,由于旧版本的共享库已不存在,因此 Postfix 无法启动。
重新编译 postfix(这将导致它链接到新版本的库)并且这个问题将会消失。
将来,您可以通过使用portupgrade
(检查-r
标志,它将递归地重新构建依赖于正在升级的包)来避免此类问题。