web-dev-qa-db-fra.com

Comment savoir quel paquet contient un module Perl

J'ai besoin d'installer un module CPAN sur mon ordinateur Ubuntu. Je veux l'installer à partir du paquet deb, donc je dois savoir quel paquet contient ce module.

Parfois, la solution à cette tâche est assez simple. Par exemple, si je dois installer File :: Find :: Rule je convertis simplement le nom en minuscule, changez :: en - et ajoutez lib à la début et -Perl jusqu'à la fin. Le résultat est le nom du package libfile-find-rule-Perl:

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

Mais dans d'autres cas, cela ne fonctionne pas. Je veux trouver le paquet deb qui contient Debian :: AptContents . Mais apt-cache search libdebian-aptcontents-Perl ne trouve rien.

Eh bien, dans le cas de Debian :: AptContents Je sais que cela se trouve dans le paquet dh-make-Perl, mais je veux savoir comment trouver le paquet deb qui contient le module dont j'ai besoin.

2
bessarabov

À partir d'une console whereis PACKAGE_OR_COMMON_FILE: il imprimera toute occurrence d'un fichier système.
Si vous avez aptitude, utilisez: aptitude search PACKAGE_NAME. S'il est présent, exécutez aptitude, trouvez-le avec l'option search et appuyez sur ENTER pour obtenir plus d'informations.
Si vous avez besoin d’informations sur le module, utilisez cpan -D module.

1
Lorenzo Ancora
1
Alexey Ten

Dans Ubuntu, il existe un utilitaire de recherche de paquets appelé apt-file. Vous pouvez lui passer le nom du fichier et il vous montrera le paquet contenant ce fichier. Il recherche non seulement les packages installés sur votre système, mais également les packages disponibles pour l'installation.

Pour trouver le paquet deb contenant Debian :: AptContents , vous devez exécuter:

$ apt-file search Debian/AptContents.pm
dh-make-Perl: /usr/share/Perl5/Debian/AptContents.pm
1
bessarabov