apt-cache 仅搜索指定源

apt-cache 仅搜索指定源

我使用 backtrack,并且我的硬盘上有一个包含一些软件包的 Packages.gz 文件。我想使用“apt-cache search”仅搜索包含 Packages.gz 的文件夹。这可能吗?

答案1

您正在寻找grep dctrl这是dctrl工具包裹。

例如:

$ grep-dctrl -ns Package -F Filename mplayer2_2.0~git20120817-dmo1_amd64.deb www.deb-multimedia.org_dists_wheezy_main_binary-amd64_Packages 
mplayer2

-n意味着只打印字段的值,而不打印标签。-s Package表示仅打印 Package 字段。-F Filename表示仅搜索文件名字段。mplayer2…deb是要搜索的内容。www…_Packages是要搜索的文件。

我不确定它是否会直接搜索 .gz 文件,但它会搜索 stdin,所以你可以只使用管道:zcat Packages.gz | grep-dctrl …

编辑:如果您有实际的文件名.deb,而不仅仅是文件名,您还可以使用dpkg-deb获取信息。这是一个使用wireshark的例子:

$ dpkg-deb --showformat='${package}\n' -W a.deb
wireshark

并且,解释一下,--showformat您可以格式化输出(这里,仅获取包名称,而不是默认的包和版本);-W表示打印有关二进制包的格式化信息。a.deb当然是打印信息的 .deb 包(我将其重命名为表明它不只是吐出文件名)。

答案2

为什么要使用 apt-cache? zgrep 可以在单个文件中进行搜索...

相关内容