diary/Kojima/2012-02-07
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[diary/Kojima]]
・ライブラリの依存関係検索ツール
今年になってからの初の書き込み。。 orz
ここしばらく、x86用の環境整備と新しいバージョンが出ている...
gtk回りとかをイジりだすとライブラリの依存関係が複雑で、あ...
そのライブラリを使っている複数のパッケージも合わせて更新...
その際、どのバイナリファイルがこのライブラリに依存してい...
SQLiteの勉強を兼ねて、ある時点での依存関係情報をデータベ...
get_depends.py を実行すると、/sbin や /usr、/lib64 等のバ...
あるバイナリが依存しているライブラリの情報をかき集めて、...
そうして作ったファイルから、query_depends.py で、バイナリ...
具体的にはこんな感じ。
-b オプションでバイナリの名前の一部を指定すれば、そのバ...
$ ./query_depends.py -b bash
bash needs these libraries
linux-vdso.so.1(none)
libreadline.so.6(/lib64/libreadline.so.6)
libncursesw.so.5(/lib64/libncursesw.so.5)
libdl.so.2(/lib64/libdl.so.2)
libc.so.6(/lib64/libc.so.6)
/lib64/ld-linux-x86-64.so.2(/lib64/ld-linux-x86-64.so.2)
dbus-bash-completion-helper needs these libraries
linux-vdso.so.1(none)
libglib-2.0.so.0(/usr/lib64/libglib-2.0.so.0)
libdbus-1.so.3(/usr/lib64/libdbus-1.so.3)
...
-s オプションで、ライブラリの名前の一部を指定すれば、そ...
$ ./query_depends.py -s libexpat | less
libexpat.so.1 used by these binaries
wpa_gui(/usr/bin/wpa_gui)
fc-cache(/usr/bin/fc-cache)
fc-cat(/usr/bin/fc-cat)
fc-list(/usr/bin/fc-list)
fc-match(/usr/bin/fc-match)
fc-query(/usr/bin/fc-query)
...
正引き、逆引きそれぞれ、パス名も検索対象にすることができ...
あるディレクトリにあるバイナリファイルがそれぞれどのライ...
$ ./query_depends.py -p /usr/heimdal/lib | less
/usr/heimdal/lib64/libasn1.so.8.0.0 needs these libraries
linux-vdso.so.1(none)
libcom_err.so.2(/lib64/libcom_err.so.2)
libroken.so.18(/usr/heimdal/lib64/libroken.so.18)
libcrypt.so.1(/lib64/libcrypt.so.1)
...
/usr/heimdal/lib64/libeditline.so.0.0.0 needs these libr...
linux-vdso.so.1(none)
libncursesw.so.5(/lib64/libncursesw.so.5)
libresolv.so.2(/lib64/libresolv.so.2)
...
# もともとは、-b cat とかすると一杯マッチしすぎて不便なの...
逆引きの場合は、-r オプションを指定すれば、あるディレクト...
どのようなバイナリが利用しているかが分かる。
$ ./query_depends.py -r /usr/heimdal/lib | less
/usr/heimdal/lib64/libasn1.so.8 used by these binaries
mplayer(/usr/bin/mplayer)
mencoder(/usr/bin/mencoder)
smbclient(/usr/bin/smbclient)
net(/usr/bin/net)
...
/usr/heimdal/lib64/libeditline.so.0 used by these binaries
libsl.so.0.2.1(/usr/heimdal/lib64/libsl.so.0.2.1)
kdigest(/usr/heimdal/libexec/kdigest)
hxtool(/usr/heimdal/bin/hxtool)
...
インストールされているバイナリファイルは環境ごとに異なる...
依存関係データベース(./depends.sql3)も環境ごとに生成する...
また、パッケージの追加や削除をデータベースファイルに連動...
データベースを更新するには、古いファイルを削除して、get_d...
# 別に削除しなくても、init_db()の中で drop table しておけ...
主にメンテナ向けのツールと思うけど、このページに添付して...
- インストールされているパッケージ数に依存するけど、get_d...
- このページに添付しておくので、(どこ?) -- [[尾形]] &n...
- 日別のページを開かないと添付ファイルはないのでした。 --...
#comment
終了行:
[[diary/Kojima]]
・ライブラリの依存関係検索ツール
今年になってからの初の書き込み。。 orz
ここしばらく、x86用の環境整備と新しいバージョンが出ている...
gtk回りとかをイジりだすとライブラリの依存関係が複雑で、あ...
そのライブラリを使っている複数のパッケージも合わせて更新...
その際、どのバイナリファイルがこのライブラリに依存してい...
SQLiteの勉強を兼ねて、ある時点での依存関係情報をデータベ...
get_depends.py を実行すると、/sbin や /usr、/lib64 等のバ...
あるバイナリが依存しているライブラリの情報をかき集めて、...
そうして作ったファイルから、query_depends.py で、バイナリ...
具体的にはこんな感じ。
-b オプションでバイナリの名前の一部を指定すれば、そのバ...
$ ./query_depends.py -b bash
bash needs these libraries
linux-vdso.so.1(none)
libreadline.so.6(/lib64/libreadline.so.6)
libncursesw.so.5(/lib64/libncursesw.so.5)
libdl.so.2(/lib64/libdl.so.2)
libc.so.6(/lib64/libc.so.6)
/lib64/ld-linux-x86-64.so.2(/lib64/ld-linux-x86-64.so.2)
dbus-bash-completion-helper needs these libraries
linux-vdso.so.1(none)
libglib-2.0.so.0(/usr/lib64/libglib-2.0.so.0)
libdbus-1.so.3(/usr/lib64/libdbus-1.so.3)
...
-s オプションで、ライブラリの名前の一部を指定すれば、そ...
$ ./query_depends.py -s libexpat | less
libexpat.so.1 used by these binaries
wpa_gui(/usr/bin/wpa_gui)
fc-cache(/usr/bin/fc-cache)
fc-cat(/usr/bin/fc-cat)
fc-list(/usr/bin/fc-list)
fc-match(/usr/bin/fc-match)
fc-query(/usr/bin/fc-query)
...
正引き、逆引きそれぞれ、パス名も検索対象にすることができ...
あるディレクトリにあるバイナリファイルがそれぞれどのライ...
$ ./query_depends.py -p /usr/heimdal/lib | less
/usr/heimdal/lib64/libasn1.so.8.0.0 needs these libraries
linux-vdso.so.1(none)
libcom_err.so.2(/lib64/libcom_err.so.2)
libroken.so.18(/usr/heimdal/lib64/libroken.so.18)
libcrypt.so.1(/lib64/libcrypt.so.1)
...
/usr/heimdal/lib64/libeditline.so.0.0.0 needs these libr...
linux-vdso.so.1(none)
libncursesw.so.5(/lib64/libncursesw.so.5)
libresolv.so.2(/lib64/libresolv.so.2)
...
# もともとは、-b cat とかすると一杯マッチしすぎて不便なの...
逆引きの場合は、-r オプションを指定すれば、あるディレクト...
どのようなバイナリが利用しているかが分かる。
$ ./query_depends.py -r /usr/heimdal/lib | less
/usr/heimdal/lib64/libasn1.so.8 used by these binaries
mplayer(/usr/bin/mplayer)
mencoder(/usr/bin/mencoder)
smbclient(/usr/bin/smbclient)
net(/usr/bin/net)
...
/usr/heimdal/lib64/libeditline.so.0 used by these binaries
libsl.so.0.2.1(/usr/heimdal/lib64/libsl.so.0.2.1)
kdigest(/usr/heimdal/libexec/kdigest)
hxtool(/usr/heimdal/bin/hxtool)
...
インストールされているバイナリファイルは環境ごとに異なる...
依存関係データベース(./depends.sql3)も環境ごとに生成する...
また、パッケージの追加や削除をデータベースファイルに連動...
データベースを更新するには、古いファイルを削除して、get_d...
# 別に削除しなくても、init_db()の中で drop table しておけ...
主にメンテナ向けのツールと思うけど、このページに添付して...
- インストールされているパッケージ数に依存するけど、get_d...
- このページに添付しておくので、(どこ?) -- [[尾形]] &n...
- 日別のページを開かないと添付ファイルはないのでした。 --...
#comment
ページ名: