yum whatprovides'perl(Foo::Bar)'与apt或dpkg相当吗?

yum whatprovides'perl(Foo::Bar)'与apt或dpkg相当吗?

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

yum whatprovides 'perl(Foo::Bar)'

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

请考虑使用 10.04 或更新版本来回答这个问题。

答案1

如果您正在寻找类似的 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)
    [email protected]

然后解析模块路径,就我而言,我很懒,你可以使用任何你喜欢的方式来做到这一点:

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(大多数默认安装中都有)。

相关内容