Debianパッケージのアーカイブでソースまたはバイナリ形式のすべてのファイルを見つける方法は?
次のことを試しましたが、まったく役に立ちませんでした。
apt-file search *.c
そして
apt-file search *.cc
そのため、Debian アーカイブに c または cc ファイルがないか(可能性がほとんどない)、検索方法が悪い(可能性が高い)ことを意味します。 apt-fileインデックスが更新されました。
答え1
見つかったとおり、apt-file
バイナリパッケージのファイル名のみが検索されます。これは、Debianがアーカイブ内のすべてのバイナリパッケージのコンテンツインデックスを提供するためです。http://ftp.fr.debian.org/debian/dists/jessie/main/Contents-amd64.gz。
Debian でソースコードを検索する最も簡単な方法は、次の方法を使用することです。http://sources.debian.net/または直接https://codesearch.debian.net/(電子は後者のフロントエンドです)。
ソースコードをローカルで検索するにはダウンロードする必要があります。これには多くの帯域幅とストレージが必要です。 Debian 8 にはおおよその内容が含まれています。170GBソースコード;圧縮後約40GB(DVD 10個)。そのうち40.3%はCコードです(確かな値を使用した場合よりも正確になりますdebtags
)。さらに、23.1%はC++コードなので、ソースコードのほぼ3分の2を1行ずつ見ています。 count).. .by-packageを使用してソースコードパッケージを検索できますapt-get source
(直接指摘したように)。次のリソースを使用して独自のCodesearchインスタンスを実行することもできます。GitHub。
答え2
これは正式なDebianアプローチではないかもしれませんが、それが私がすることです。
ar -p foo.deb tmp.tar.gz | tar tzv
もちろん、grepを介して出力をパイプすることもできます。
ar -p foo.deb tmp.tar.gz | tar tzv | grep -i bar
説明するには:
ar -p foo.deb tmp.tar.gz
.debアーカイブをgzip圧縮tarに変換します。次に、tar.gzファイルをパイプし、tar
tarballに含まれているファイルを一覧表示します(t
リスト、z
展開、v
詳細な操作)
より簡単な方法があるかもしれませんが、これはデフォルトでSlackwareで使用するために.debアーカイブをリサイクルするときに使用するワークフローです。