Debian アーカイブですべての「C」ファイル(ソースまたはバイナリ)を見つける方法

Debian アーカイブですべての「C」ファイル(ソースまたはバイナリ)を見つける方法

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ファイルをパイプし、tartarballに含まれているファイルを一覧表示します(tリスト、z展開、v詳細な操作)

より簡単な方法があるかもしれませんが、これはデフォルトでSlackwareで使用するために.debアーカイブをリサイクルするときに使用するワークフローです。

関連情報