/usr/local/libには優先順位はありません。

/usr/local/libには優先順位はありません。

この記事では、SSHを使用してシステムにログインするのではなく、ポート443 Webトラフィックを保護するために最新のOpenSSLパッチを適用する方法について説明します。

openssl-1.0.1g.tar.gz最新のOpenSSL Tarballソースパッチを入手しました。ここCentOS 6.5を実行しているLinuxワークステーションでは、次のものを含むパッチを構築しました。

./config; make; make test; make install # as root

これはにインストールされます/usr/local/ssl

本番システムにパッチを適用する前に、パッチを使用できるかどうかを安全な場所で証明したいと思います。しかし、すべてを実行した後はパニックになります。これ

./config, make, make test, and make install

エラーなしで手順が完了しました。

最新のOpenSSLがインストールされているかどうかを確認するには?

さまざまな回答に基づいてバージョンをテストした結果は次のとおりです。

openssl version -a
OpenSSL 1.0.1e-fips 11 Feb 2013
built on: Tue Apr  8 02:33:43 UTC 2014
platform: linux-elf

ベストアンサー1

はじめに:質問が示すように、opensslは基本的に/usr/local/ssl。そうしないと、そこにファイルを追加します(ファイルの意味は以下を参照)。./config --prefix=/usr/local sharedlibssl/etc/ld.so.conf.d/usr/local/ssl/lib/etc/ld.so.conf.d/usr/local/bin$PATH


リンカキャッシュにライブラリを追加するには、ldconfig後で実行する必要があります。make installそれでも機能しない場合は、読み続けてください。

make install/usr/localおそらくデフォルトでは次の場所に移動します。しなければならない優先順位ですが、優先順位ではない可能性があります。したがって、パッケージマネージャと前提条件を妨げないように、ディストリビューションのopensslインストールを維持できますが、それでも独自のローカルビルドをデフォルトとして使用できます。行って確認してください:

ldd $(which ssh) | grep libssl

出力がない場合は、sshリンクは静的にリンクされているため、再構築する必要があります(Antonの回答を参照)。そうでなければ、これはあなたのバージョンを指すべきです/usr/local。他のものを指す場合:

ldconfig -p | grep libssl

バージョンは/usr/local他のバージョンの後に表示する必要があります。その場合は、以下の「/usr/local/libに優先順位がありません」に進んでください。そうでない場合は、通常は/usr/localリンカーパスにあることを確認してください。

ldconfig -p | grep "/usr/local"

そうでなければgrep -r "/usr/local" /etc/ld.so.conf.d。存在しない場合は、/etc/ld.so.conf.d1行で呼び出すファイルを追加します。00-local.conf

/usr/local/lib

ldconfig(スイッチなし)を実行し、この操作をやり直してください。


/usr/local/libには優先順位はありません。

次のパスを追加するリンカーキャッシュ構成ファイルを見つけます。

grep -r "/usr/local" /etc/ld.so.conf.d

ファイルがない場合は、上記のようにファイルを追加する必要があります。その場合、問題はファイルがアルファベット順に処理されることです。たとえば、コンテンツが/etc/ld.so.conf.d次のような場合:

addtheselibraries.conf
libc.conf

libc.conf含まれますが/usr/local/lib含まれますaddtheselibraries.conf(例:1)/usr/lib。後者が優先します。ファイルに他の内容が含まれていない場合は、別のファイルを置き換える名前に名前を変更するだけです。それでは大丈夫です。/usr/local/lib000-whatever

完全に制御できるからです/usr/local/libしなければならないディストリビューションのパッケージマネージャが使用するすべてのパスの前に(通常は)続きます。

1. /usr/lib はデフォルトでリンカーにコンパイルされますが、この場所やその他の標準システムの場所 (/lib など) が追加されます。最後、これにより交換できます。したがって、時には(たとえば)/usr/lib.confファイルに追加され、他の.confファイルを置き換えます。

おすすめ記事