Linuxライブラリ/実行ファイルのバージョン情報を見る

Linuxライブラリ/実行ファイルのバージョン情報を見る

Windowsでは、EXEとDLLの両方に、少なくとも次のフィールドを含むバージョン情報があります。

  1. ファイルバージョン
  2. 製品バージョン
  3. 内部名
  4. 商品名
  5. 著作権

Linuxライブラリ/実行ファイル:

  • どの分野がありますか?
  • この情報をどのように見ることができますか?
  • どのツール/ライブラリを読む必要がありますか?

ベストアンサー1

バージョン情報は明示的に保存されません。ELFファイル。これには、sonameメジャーバージョンを含むライブラリ名が含まれます。フルバージョンは通常、ライブラリファイル名の一部として保存されます。

たとえば、ライブラリがある場合、通常は次のようになりますlibtest.so

  • libtest.so.1.0.1- フルバージョンを含むライブラリファイル自体
  • libtest.so.1libtest.so.1.0.1- と同じ名前のシンボリックリンクsoname
  • libtest.so-libtest.so.1接続のためのシンボリックリンク。

ライブラリファイルのlibtest.so.1.0.1動的セクションには、という項目がありますSONAME。これはライブラリ名がということを意味しますlibtest.so.1。プログラムをライブラリにリンクすると、リンクされたプログラムは動的sonameセクションのエントリの下にライブラリ情報を保存します。NEEDED

どのELFファイルが実際に何であるかを確認するには、次の手順を実行します。

readelf -a -W elffile

elffile実行可能ファイルのライブラリにすることができます。

ライブラリのバージョンを取得するには、次のものを使用できます。

readelf -d  /path/to/library.so |grep SONAME

AFAIK、実行ファイルにはそのような情報はありません(少なくともデフォルトではありません)。

あるいは、Rahul Patilが書いたように、プログラム自体やパッケージングシステムに頼ることもできます。

おすすめ記事