diary/Kojima/2012-02-08
の編集
http://plamo.linet.jp/?diary/Kojima/2012-02-08
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
-- 雛形とするページ --
diary/Template
[[diary/Kojima]] ・パッケージに含まれるファイルの検索ツール 昨日のライブラリ検索で出て来たファイルが、どのパッケージに含まれているのかを調べるためのツールもついでに書いてみた。 こっちも2つ組になっていて、get_pkglist.py を実行すれば /var/log/packages/ 以下を調べて、 どのパッケージにどういうファイルが入っているかを ./filelist.sql3 に記録する。 このデータベースファイルから query_pkglist.py でパッケージからファイル、ファイルからパッケージを引く。 使えるオプションは -g、-f、-p の3種で、-g がパッケージ名の一部からそのパッケージに含まれているファイルを表示する。 $ ./query_pkglist.py -g bash package bash-4.1-x86_64-P3.txz has: ABOUT-NLS.gz(/usr/share/doc/bash-4.1/ABOUT-NLS.gz) AUTHORS.gz(/usr/share/doc/bash-4.1/AUTHORS.gz) COPYING.gz(/usr/share/doc/bash-4.1/COPYING.gz) ChangeLog.gz(/usr/share/doc/bash-4.1/ChangeLog.gz) INSTALL.gz(/usr/share/doc/bash-4.1/INSTALL.gz) NEWS.gz(/usr/share/doc/bash-4.1/NEWS.gz) PlamoBuild.bash-4.1.gz(/usr/share/doc/bash-4.1/PlamoBuild.bash-4.1.gz) README.gz(/usr/share/doc/bash-4.1/README.gz) bash(/bin/bash) ... ファイル名の一部からパッケージ名を引く時は -f。 $ ./query_pkglist.py -f libomapi.a file libomapi.a included in: dhcp-4.2.3_P1-x86_64-P2.txz 上のオプションはファイル名のみを検索対象にするけど、-p を指定するとパス名も含めて検索するので、 ディレクトリを指定すれば、そのディレクトリを作ったパッケージが分かる。 $ ./query_pkglist.py -p /usr/lib/sa/ file /usr/lib/sa/sa1 included in: sysstat-10.0.1-x86_64-P1.txz file /usr/lib/sa/sa2 included in: sysstat-10.0.1-x86_64-P1.txz file /usr/lib/sa/sadc included in: sysstat-10.0.1-x86_64-P1.txz まぁ、これは /var/log/packages/ 以下をgrepするだけで分かるのでそれほど必要性は無いのだけど、 将来的には query_depends.py のオプションでパッケージ名まで引けるようにしてみようかと思っているので、 そのための部品。 前と同様、このページに添付(「コメントの挿入」の下くらいに「添付ファイル」の欄がある)しておくので、 興味ある人はどうぞ。 - 現状だと、シンボリックリンクは調べないので、スクリプトファイルのログを見るようにしてもいいかも。 -- [[kojima]] &new{2012-02-08 (水) 09:27:58}; - 先のget_depends.pyは /usr や /usr/lib64 等のディレクトリにあるファイルを調べるのに対して、get_pkglist.py は/var/log/packages/ 以下を見ているので、installpkg/updatepkg でインストールしたファイルしか検索対象にしないから、VirtualBoxみたいに自前のインストーラでインストールしたファイルは出てこない。為念。-- [[kojima]] &new{2012-02-08 (水) 09:30:19}; #comment
タイムスタンプを変更しない
[[diary/Kojima]] ・パッケージに含まれるファイルの検索ツール 昨日のライブラリ検索で出て来たファイルが、どのパッケージに含まれているのかを調べるためのツールもついでに書いてみた。 こっちも2つ組になっていて、get_pkglist.py を実行すれば /var/log/packages/ 以下を調べて、 どのパッケージにどういうファイルが入っているかを ./filelist.sql3 に記録する。 このデータベースファイルから query_pkglist.py でパッケージからファイル、ファイルからパッケージを引く。 使えるオプションは -g、-f、-p の3種で、-g がパッケージ名の一部からそのパッケージに含まれているファイルを表示する。 $ ./query_pkglist.py -g bash package bash-4.1-x86_64-P3.txz has: ABOUT-NLS.gz(/usr/share/doc/bash-4.1/ABOUT-NLS.gz) AUTHORS.gz(/usr/share/doc/bash-4.1/AUTHORS.gz) COPYING.gz(/usr/share/doc/bash-4.1/COPYING.gz) ChangeLog.gz(/usr/share/doc/bash-4.1/ChangeLog.gz) INSTALL.gz(/usr/share/doc/bash-4.1/INSTALL.gz) NEWS.gz(/usr/share/doc/bash-4.1/NEWS.gz) PlamoBuild.bash-4.1.gz(/usr/share/doc/bash-4.1/PlamoBuild.bash-4.1.gz) README.gz(/usr/share/doc/bash-4.1/README.gz) bash(/bin/bash) ... ファイル名の一部からパッケージ名を引く時は -f。 $ ./query_pkglist.py -f libomapi.a file libomapi.a included in: dhcp-4.2.3_P1-x86_64-P2.txz 上のオプションはファイル名のみを検索対象にするけど、-p を指定するとパス名も含めて検索するので、 ディレクトリを指定すれば、そのディレクトリを作ったパッケージが分かる。 $ ./query_pkglist.py -p /usr/lib/sa/ file /usr/lib/sa/sa1 included in: sysstat-10.0.1-x86_64-P1.txz file /usr/lib/sa/sa2 included in: sysstat-10.0.1-x86_64-P1.txz file /usr/lib/sa/sadc included in: sysstat-10.0.1-x86_64-P1.txz まぁ、これは /var/log/packages/ 以下をgrepするだけで分かるのでそれほど必要性は無いのだけど、 将来的には query_depends.py のオプションでパッケージ名まで引けるようにしてみようかと思っているので、 そのための部品。 前と同様、このページに添付(「コメントの挿入」の下くらいに「添付ファイル」の欄がある)しておくので、 興味ある人はどうぞ。 - 現状だと、シンボリックリンクは調べないので、スクリプトファイルのログを見るようにしてもいいかも。 -- [[kojima]] &new{2012-02-08 (水) 09:27:58}; - 先のget_depends.pyは /usr や /usr/lib64 等のディレクトリにあるファイルを調べるのに対して、get_pkglist.py は/var/log/packages/ 以下を見ているので、installpkg/updatepkg でインストールしたファイルしか検索対象にしないから、VirtualBoxみたいに自前のインストーラでインストールしたファイルは出てこない。為念。-- [[kojima]] &new{2012-02-08 (水) 09:30:19}; #comment
テキスト整形のルールを表示する
添付ファイル:
query_pkglist.py
102件
[
詳細
]
get_pkglist.py
99件
[
詳細
]