LDAP 2.5 は Debian 12 の SQL Server を停止します。

LDAP 2.5 は Debian 12 の SQL Server を停止します。

停電により復元されたため、SQL Server を起動できません。

/opt/mssql/bin/sqlservr: error while loading shared libraries: liblber-2.4.so.2: cannot open shared object file: No such file or directory

ファイルを探して、/usr/lib/x86_64-linux-gnuSQL Serverは終了したファイルの目的のファイルからシンボリックリンクを作成しようとしましたが、だまされませんでした。

/opt/mssql/bin/sqlservr: /lib/x86_64-linux-gnu/libldap_r-2.4.so.2: version `OPENLDAP_2.4_2' not found (required by /opt/mssql/bin/sqlservr)

LDAPライブラリバージョン2.5をインストールしたようですが、SQL Serverには2.4が必要です。

# apt show libldap-common
Package: libldap-common
Version: 2.5.13+dfsg-5
Priority: optional
Section: libs
Source: openldap
Maintainer: Debian OpenLDAP Maintainers <[email protected]>
Installed-Size: 94.2 kB
Replaces: libldap-2.4-2 (<< 2.4.44+dfsg-1)
Homepage: https://www.openldap.org/
Tag: role::shared-lib
Download-Size: 29.3 kB
APT-Manual-Installed: yes
APT-Sources: http://mirror.ox.ac.uk/debian bookworm/main amd64 Packages
Description: OpenLDAP common files for libraries
 These are common files for the run-time libraries for the OpenLDAP
 (Lightweight Directory Access Protocol) servers and clients.

推測する考えられる解決策の1つはダウングレードです。これは可能ですか?利用可能な他のバージョンは表示されません。

# apt list -a libldap-common
Listing... Done
libldap-common/stable,stable,now 2.5.13+dfsg-5 all [installed]

これが犯人のようです:

# grep ldap /var/log/dpkg.log
2023-08-21 18:50:42 status installed libldap-2.4-2:amd64 2.4.57+dfsg-3+deb11u1
2023-08-21 18:50:42 remove libldap-2.4-2:amd64 2.4.57+dfsg-3+deb11u1 <none>
2023-08-21 18:50:42 status half-configured libldap-2.4-2:amd64 2.4.57+dfsg-3+deb11u1
2023-08-21 18:50:42 status half-installed libldap-2.4-2:amd64 2.4.57+dfsg-3+deb11u1
2023-08-21 18:50:42 status config-files libldap-2.4-2:amd64 2.4.57+dfsg-3+deb11u1
2023-08-21 18:50:42 status not-installed libldap-2.4-2:amd64 <none>
2023-08-27 10:20:03 install libldap-dev:amd64 <none> 2.5.13+dfsg-5
2023-08-27 10:20:03 status half-installed libldap-dev:amd64 2.5.13+dfsg-5
2023-08-27 10:20:03 status unpacked libldap-dev:amd64 2.5.13+dfsg-5
2023-08-27 10:20:03 configure libldap-dev:amd64 2.5.13+dfsg-5 <none>
2023-08-27 10:20:03 status unpacked libldap-dev:amd64 2.5.13+dfsg-5
2023-08-27 10:20:03 status half-configured libldap-dev:amd64 2.5.13+dfsg-5
2023-08-27 10:20:03 status installed libldap-dev:amd64 2.5.13+dfsg-5
2023-08-27 10:23:13 install ldap-utils:amd64 <none> 2.5.13+dfsg-5
2023-08-27 10:23:13 status half-installed ldap-utils:amd64 2.5.13+dfsg-5
2023-08-27 10:23:13 status unpacked ldap-utils:amd64 2.5.13+dfsg-5
2023-08-27 10:23:13 configure ldap-utils:amd64 2.5.13+dfsg-5 <none>
2023-08-27 10:23:13 status unpacked ldap-utils:amd64 2.5.13+dfsg-5
2023-08-27 10:23:13 status half-configured ldap-utils:amd64 2.5.13+dfsg-5
2023-08-27 10:23:13 status installed ldap-utils:amd64 2.5.13+dfsg-5

キャンセルできますか?

修正する

Ubuntu 22.04でも同じ問題があります。

答え1

異なるバージョンのライブラリを置くことはできません。これはバイナリが機能する方法ではありません。

もしそうなら、sqlservrは排他的なものです。そうですか?必要なすべてのライブラリを保持する必要があります。システム提供のライブラリに依存している場合、作成者(Microsoft)はアップストリームと同期していることを確認する必要があります。

したがって、Microsoftはこれを実行していないように見えるため、mssqlがインストールされているシステムをランダムに更新することはできません。マイクロソフトにサポートケースを送信するか、まだインストールしていない場合は、最新バージョンのmssqlをインストールしてください。

その間、一般的な解決策は、明確で積極的にサポートされているプラ​​ットフォームにコンテナを設定し、mssqlのみをインストールし、既存のデータをボリュームとしてコンテナにインポートし、ソケット接続に使用されるネットワークポートおよび/またはUNIXをエクスポートすることです。 。データベースと通信し、以前と同じマシンで実行します。

キャンセルできますか?

よくわかりません。すべての以前のバージョンのソフトウェアのパッケージファイルがまだ存在し、LDAPをダウングレードするときにダウングレードする必要がない場合はそうです。これはおそらく最悪の解決策でしょう。しかし、データベースサーバー上のすべてのエントリのバックアップを持っていませんか?

答え2

これにより実行されます。

# wget http://ftp.uk.debian.org/debian/pool/main/o/openldap/libldap-2.4-2_2.4.57+dfsg-3+deb11u1_amd64.deb
# apt install ./libldap-2.4-2_2.4.57+dfsg-3+deb11u1_amd64.deb

関連情報