私のCentOS 6.0
サーバーは、glibc-2.12-1.7.el6.x86_64
さまざまなオープンソースサービスといくつかの私のCプログラムを実行しています。
Ghostの脆弱性を修正するにはglibc-2.12-1.149.el6_6.5
。
バージョン差がすごいから。
C / C ++アプリケーションまたは一部のオープンソースサービスを再コンパイルする必要があるかどうか疑問に思います。
すべてをテストすることはほとんど不可能です。どうやってテストしますか?
一部の人はアプリケーションのセグフォルトのために更新を元に戻す必要があるという話を読んでいました。
ベストアンサー1
Linuxアプリケーションは、ほぼ常にCライブラリへのダイナミックリンクを使用します。つまり、Cライブラリにコンパイルされず、ランタイムにリンクされます。これは、すでにCライブラリをアップグレードしている場合は、他の操作を実行する必要がないことを意味します。
しかし、これはまれですが、静的にリンクされたglibcを使用して何かを作成することは不可能ではありません。最良の方法は、関連アプリケーションのドキュメントを確認することです。これが慣例であれば、ほぼ確実に明らかです。
check実行可能ファイルを使用できますfile
。出力に「動的接続」とマークする必要があります。私考えるこれらのバイナリが静的glibcを統合することは依然として可能ですが、これは非常にあいまいです。再確認する方法は次のとおりです。
ldd whatever | grep libc.so
whatever
確認したいバイナリファイルはどこにありますか?ある程度出力を得る必要があります。そうでない場合は、ここにコメントを残してください。そうすれば、私は足りなく食べることができるでしょう。なぜなら、私は誰もこのようなものを作ると信じていないからです。
実際の静的バイナリを見つけたとしても、必ずしもglibcを使用しているわけではありません。ソースツリー、ドキュメント、または開発者に連絡してそれらを確認する必要があります。
一部の人はアプリケーションのセグフォルトのために更新を元に戻す必要があるという話を読んでいました。
私も2番目、3番目に見たことがあります。しかし、私は実際にこの状況の具体的な説明を見たことがありません。正直なところ、そうは思えません。