yum whatprovides’perl(Foo :: Bar)’等同于apt还是dpkg?

这肯定与这个问题有关 ,但我觉得它没有重叠,所以我们走了。 如何在Ubuntu上获得以下命令的function(和/或Debian作为奖励):

yum whatprovides 'perl(Foo::Bar)' 

显然,我可以尝试依赖包以某种方式结束类似于Perl中的命名空间的文件夹结构,但我正在寻找等价的东西,即同样简短和琐碎。 但是,如果它在Ubuntu上不能简单地工作,我可以使用更长的路径并创建我自己的函数。

对于这个问题,请考虑10.04或更新版本。

如果你正在寻找类似的apt / dpkg函数,我不知道一个,但你可以使用它:

 dpkg -S $(cpan -D Net::Cmd | grep pm | awk -F '/' '{print $NF}') perl-modules: /usr/share/perl/5.14.2/IPC/Cmd.pm perl-modules: /usr/share/perl/5.14.2/Net/Cmd.pm 

您可以使用cpan -D module查找有关模块的基本信息:

 cpan -D Net::Cmd Going to read '/home/braiam/.cpan/Metadata' Database was generated on Fri, 16 Aug 2013 21:53:02 GMT Net::Cmd ------------------------------------------------------------------------- For command based protocols (FTP, SMTP etc) S/SH/SHAY/libnet-1.23.tar.gz /usr/share/perl/5.14/Net/Cmd.pm Installed: 2.29 CPAN: 2.30 Not up to date Graham Barr (GBARR) gbarr@pobox.com 

然后解析模块路径,在我的情况下我很懒,你可以使用你喜欢的任何东西来做到这一点:

 cpan -D Net::Cmd | grep pm | awk -F '/' '{print $NF}' Cmd.pm 

然后使用命令替换:

 dpkg -S $(cpan -D Net::Cmd | grep pm | awk -F '/' '{print $NF}') perl-modules: /usr/share/perl/5.14.2/IPC/Cmd.pm perl-modules: /usr/share/perl/5.14.2/Net/Cmd.pm 

希望对你有用。 顺便说一句,这需要安装cpan(在大多数默认安装中)。