데비안 아카이브에서 모든 "C" 파일(소스 또는 바이너리)을 찾는 방법

데비안 아카이브에서 모든 "C" 파일(소스 또는 바이너리)을 찾는 방법

데비안 패키지 아카이브에서 소스 또는 바이너리 형식의 모든 파일을 어떻게 찾을 수 있나요?

다음을 시도했지만 전혀 도움이 되지 않았습니다.

apt-file search *.c

그리고

apt-file search *.cc

따라서 이는 데비안 아카이브에 c 또는 cc 파일이 없거나(가능성이 거의 없음) 내 검색 방법이 좋지 않음(가능성이 높음)을 의미합니다. apt-file 인덱스가 업데이트되었습니다.

답변1

발견한 대로 apt-file바이너리 패키지의 파일 이름만 검색됩니다. 이는 데비안이 아카이브에 있는 모든 바이너리 패키지에 대한 콘텐츠 색인을 제공하기 때문에 가능합니다.http://ftp.fr.debian.org/debian/dists/jessie/main/Contents-amd64.gz.

데비안에서 소스 코드를 검색하는 가장 쉬운 방법은 다음을 사용하는 것입니다.http://sources.debian.net/아니면 직접https://codesearch.debian.net/(전자는 후자의 프런트 엔드입니다).

소스 코드를 로컬에서 검색하려면 다운로드해야 하며, 이를 위해서는 많은 대역폭과 저장 공간이 필요합니다. 데비안 8에는 대략적인 내용이 포함되어 있습니다.170GB 소스 코드;압축 후 약 40GB(DVD 10개). 그 중 40.3%는 C 코드입니다(확실한 값을 사용한 경우보다 더 정확할 것입니다 debtags). 게다가 23.1%는 C++ 코드이므로 소스 코드의 거의 3분의 2를 한 줄씩 보고 있습니다. count).. .by-package를 사용하여 소스 코드 패키지를 검색할 수 있습니다 apt-get source(직접 지적한 대로). 다음 리소스를 사용하여 자체 Codesearch 인스턴스를 실행할 수도 있습니다.GitHub.

답변2

이것은 공식적인 데비안 접근 방식이 아닐 수도 있지만 그것이 제가 하는 일입니다.

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 아카이브를 재활용할 때 사용하는 작업 흐름입니다.

관련 정보