如何找出哪些包包含某些 Perl 模块

如何找出哪些包包含某些 Perl 模块

我需要在我的 Ubuntu 电脑上安装一些 CPAN 模块。我想从 deb 包安装它,所以我需要找出哪个包包含该模块。

有时这个任务的解决方案非常简单。例如,如果我需要安装文件::查找::规则我只是将名称转换为小写,更改::为并在开头和结尾处-添加。结果就是包名称:lib-perllibfile-find-rule-perl

$ apt-cache search libfile-find-rule-perl
libfile-find-rule-perl - module to search for files based on rules

但在其他情况下,这不起作用。我想找到包含以下内容的 deb 包:Debian::Apt 内容.但apt-cache search libdebian-aptcontents-perl什么也没找到。

那么,在Debian::Apt 内容我知道它在包中dh-make-perl,但我想知道如何找到哪个 deb 包包含我需要的模块。

答案1

在 ubuntu 中有一个名为 的软件包搜索实用程序apt-file。你可以将文件名传递给它,它会显示包含该文件的软件包。它不仅搜索系统上安装的软件包,还搜索可供安装的软件包。

找出包含Debian::Apt 内容你应该运行:

$ apt-file search Debian/AptContents.pm
dh-make-perl: /usr/share/perl5/Debian/AptContents.pm

答案2

答案3

从控制台whereis PACKAGE_OR_COMMON_FILE:它将打印系统文件的任何出现。
如果您有aptitude使用:aptitude search PACKAGE_NAME。如果存在,请执行aptitude,使用选项找到它search,然后按ENTER以查看更多信息。
如果您需要有关模块的信息,请使用cpan -D module

相关内容