Debian: ビルド ID でバイナリとデバッグファイルを探す

Debian: ビルド ID でバイナリとデバッグファイルを探す

Debianシステムのコアダンプがあり、ダンプに使用されているライブラリのビルドIDを知っていますが、正しいバージョンがわからないとしましょう。これらのファイルを見つける方法はありますか?

たとえば、このコマンドは、eu-unstrip -n --core my-core-file次のコアダンプのビルドIDのリストを提供します。

0x7f09b7228000+0x2721081b72306ef00166fe1511d57140b50f5ce341170e@0x7f09b72281d8 /lib/x86_64-linux-gnu/libpcre.so.3 -libpcre.so.3

0x7f09bac07000+0x219208908b5a955d0a73fb8d31e0f927d0cdba810cb300@0x7f09bac071d8 /lib/x86_64-linux-gnu/libz.so.1 -libz.so.1

0x7f09bb06c000+0x20fd8806ea95ca3df11e4a8e85791c1ff89a49fc3fe9c1@0x7f09bb06c1d8 /lib/x86_64-linux-gnu/libbz2.so.1.0 -libbz2.so.1.0

これらのライブラリ名とビルドIDに基づいて、これらのビルドIDがどのパッケージまたはファイルバージョンに対応しているかを知らせてダウンロードできるようにするコマンド、Webサービス、またはその他のエントリはありますか?

ベストアンサー1

私が知る限り、そんなことはありません。ツールビルドIDを検索します(下記参照)。

これを使用して、apt-file使用しているライブラリを提供するパッケージを検索できます。インストールしてインデックスを更新して実行します。

apt-file search /lib/x86_64-linux-gnu/libpcre.so.3
apt-file search /lib/x86_64-linux-gnu/libz.so.1
apt-file search /lib/x86_64-linux-gnu/libbz2.so.1.0

PackagesビルドIDを使用するには、ファイルを手動で確認する必要があります。たとえば、デバッグストアのインデックスにはビルドIDが含まれます。

$ apt show libbz2-1.0-dbgsym
Package: libbz2-1.0-dbgsym
Version: 1.0.6-8.1
Auto-Built-Package: debug-symbols
Priority: extra
Section: debug
Source: bzip2
Maintainer: Anibal Monsalve Salazar <[email protected]>
Installed-Size: 68.6 kB
Depends: libbz2-1.0 (= 1.0.6-8.1)
Homepage: http://www.bzip.org/
Build-Ids: 06ea95ca3df11e4a8e85791c1ff89a49fc3fe9c1
Download-Size: 51.5 kB
APT-Sources: http://debug.mirrors.debian.org/debian-debug stretch-debug/main amd64 Packages
Description: Debug symbols for libbz2-1.0

ビルドIDを直接検索するには、grep以下を渡してください/var/lib/apt/*Packages

grep -l 06ea95ca3df11e4a8e85791c1ff89a49fc3fe9c1 /var/lib/apt/lists/*Packages

これを組み合わせて、lessパッケージの名前とバージョンを確認できます。

grep -l 06ea95ca3df11e4a8e85791c1ff89a49fc3fe9c1 /var/lib/apt/lists/*Packages | xargs -r less -p06ea95ca3df11e4a8e85791c1ff89a49fc3fe9c1

これは、デバッグパッケージのインデックスがある場合にのみ機能します。これを行うには、にファイルを追加してください/etc/apt/sources.list.ddebug.sources

Types: deb
URIs: http://debug.mirrors.debian.org/debian-debug/
Suites: stretch-debug testing-debug unstable-debug experimental-debug
Components: main

これにより、安定、ベータ、不安定、および実験リリースの主要コンポーネントのデバッグインデックスがダウンロードされます。

一部のパッケージ(例libpcre3:)はパッケージをビルドしないため、-dbgsym上記の検索にはそのパッケージは含まれていません。そのバージョンがありますがlibpcre3-dbg、私が知っている限り、現在のアーカイブにあなたのビルドIDと一致するバージョンはありません。

おすすめ記事